TechCrush Backend Development Bootcamp Curriculum
Bootcamp Overview and Parameters
Program Title: TechCrush Backend development Bootcamp Curriculum
Total Duration: 8 weeks
Session Frequency: 2 sessions per week
Session Duration: 2 hours per session
Total Course Length: 16 sessions (32 total instructional hours)
Week 1: Introduction to Node.js
Session 1: Course Overview and Environment Setup
Course Overview and Objectives
Introduction to Server-Side JavaScript
Setting Up the Development Environment (Node.js and npm)
Introduction to Node.js: History and Use Cases
Session 2: Node.js Fundamentals and HTTP Server Creation
Basic Node.js Syntax and REPL
Understanding Modules and
require()Creating a Simple HTTP Server
Week 2: Core Modules and File System
Session 3: Native Utility Modules and File I/O
Exploring Core Modules (
path,url,querystring)Working with the File System (
fsmodule)Reading and Writing Files
Session 4: Asynchronous Operations and File Manipulation
Handling File Operations Asynchronously
Practical Examples and Exercises
Week 3: Event-Driven Programming
Session 5: Principles of Event-Driven Architecture
Understanding Event-Driven Architecture
Working with Event Emitters
Creating Custom Events
Session 6: Implementation of the Events Module
Using the
eventsModulePractical Examples and Exercises
Week 4: Working with npm and Package Management
Session 7: Dependency Management and Package Architecture
Introduction to npm
Installing and Managing Packages
Understanding
package.json
Session 8: Module Publishing and Distribution
Creating and Publishing Your Own Packages
Practical Exercises and Projects
Week 5: Building Web Servers with Express.js
Session 9: Express.js Foundations
Introduction to Express.js
Setting Up an Express Server
Middleware and Routing Basics
Session 10: HTTP Handling and Static Asset Serving
Handling HTTP Methods and Status Codes
Serving Static Files
Practical Examples and Exercises
Week 6: Templating Engines and Dynamic Content
Session 11: Server-Side Rendering Tools
Introduction to Templating Engines (EJS, Handlebars, Pug)
Setting Up and Using Templating Engines with Express
Session 12: Dynamic Content Integration
Creating Dynamic Content
Practical Exercises and Projects
Week 7: Building a RESTful API
Session 13: API Design and Architecture
Introduction to RESTful APIs
Setting Up the API Structure with Express
Handling HTTP Requests and Responses
Session 14: Advanced API Operations and Security
CRUD Operations in the API
Error Handling and Validation
Authentication and Authorization
Week 8: Final Project and Review
Session 15: Guided Project Development
Developing a Dynamic Application with a RESTful API
Project Implementation and Guidance
Session 16: Synthesis and Presentations
Project Presentation
Course Recap and Q&A
Bootcamp Overview and Parameters
Program Title: TechCrush Backend Development Bootcamp Curriculum
Total Duration: 8 weeks (2 sessions per week, 2 hours per session)
Total Course Length: 16 sessions (32 total instructional hours)
Week 1: Introduction to Node.js
Session 1: Course Overview and Environment Setup
Course Overview and Objectives: Focuses on building scalable server-side systems that power web and mobile applications.
Introduction to Server-Side JavaScript: Running JavaScript on the server via Google Chrome's V8 engine, enabling full-stack JavaScript development for unified mobile app API development.
Setting Up the Development Environment: Installing Node.js runtime and
npm(Node Package Manager) to manage external packages and backend dependencies.Node.js History and Use Cases: Created by Ryan Dahl in 2009; ideal for non-blocking, I/O-intensive operations such as real-time mobile app backends, chat applications, and push notification services.
Session 2: Node.js Fundamentals and HTTP Server Creation
Basic Node.js Syntax and REPL: Read-Eval-Print Loop terminal environment for interactively testing JavaScript code snippets.
Understanding Modules and
require(): Using CommonJS modular design (module.exportsandrequire()) to structure backend code cleanly.Creating a Simple HTTP Server: Utilizing the native
httpmodule to create a server listening on a specific port for incoming mobile app client HTTP requests.
Week 2: Core Modules and File System
Session 3: Native Utility Modules and File I/O
Core Utility Modules:
path: Safely joining and resolving file system paths across operating systems.url: Parsing URL strings and query parameters sent from mobile clients.querystring: Encoding and decoding URL query parameters.Working with the File System (
fsmodule): Performing read, write, update, and delete operations on server files (e.g., saving user uploads or reading configuration files).
Session 4: Asynchronous Operations and File Manipulation
Handling File Operations Asynchronously: Using callbacks, Promises, and
async/awaitto perform file operations without blocking the event loop, ensuring high concurrency for multiple mobile clients.
Week 3: Event-Driven Programming
Session 5: Principles of Event-Driven Architecture
Event-Driven Architecture: Design pattern where application flow is determined by events (e.g., HTTP requests, database events).
Working with Event Emitters: Objects that emit named events that execute registered listener callback functions.
Creating Custom Events: Designing application-specific event flows, such as triggering background email processing when a mobile user registers.
Session 6: Implementation of the Events Module
Using the
eventsModule: InstantiatingEventEmitter, attaching listeners with.on(), and triggering events with.emit().
Week 4: Working with npm and Package Management
Session 7: Dependency Management and Package Architecture
Introduction to npm: The standard package manager for Node.js to install third-party libraries.
Installing and Managing Packages: Distinguishing between production dependencies, development dependencies (
--save-dev), and global tools (-g).Understanding
package.json: Manifest file tracking project metadata, scripts, and package versioning (package-lock.jsonensures deterministic installs).
Session 8: Module Publishing and Distribution
Creating and Publishing Packages: Building reusable Node modules and publishing them to npm registries to share code across mobile backend development teams.
Week 5: Building Web Servers with Express.js
Session 9: Express.js Foundations
Introduction to Express.js: Minimalist and flexible Node.js web application framework that simplifies routing and HTTP handling.
Setting Up an Express Server: Instantiating Express and binding it to a port.
Middleware and Routing Basics:
Routing maps HTTP methods and URLs to specific controller handlers.
Middleware functions execute during the request-response cycle for authentication, logging, and body parsing.
Session 10: HTTP Handling and Static Asset Serving
Handling HTTP Methods and Status Codes: Utilizing REST methods (
GET,POST,PUT,DELETE,PATCH) and standard status codes (200 OK,201 Created,400 Bad Request,401 Unauthorized,404 Not Found,500 Internal Server Error).Serving Static Files: Using
express.static()to serve media assets, images, or configuration files consumed by mobile frontends.
Week 6: Templating Engines and Dynamic Content
Session 11: Server-Side Rendering Tools
Introduction to Templating Engines: EJS, Handlebars, and Pug render dynamic HTML on the server, useful for mobile web views or admin portals.
Setting Up and Using Templating Engines: Integrating engines with Express using
app.set('view engine', ...).
Session 12: Dynamic Content Integration
Creating Dynamic Content: Injecting backend data dynamically into views before serving them to clients.
Week 7: Building a RESTful API
Session 13: API Design and Architecture
-