Advanced Backend Development For Golden Team
Advanced Backend Development For Golden Team
Golden Team
Advanced Backend Development for GC Students
Target Audience: Students with basic programming knowledge.
Duration: Weeks 1–12 (January 1, 2025 – March 31, 2025, assuming a start date).
Goal: Equip students with the conceptual toolkit to reason about backend systems and
technologies.
Topics Covered:
Mini-Projects:
1. Event Loop Simulator: Build a tool to visualize event loop execution with callbacks,
Promises, and async/await.
2. Runtime Benchmark: Compare Node.js, Bun.js, and Deno.js performance for a file I/O
task with TypeScript.
3. TypeScript Utility Library: Create a small library with generic functions (e.g., type-safe
map/filter) and decorators.
Topics Covered:
● HTTP/HTTPS Protocols:
○ Request/response lifecycle, headers, methods (GET, POST, PUT, DELETE, etc.).
○ Status codes (1xx–5xx), statelessness, HTTP/2 vs HTTP/3 differences.
○ TLS/SSL: Handshake, certificates, encryption basics.
● Backend Building Blocks:
○ File System: Sync vs async operations, directory traversal, file watchers.
○ Streams: Readable, Writable, Transform streams, piping, backpressure handling.
○ Buffers: Binary data manipulation, encoding/decoding (UTF-8, Base64).
○ Process: Environment variables, signals, child processes, clustering for
scalability.
● Frameworks:
○ Express.js: Middleware stack, route handlers, error middleware, template
engines (e.g., EJS).
○ NestJS: MVC pattern, modules, providers, pipes, exception filters, lifecycle
hooks.
○ Hono.js: Middleware-first design, edge computing compatibility, minimalism.
○ tRPC: Client-server type safety, procedure definition, integration with frontend.
● Additional Concepts: REST principles (resources, idempotency), middleware design
patterns, dependency injection theory.
Mini-Projects:
1. Custom HTTP Server: Build a pure Node.js server handling multiple routes and parsing
query params.
2. Stream Processor: Create a tool to transform a large file (e.g., CSV to JSON) using
streams.
3. Framework Comparison: Implement a simple API (e.g., todo list) in Express.js, NestJS,
and Hono.js, analyzing trade-offs.
Topics Covered:
● Database Foundations:
○ SQL: Relational model, ACID properties, joins (inner, outer, self), subqueries.
○ NoSQL: CAP theorem, BASE properties, key-value vs document vs
column-family stores.
○ PostgreSQL: Views, triggers, stored procedures, JSONB support.
○ MongoDB: Schema flexibility, aggregation framework, sharding basics.
○ Redis: Data structures (strings, lists, sets, hashes), persistence (RDB vs AOF).
● Querying & Optimization:
○ Indexes: B-trees, hash indexes, composite indexes, trade-offs (space vs speed).
○ Transactions: Isolation levels (read uncommitted, serializable), deadlocks.
○ Query Plans: EXPLAIN/ANALYZE, cost-based optimization.
● Data Modeling:
○ Normalization (1NF–3NF), denormalization for performance.
○ Relationships: 1:1, 1:N, N:N, entity-relationship diagrams (ERDs).
○ Schema evolution: Migrations, versioning, backward compatibility.
● Caching Theory: Cache invalidation strategies, TTL, eviction policies (LRU, LFU).
Mini-Projects:
1. SQL Schema Design: Design an ERD and SQL schema for a library system (books,
users, loans).
2. NoSQL Schema: Model the same library system in MongoDB with embedded vs
referenced data.
3. Query Optimizer: Write and optimize complex SQL queries (e.g., top borrowers) with
indexing.
Part 1 Outcome:
Goal: Develop hands-on skills to implement scalable, secure, and feature-rich backend
solutions.
Topics Covered:
Mini-Projects:
1. Secure Auth API: Build a login system with JWT, OAuth (Google), and RBAC
enforcement.
2. E-commerce GraphQL API: Implement product listings and cart with pagination and
rate limiting.
3. File Upload Service: Create an API to upload files to S3 with background job for
metadata extraction.
4. Real-Time Notifications: Develop a WebSocket-based notification system with SSE
fallback.
5. Payment Gateway: Integrate Stripe for one-time payments and recurring subscriptions.
Topics Covered:
● Microservices Architecture:
○ Principles: Domain-driven design, bounded contexts, single responsibility.
○ API Gateway: Routing, authentication offloading, load balancing (e.g., Nginx,
Kong).
○ Service Discovery: Dynamic registration (Consul), health checks.
○ Messaging: RabbitMQ (direct, topic, fanout exchanges), Kafka (partitions,
consumer groups).
● Event-Driven Systems:
○ Event Sourcing: Event logs, state reconstruction, idempotency.
○ CQRS: Command-query separation, eventual consistency, trade-offs.
● Deployment & Scaling:
○ Docker: Dockerfile best practices, multi-stage builds, Compose for local dev.
○ Kubernetes: Pods, deployments, services, ingress, horizontal pod autoscaling.
○ CI/CD: GitHub Actions (lint, test, deploy), multi-environment pipelines (dev,
staging, prod).
● Performance & Security:
○ Load Testing: Tools (k6, Locust), interpreting results.
○ Security: OWASP Top 10, secure headers (CSP, HSTS), rate limiting DOS
prevention.
Mini-Projects:
1. Microservices App: Split an e-commerce app into Cart, Orders, and Payment services
with an API Gateway.
2. Event-Driven Workflow: Use RabbitMQ to process order events (e.g., payment
confirmed → ship).
3. Containerized Deployment: Dockerize and deploy a microservice to Kubernetes with
health probes.
4. CI/CD Pipeline: Automate deployment of an API to DigitalOcean/AWS using GitHub
Actions.
Topics Covered:
● Advanced Optimization:
○ Caching: Redis clustering, cache warming, invalidation strategies.
○ Query Tuning: Index optimization, connection pooling, query batching.
○ Load Balancing: Algorithms (round-robin, least connections), session affinity.
● Monitoring & Maintenance:
○ Logging: Structured logging (Winston, Pino), log aggregation (ELK stack).
○ Metrics: Prometheus (counters, gauges), Grafana dashboards.
○ Alerts: Uptime monitoring, error thresholds.
● Final Polish: Code reviews, documentation (OpenAPI/Swagger), testing (unit,
integration, e2e).
Final Tasks:
1. Design & Implement: Build a real-world system (e.g., social media API, e-learning
platform).
2. Optimize: Reduce latency, improve throughput, secure endpoints.
3. Deploy: Launch on a cloud provider with CI/CD, monitoring, and logging.
Final Project:
Part 2 Outcome: