12-Week Full-Stack Web Developer
Learning Plan
Week 1 – HTML Basics
Learn structure of an HTML page
Master common tags (<h1>, <p>, <a>, <ul>, <img>, etc.)
Understand nesting and semantic HTML
Practice: Build a basic personal homepage
Week 2 – CSS Basics
Learn CSS syntax and selectors
Style text, colors, margins, paddings, borders
Layout with Flexbox
Practice: Style your homepage and clone a simple webpage
Week 3 – JavaScript Basics
Variables, functions, conditionals, loops
DOM Manipulation: getElementById, addEventListener
Simple animations
Practice: Add interactivity to your homepage
Week 4 – JavaScript Deep Dive
Arrays & objects
Events, scope, arrow functions
ES6 features: destructuring, spread/rest, template literals
Practice: Build a calculator or a counter
Week 5 – React Basics
Create a React app using Vite or CRA
JSX, components, props, state
Build a multi-component page
Practice: Build a React to-do list app
Week 6 – Git & CSS Framework
Learn Git basics: init, commit, push, pull, branches
Use GitHub to store projects
Learn Bootstrap or Tailwind CSS
Practice: Build a portfolio and push to GitHub
Week 7 – React Router + API Fetching
Routing with React Router
Fetching data using fetch() or axios
Handle loading & error states
Practice: Build a weather or recipe app using a public API
Week 8 – Final Front-End Project
Combine HTML, CSS, JS, React, and APIs
Project Ideas: Blog frontend, dashboard, movie search app
Week 9 – Node.js + Express.js
Set up a Node server
Build routes, handle requests/responses
Understand REST API structure
Practice: Create a basic API returning JSON data
Week 10 – MongoDB + CRUD Operations
Learn MongoDB (NoSQL), use Atlas or local install
Use Mongoose for modeling
Build CRUD APIs (Create, Read, Update, Delete)
Practice: Build a full-stack To-Do app
Week 11 – User Authentication
Learn how JWT works
Implement register/login in backend
Protect routes with authentication
Practice: Add login/signup to your app
Week 12 – Deployment & Final Project
Deploy frontend (Netlify/Vercel) and backend (Render/Railway)
Use environment variables
Final Project: Blog, social media clone, or mini e-commerce