MEAN Stack Tutorial

The MEAN Stack (MongoDB, Express.js, Angular, Node.js) is a complete JavaScript-based framework for building dynamic, scalable web applications. Before starting this course, you should have a strong understanding of HTML5, CSS3, and JavaScript (ES6+), including concepts like DOM manipulation, event handling, promises, and async/await.Familiarity with Angular fundamentals such as components, modules, and data binding will give you a strong advantage. You should also understand client-server architecture, REST APIs, and HTTP methods. Basic experience with Git & GitHub and command-line tools is highly recommended. To master MEAN Stack, follow a hands-on, project-based learning approach.

📂 Chapter 1: MEAN Stack Intro

1010 What is MEAN Stack? Architecture, Data Flow and Why It Works Beginner → 1020 Setting Up the Development Environment Beginner → 1030 How the Frontend and Backend Communicate Beginner → 1040 Project Structure — Monorepo Layout and Folder Conventions Beginner → 1050 Git Workflow and Version Control for Full-Stack Projects Beginner →

📂 Chapter 2: Node.js Core Concepts

2010 The V8 Engine, Node.js Runtime, and How JavaScript Executes on the Server Beginner → 2020 The Event Loop, Call Stack, and Non-Blocking I/O — Deep Dive Beginner → 2030 Core Modules — fs, path, os, and util Beginner → 2040 The events Module — EventEmitter Pattern in Node.js Beginner → 2050 The Node.js Module System — CommonJS vs ES Modules Beginner →

📂 Chapter 3: Node.js Intermediate

2510 Streams — Readable, Writable, Transform, and Piping Intermediate → 2520 Worker Threads and the cluster Module Intermediate → 2530 The net Module, TCP Servers, Buffers, and Binary Data Intermediate → 2540 Child Processes — exec, execFile, spawn, and fork Intermediate → 2550 Node.js in Production — Graceful Shutdown, PM2, and Process Hardening Intermediate →

📂 Chapter 4: Node.js Advanced

2610 Advanced Async Patterns — Combinators, Retry, Generators, and Mutexes Advanced → 2620 V8 Internals — Hidden Classes, Inline Caches, and GC Optimisation Advanced → 2630 Node.js Diagnostics — perf_hooks, diagnostics_channel, and Heap Snapshots Advanced → 2640 Custom Error Classes and Advanced Error Handling Advanced → 2650 CommonJS vs ES Modules — Module System Internals and Interop Advanced →

📂 Chapter 5: Node.js in Production

2710 Redis Caching — Cache-Aside, Invalidation, and Stampede Prevention Advanced → 2720 Rate Limiting and API Security — Sliding Window, Redis Lua, and Abuse Detection Advanced → 2730 Application Lifecycle — Health Probes, Startup Sequence, and Zero-Downtime Deployment Advanced → 2740 Job Queues with Bull — Background Workers, Retry, and Scheduled Jobs Advanced → 2750 Memory Leak Detection and Production Diagnostics Advanced → 2760 Sending Transactional Emails — Nodemailer, Handlebars Templates, and AWS SES Advanced →

📂 Chapter 6: Express.js Fundamentals

3010 Express.js Setup — App, Router, Request, and Response Objects Beginner → 3020 Routing — Static Routes, Dynamic Parameters, and Query Strings Beginner → 3030 Middleware — What It Is, How It Works, and Execution Order Intermediate → 3040 Serving Static Files and Template Engines Beginner → 3050 Error Handling — Custom Error Classes and Global Error Middleware Intermediate →

📂 Chapter 7: REST APIs with Express

4010 REST API Design — Conventions, Naming, Status Codes, and Versioning Intermediate → 4020 Input Validation and Sanitisation with express-validator Intermediate → 4030 File Uploads with Multer — Single, Multiple, Fields, and Storage Engines Intermediate → 4040 Pagination, Filtering, Sorting, and Full-Text Search Intermediate → 4050 API Documentation with Swagger/OpenAPI Intermediate →

