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