← All courses

Training

Real-World Web Development

Real-World Web Development

PostgreSQL, Angular & Nest.js - 5 days

Hands-on training for practical skills in today’s tech landscape.

Welcome to the comprehensive 5-day training program on PostgreSQL, Angular, and Nest.js. This course is designed for beginners, providing a solid foundation in these powerful technologies, essential for modern web development. In today's fast-paced tech world, proficiency in databases, front-end frameworks, and back-end development is crucial.

With over 30 years of programming experience in the industry, I understand the importance of practical skills and real-world applications. This course will equip you with the necessary knowledge and hands-on experience to excel in your development projects.

Learning Outcomes

By the end of this course, participants will be able to:

  • Understand the fundamentals of PostgreSQL and perform basic database operations.
  • Set up and configure a remote headless Ubuntu server.
  • Utilize VS Code for remote development using the SSH plugin.
  • Develop dynamic web applications using Angular.
  • Create scalable and efficient back-end services with Nest.js.
  • Integrate Angular with Nest.js to build full-stack applications.
  • Apply best practices for database management, front-end development, and back-end development.

Prerequisites

To get the most out of this course, participants should have:

  • Basic knowledge of programming concepts.
  • Familiarity with HTML, CSS, and JavaScript.
  • A laptop with internet access.
  • A GitHub account (for repository access and version control).
  • Willingness to learn and explore new technologies.

Training Outline

  1. Introduction to PostgreSQL
    1. Overview of relational databases
      1. Importance of databases in web development
      2. PostgreSQL vs. other relational databases
    2. Installing PostgreSQL on a remote Ubuntu server
      1. Setting up a headless Ubuntu server
      2. Installing PostgreSQL via the terminal
      3. Configuring PostgreSQL for remote access
    3. Basic PostgreSQL operations
      1. Creating databases and tables
      2. Inserting, updating, and deleting records
      3. Querying data with SELECT statements
      4. Understanding and using SQL functions
    4. Advanced PostgreSQL features
      1. Indexing for performance improvement
      2. Transactions and concurrency control
      3. Backup and restore procedures
  2. Setting Up Remote Development Environment
    1. Introduction to remote development
      1. Benefits of remote development setups
      2. Overview of SSH and its uses
    2. Configuring a headless Ubuntu server for development
      1. Initial server setup and configuration
      2. Securing the server with firewalls and user permissions
    3. Using VS Code for remote development
      1. Installing and configuring the SSH plugin
      2. Connecting to the remote server via VS Code
      3. Managing files and directories remotely
  3. Introduction to Angular
    1. Overview of Angular
      1. Angular’s role in modern web development
      2. Comparison with other front-end frameworks (React, Vue)
    2. Setting up the development environment
      1. Installing Node.js and npm
      2. Installing Angular CLI
      3. Creating a new Angular project
    3. Understanding Angular architecture
      1. Modules, components, and services
      2. Angular’s component-based architecture
    4. Building your first Angular application
      1. Creating and managing components
      2. Data binding and event handling
      3. Using Angular directives and pipes
    5. Working with Angular forms
      1. Template-driven forms
      2. Reactive forms
      3. Form validation and error handling
    6. Consuming REST APIs with Angular
      1. Using HttpClientModule
      2. Making GET, POST, PUT, and DELETE requests
      3. Handling asynchronous operations with RxJS
  4. Introduction to Nest.js
    1. Overview of Nest.js
      1. Introduction to Node.js and Express.js
      2. Nest.js as a progressive Node.js framework
    2. Setting up the development environment
      1. Installing Nest CLI
      2. Creating a new Nest.js project
    3. Understanding Nest.js architecture
      1. Modules, controllers, and providers
      2. Dependency injection in Nest.js
    4. Building your first Nest.js application
      1. Creating and managing controllers
      2. Using services for business logic
      3. Handling HTTP requests and responses
    5. Connecting Nest.js with PostgreSQL
      1. Installing and configuring TypeORM
      2. Creating and managing entities
      3. Performing CRUD operations with a database
    6. Advanced Nest.js features
      1. Middleware, guards, and interceptors
      2. Implementing authentication and authorization
      3. Using WebSockets for real-time communication
  5. Integrating Angular and Nest.js
    1. Overview of full-stack development
      1. Benefits of using Angular with Nest.js
      2. Communication between front-end and back-end
    2. Building a full-stack application
      1. Setting up a common data model
      2. Creating RESTful endpoints in Nest.js
      3. Consuming APIs in Angular
    3. Real-world application development
      1. User authentication and authorization
      2. Handling file uploads and downloads
      3. Deploying the application to a production server
  6. Conclusion and Best Practices
    1. Recap of key concepts
      1. Summary of PostgreSQL, Angular, and Nest.js
      2. Real-life applications and use cases
    2. Best practices for development
      1. Writing clean and maintainable code
      2. Optimizing performance and scalability
      3. Ensuring security in web applications
    3. Final project and assessment
      1. Building a mini-project to demonstrate learned skills
      2. Peer reviews and feedback
      3. Next steps and further learning resources

Practical, connected learning

My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.