📂 Chapter 8: MongoDB Fundamentals

5010 NoSQL vs SQL — Document Model, Collections, and When to Use MongoDB Beginner → 5020 CRUD Operations — insertOne, insertMany, find, updateOne, deleteOne Beginner → 5030 Query Operators — Comparison, Logical, Element, and Array Operators Intermediate → 5040 Projection, Sorting, Limiting, and Skipping Intermediate → 5050 The MongoDB Shell — mongosh Commands and the MongoDB Compass GUI Beginner →

📂 Chapter 8: Express Security and Middleware

6010 Security Headers with Helmet — CSP, HSTS, and XSS Protection Intermediate → 6020 CORS — Configuration, Preflight Requests, and Credentials Intermediate → 6030 Rate Limiting and Brute-Force Protection Intermediate → 6040 Cookie Handling — HttpOnly, SameSite, Secure, and Signed Cookies Intermediate → 6050 Request Logging with Morgan and Audit Trails Intermediate →

📂 Chapter 7: Express Advanced Patterns

7010 The Controller-Service-Repository Pattern Advanced → 7020 Dependency Injection in Express with awilix Advanced → 7030 WebSockets with Socket.io — Real-Time Bidirectional Communication Advanced → 7040 Background Jobs and Task Queues with Bull and Redis Advanced → 7050 Express Performance — Compression, Caching, and Connection Pooling Advanced →

📂 Chapter 8: MongoDB Intermediate

8010 Indexes — Single Field, Compound, Text, and Geospatial Intermediate → 8020 The Aggregation Pipeline — match, group, sort, project, and unwind Intermediate → 8030 Advanced Aggregation — $lookup, $facet, $bucket, and $graphLookup Advanced → 8040 Data Modelling — Embedding vs Referencing and Schema Design Patterns Intermediate → 8050 Transactions — Multi-Document ACID Transactions Advanced →

📂 Chapter 9: Mongoose ODM

9010 Schemas — Types, Validators, Defaults, Virtuals, and Getters/Setters Intermediate → 9020 Models — CRUD Methods, Static Methods, and Instance Methods Intermediate → 9030 Relationships — populate(), Nested Documents, and Array of References Intermediate → 9040 Mongoose Middleware — pre and post Hooks Advanced → 9050 Plugins, Discriminators, and Mongoose Best Practices Advanced →

📂 Chapter 13: MongoDB Advanced and Atlas

9510 Advanced Aggregation — $facet, $lookup, $bucket, and Text Search Scoring Advanced → 9520 MongoDB Transactions — ACID Guarantees and Multi-Document Atomicity Advanced → 9530 Change Streams — Real-Time Data Events and Resumable Subscriptions Advanced → 9540 MongoDB Atlas — Search, Fuzzy Matching, Autocomplete, and Atlas Operations Advanced → 9550 Read Preferences, Write Concerns, and MongoDB at Scale Advanced →

📂 Chapter 10: Angular Fundamentals

10010 Angular Architecture — Modules, Components, Templates, and the CLI Beginner → 10020 Data Binding — Interpolation, Property, Event, and Two-Way Binding Beginner → 10030 Built-in Directives — ngIf, ngFor, ngSwitch, ngClass, and ngStyle Beginner → 10040 Angular Pipes — Built-in Pipes, Async Pipe, and Pure vs Impure Beginner → 10050 Component Lifecycle Hooks — OnInit, OnChanges, OnDestroy, and the Full Sequence Intermediate →

📂 Chapter 48: Angular Components

11010 Smart vs Presentational Components Intermediate → 11020 @Input and @Output — Component Communication Intermediate → 11030 ViewChild, ContentChild, and Template References Intermediate → 11040 Content Projection with ng-content Intermediate → 11050 Dynamic Components with ViewContainerRef Advanced →

📂 Chapter 51: Angular Services and Dependency Injection

