NestJS workshop
Workshop

NestJS Workshop: Building for Production

About the event

Dive into the world of NestJS with our comprehensive workshop, designed to equip you with cutting-edge skills for developing robust JS/TS server-side applications. Gain hands-on experience by working on a real-world project and learning the unique building blocks and conventions that set NestJS apart.

Why Join Our Workshop?

  • Engage in dynamic discussions and problem-solving sessions to tackle questions like application splitting, future-proof programming, and more.

  • Get the most up-to-date NestJS knowledge to build and scale your applications confidently.

  • Learn practically, enhancing your skills with hands-on project work.

  • Answer critical development questions, from database integration to service testing, to ensure comprehensive learning.

Join us to transform your NestJS skills and prepare yourself for modern application development demands.

Takeaways

  1. Foundational Knowledge

    Understand the core principles of NestJS to start deploying in production environments confidently.

  2. Advanced Concepts and Techniques

    Explore Domain-Driven Design, HTTP APIs, and event-based systems to design large-scale applications.

  3. Practical Application

    Implement what you've learned in a practical setting, focusing on real-world problem-solving and application design.

  4. Integration and Connectivity

    Learn to seamlessly connect your application with databases and third-party API, enhancing your data management capabilities.

  5. Microservices and Messaging

    Discover how to create event based applications using event emitter and RabbitMQ.

  6. Performance and Reliability

    Master caching, task scheduling, and error handling techniques to build efficient and reliable applications.

  7. Security and Compliance

    With Ory, implement robust authentication and authorization mechanisms to ensure the security of your application.

Agenda

Foundations & Design

Basics

  • Dependency Injection

  • NestFactory

  • Provider, Services

  • Module

  • ConfigurationModule

  • Request and Components Lifecycle

  • Request context

Design phase

  • Domain Driven Design

  • Requirements and flow

  • Software architecture

  • Events

  • Entities

  • Permissions

  • NestJS microservices

Core Implementation

Implementation phase - Business domains

  • Define entities and DTOs

  • Declare Domain events and interfaces

  • Create an Internal Event bus

  • Create Domain modules

  • Configure Database Connection (MongoDB)

  • External Event bus (RabbitMQ)

  • Register Bull queues and jobs

Implementation phase - Business logic

  • HTTP API

  • Authentication and Guards

  • Permissions and relationships

  • Authorization and Guards

  • Dynamic Module (third-party API integration)

  • Manual testing

Refinements, Testing & Advanced Techniques

Implementation phase - Refinements

  • Validate and sanitize request inputs

  • Cache response

  • Schedulers and (distributed) Mutex

  • Error handling

  • Email notifications

Testing

  • Write unit tests with Jest

  • Create setup for end-to-end tests

  • Write end-to-end tests with Jest

Advanced techniques

  • Clustering

  • File Upload

  • API Versioning

  • Feature Flags

Preview of the workshop

Slide 1 of 6

Your trainers for this workshop