← All courses

Training

Full Stack Web Development

Full Stack Web Development

with Angular, Node.js, and PostgreSQL - 3 days

Welcome to the "Full Stack Web Development with Angular, Node.js, and PostgreSQL" course! In today's fast-paced tech world, having the ability to build, deploy, and manage full stack applications is a highly sought-after skill. This course is designed specifically for developers with programming experience who are new to the JavaScript ecosystem. Over the course of three intensive days, you will learn how to harness the power of Angular, Node.js, and PostgreSQL to create robust, scalable web applications.

What sets this course apart is its practical, hands-on approach. Unlike traditional academic courses that focus heavily on theory, our curriculum is tailored to meet industry demands. With over 30 years of industry experience, our instructor will guide you through real-world scenarios, using tools and practices that are essential in modern development environments. You'll be working on headless Ubuntu servers connected via the VSCode SSH plugin, giving you the experience of setting up and managing a real production-like environment.

By the end of this course, you'll not only understand how to build full stack applications but also how to deploy and manage them in a professional setting.

Learning Outcomes:

  • Master the installation and configuration of Angular, Node.js, and PostgreSQL on headless Ubuntu servers.
  • Develop a strong understanding of the JavaScript ecosystem, including both frontend and backend development.
  • Build a fully functional full stack web application from scratch.
  • Implement best practices for backend API development using Node.js and Express.
  • Design and manage PostgreSQL databases for scalable applications.
  • Deploy and manage applications in a real-world environment using industry-standard practices.

Prerequisites:

  • Basic understanding of programming concepts and logic (experience in languages like Python, Java, or C# is beneficial).
  • Familiarity with command-line interfaces and basic Linux commands.
  • Basic understanding of web technologies like HTML and CSS.
  • No prior experience with JavaScript, Angular, Node.js, or PostgreSQL is required.

Detailed Course Outline:

1. Setting Up the Development Environment

  • Introduction to Full Stack Development and Course Overview
  • Overview of the Tools: VSCode, SSH, and Headless Ubuntu Servers
  • Installing and Configuring Ubuntu on Headless Servers
    • Setting up Ubuntu Server on a Virtual Machine/Cloud Provider
    • Basic Ubuntu Server Management
    • Remote Development with VSCode SSH Plugin
  • Installing Node.js and npm on Ubuntu
    • Node.js Versions and Package Management
    • Global vs. Local Packages
  • Installing PostgreSQL
    • Configuring PostgreSQL on Ubuntu
    • Introduction to PostgreSQL and Relational Databases
    • Basic Database Operations (CRUD) in PostgreSQL
  • Setting Up Angular Development Environment
    • Installing Angular CLI
    • Configuring Angular Workspace

2. Building the Backend with Node.js and Express

  • Introduction to JavaScript and Node.js
    • Key Concepts: Variables, Functions, and Asynchronous Programming
    • Overview of Node.js Architecture and Modules
  • Creating a Basic Express Application
    • Setting Up Express with Node.js
    • Middleware and Routing in Express
    • Handling HTTP Requests and Responses
  • Connecting Node.js with PostgreSQL
    • Using pg Module for PostgreSQL Integration
    • Creating and Managing Database Schemas with PostgreSQL
    • Querying the Database: Building Models and Data Access Layers
  • Implementing RESTful APIs with Express
    • Designing RESTful Endpoints
    • Implementing CRUD Operations
    • Error Handling and Validation

3. Developing the Frontend with Angular

  • Introduction to Angular Framework
    • Angular Architecture: Components, Modules, and Services
    • TypeScript Basics for Angular
  • Creating Angular Components and Templates
    • Building and Styling User Interfaces with Angular
    • Data Binding and Directives
    • Handling User Input and Forms in Angular
  • Angular Services and Dependency Injection
    • Creating and Using Angular Services
    • HTTP Client Module: Communicating with the Backend API
    • Observables and Reactive Programming in Angular
  • State Management in Angular
    • Introduction to RxJS and State Management
    • Managing Application State in Angular

4. Integrating Frontend and Backend

  • Connecting Angular Frontend to Node.js Backend
    • Fetching Data from the API in Angular
    • Displaying Data in Angular Components
    • Handling User Authentication and Authorization
  • Implementing Real-time Features with WebSockets
    • Introduction to WebSockets in Node.js
    • Real-time Communication between Angular and Node.js

By the end of this course, you will have built a complete full stack web application and deployed it on a production environment. The skills you acquire will not only enhance your resume but also prepare you to tackle real-world projects with confidence. This course is designed to be highly practical, with a focus on the tools and techniques that are most relevant to today’s job market. Get ready to dive deep into full stack development and emerge with the ability to build and manage powerful web applications!

Practical, connected learning

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