12010 Dependency Injection — Providers, Scope, and the inject() Function Intermediate → 12020 Angular Signals — signal(), computed(), effect(), and toSignal() Intermediate → 12030 Service-Based State Management with Signals Intermediate → 12040 HTTP Interceptors — Auth Headers, Token Refresh, and Error Handling Intermediate → 12050 Custom Decorators and Metadata in Angular Advanced →

📂 Chapter 13: RxJS and Angular HTTP

13010 Observables, Subjects, and the Observable Contract Intermediate → 13020 Core Operators — map, filter, tap, debounceTime, scan, catchError Intermediate → 13030 Combination Operators — combineLatest, forkJoin, merge, withLatestFrom Intermediate → 13040 Flattening Operators — switchMap, mergeMap, concatMap, exhaustMap Intermediate → 13050 Angular HttpClient — GET, POST, PATCH, DELETE, Progress, and Typed Responses Intermediate →

📂 Chapter 14: Angular Routing and Forms

14010 The Angular Router — Routes, RouterOutlet, and Navigation Intermediate → 14020 Route Guards, Resolvers, and Route Parameters Intermediate → 14030 Reactive Forms — FormControl, FormGroup, FormBuilder, and FormArray Intermediate → 14040 Form Validation — Built-in, Custom Synchronous, and Async Validators Intermediate → 14050 Advanced Routing — Lazy Loading, Preloading Strategies, and Route Animations Advanced →

📂 Chapter 15: Angular Advanced

15010 Change Detection — Default, OnPush, Signals, and Zoneless Advanced → 15020 Angular Performance — Bundle Optimisation, @defer, NgOptimizedImage, and Virtual Scrolling Advanced → 15030 Angular Animations — Triggers, Transitions, Keyframes, and Staggered Lists Advanced → 15040 Progressive Web Apps — Service Workers, Caching, and Push Notifications Advanced → 15050 Server-Side Rendering — Angular Universal, Hydration, and Static Prerendering Advanced →

📂 Chapter 16: Angular Advanced II

16010 Custom Directives — Attribute and Structural Directives Advanced → 16020 ControlValueAccessor — Custom Form Components Advanced → 16030 Angular Material and CDK — Forms, Dialogs, and Drag-and-Drop Advanced → 16040 Angular Internationalisation — i18n, Locale Pipes, and ngx-translate Advanced → 16050 Angular Testing — TestBed, Mocking Services, and Component Tests Advanced →

📂 Chapter 17: Authentication and Security

17010 JWT Authentication and bcrypt — Server-Side Auth Foundations Advanced → 17020 Angular Auth System — AuthStore, Auth Interceptor, and Guards Advanced → 17030 Role-Based Access Control — Permissions, RBAC Middleware, and Angular Directives Advanced → 17040 Express Security — Helmet, CORS, Rate Limiting, and Input Sanitisation Advanced → 17050 Password Security — Reset Flow, Email Verification, and Session Invalidation Advanced →

📂 Chapter 18: Full-Stack Integration Patterns

18010 Full-Stack Data Flow — API Contract, Response Envelopes, and State Machine Advanced → 18020 Real-Time with Socket.io — WebSockets, Rooms, and Angular NgZone Integration Advanced → 18030 File Uploads — Multer, Cloud Storage, and Angular Progress Tracking Advanced → 18040 Pagination, Filtering, and Sorting — Full-Stack Query Pattern Advanced → 18050 Optimistic Updates and Offline-First Patterns Advanced →

📂 Chapter 19: Testing

19010 Testing Strategy — The Testing Pyramid, Tools, and Test Isolation Advanced → 19020 Jest Unit Tests — Testing Services, Middleware, and Utilities Advanced → 19030 Supertest Integration Tests — API Routes, Auth Enforcement, and DB Assertions Advanced → 19040 Angular Component and Service Tests — TestBed, Spies, and HTTP Mocking Advanced → 19050 Cypress E2E Tests — User Journeys, Custom Commands, and Network Interception Advanced →

📂 Chapter 20: Docker

