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
→