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