20010 Docker Fundamentals — Images, Containers, Layers, and the Express API Dockerfile Intermediate → 20020 Docker Compose — Multi-Container MEAN Stack with Networks and Healthchecks Intermediate → 20030 Production Docker — Angular nginx Build, Resource Limits, and Rolling Updates Advanced → 20040 Docker Volumes and Networking — Data Persistence and Service Isolation Advanced → 20050 Docker Development Workflow — Compose Monorepo, MongoDB Seeding, and Dev Containers Intermediate →

📂 Chapter 21: CI/CD

21010 GitHub Actions Fundamentals — Workflows, Jobs, Triggers, and Artefacts Advanced → 21020 CI Test Pipelines — Service Containers, Coverage, and Headless Chrome Advanced → 21030 Docker Image CI — Build, Tag, Push to GHCR, and Vulnerability Scanning Advanced → 21040 Deployment Pipelines — Staging, Production Approval, and Rollback Advanced → 21050 Advanced CI/CD — Branch Protection, Dependabot, Secrets Scoping, and Releases Advanced →

📂 Chapter 22: Performance and Monitoring

22010 Node.js Profiling — Flame Graphs, Heap Snapshots, and Load Testing Advanced → 22020 MongoDB Query Optimisation — Indexes, explain(), and Aggregation Performance Advanced → 22030 Structured Logging — Winston, Morgan, Correlation IDs, and AsyncLocalStorage Advanced → 22040 Prometheus and Grafana — Metrics Collection, Dashboards, and Alerting Advanced → 22050 Angular Performance Auditing — DevTools Profiler, trackBy, Pure Pipes, and Lighthouse CI Advanced →

📂 Chapter 23: Capstone — Task Manager App (Part 1)

23010 Capstone Overview — Project Architecture, Monorepo Setup, and Shared Types Advanced → 23020 Mongoose Schemas — Users, Tasks, Workspaces, Indexes, and Hooks Advanced → 23030 Express API Foundation — Routing, Zod Validation, Middleware Stack, and Error Handling Advanced → 23040 Angular Core — Routing, AuthStore, Interceptors, and Lazy-Loaded Features Advanced → 23050 Capstone Completion — OpenAPI Documentation, Seed Script, and Dev Workflow Advanced →

📂 Chapter 24: Capstone — Task Manager App (Part 2)

24010 Authentication System — Register, Login, Refresh Tokens, and Password Reset Advanced → 24020 Task CRUD API — Service Layer, Caching, Permissions, and Soft Delete Advanced → 24030 Angular Task List — TaskStore Signals, Real-Time Socket Integration, and URL Filters Advanced → 24040 Task Form, Dashboard, and Reactive Forms Patterns Advanced → 24050 File Uploads, Search, Socket.io Redis Adapter, and Final Production Integration Advanced →

📂 Chapter 25: Capstone — Task Manager App (Part 3)

25010 Workspace Management — Invitations, Roles, and Multi-Tenancy Advanced → 25020 Notification System — In-App, Email, Real-Time, and Due-Tomorrow Cron Advanced → 25030 Full-Stack Testing — Unit, Integration, and Cypress E2E for the Capstone Advanced → 25040 Performance Optimisation — Profiling, $facet Dashboard, and Angular Pipes Advanced → 25050 Production Deployment — Complete CI/CD Pipeline, Rolling Updates, and Monitoring Advanced →

📂 Chapter 26: Capstone — Task Manager App (Part 4)

26010 Workspace UI — WorkspaceStore, Member Management, and Slug Preview Advanced → 26020 Notification Centre — Bell Badge, Panel, Mark-All-Read, and Real-Time Delivery Advanced → 26030 Admin Panel — System Stats, User Management, Queue Monitoring, and Audit Log Advanced → 26040 Accessibility and i18n — ARIA Patterns, Keyboard Navigation, and Localisation Advanced → 26050 Course Retrospective — Concept-to-Capstone Map and What Comes Next Advanced →