🔹 Month 1 – Foundations of Web Development
Week 1: Introduction & HTML
What is a web application?
Frontend vs Backend
Basic HTML5 structure and elements
Forms and inputs
Week 2: CSS & Layout
CSS syntax and selectors
Box model, display, positioning
Responsive design with Flexbox and Grid
Intro to media queries
Week 3: JavaScript Basics
Variables, data types, operators
Functions, conditionals, loops
Events and DOM manipulation
Form validation with JavaScript
Week 4: Git & GitHub + First Mini Project
Version control basics
Git commands (clone, commit, push, pull)
Branching and collaboration
Mini Project: Build a responsive personal portfolio site
🔹 Month 2 – Client-Server Development
Week 5: Advanced JavaScript & Intro to Frameworks
ES6 features (arrow functions, destructuring, etc.)
JavaScript Modules
Intro to React or Vue (choose one)
JSX, components, props, state (if React)
Week 6: Backend with Node.js
Node.js and npm basics
File system & modules
Express.js – setting up a server
Routing and middleware
Week 7: Working with Databases
Intro to MongoDB or PostgreSQL (choose one)
Connecting with Node.js
CRUD operations
RESTful API concepts
Week 8: Full-Stack Integration + Project 2
Connecting frontend to backend via API
Authentication basics (JWT or sessions)
Error handling and validation
Project: Simple To-Do App with Login & Database
🔹 Month 3 – Advanced Topics & Final Project
Week 9: Authentication & Deployment
User registration/login systems
Password hashing (bcrypt)
Hosting backend (Render, Railway, etc.)
Hosting frontend (Netlify, Vercel, etc.)
Week 10: Advanced Features
File uploads
Pagination and search
Using third-party APIs
WebSockets or Real-time features (intro to Socket.IO)
Week 11: Final Project Planning
Choose a full-stack project (e.g., Blog, E-commerce, Task Manager)
Database design and wireframes
Set up GitHub repo & Trello (or similar tools)
Week 12: Final Project Execution & Demo
Build and test final project
Peer code reviews
Deploy and present final project
Feedback and wrap-up