Master both front-end and back-end development. Build complete web applications from database to user interface.
Recommended Experience
This path is designed for complete beginners. No programming background is required — you will learn everything from the ground up.
Before starting, you should be comfortable with:
- Comfort using a computer and web browser
- Basic understanding of what websites and apps are
- Willingness to practice regularly
Curriculum
53 lessons across 9 modules
Introduction to HTML
Understanding the structure of web pages
HTML Elements & Tags
Working with common HTML elements
Git & GitHub Fundamentals
Version control for your projects
Practice: Build a Profile Page
Create your first HTML page with Git
Forms & Input Elements
Building interactive forms
Challenge: Registration Form
Build a complete registration form
CSS Selectors
Targeting HTML elements with CSS
Box Model & Layout
Understanding spacing and dimensions
Flexbox Layout
Modern layout techniques
Practice: Style the Profile Page
Apply CSS to your HTML page
Project: Portfolio Landing Page
Build a styled portfolio page
Variables & Data Types
Storing and working with data
Functions & Scope
Organizing code with functions
Arrays & Objects
Working with collections of data
DOM Manipulation
Interacting with web pages
Challenge: Interactive Todo List
Build a functional todo app
ES6+ Syntax Essentials
Destructuring, spread, modules, and more
Async JavaScript
Promises, async/await, and error handling
Error Handling Patterns
Try/catch, custom errors, and debugging
Introduction to Testing
Unit testing fundamentals with Jest
Practice: Async Data Fetcher
Build a robust API client with error handling
Components & JSX
Building reusable UI pieces
Props & State
Managing component data
Event Handling
Responding to user interactions
Hooks: useState & useEffect
React hooks fundamentals
Project: Task Manager App
Build a complete React application
React Router Fundamentals
Client-side routing and navigation
Component Composition
Patterns for reusable components
State Management with useReducer
Complex state logic patterns
Context API & Global State
Sharing state across components
Data Fetching Patterns
Loading, caching, and error states
Project: Multi-Page Dashboard
Build a dashboard with routing and global state
Node.js Basics
Server-side JavaScript environment
Express.js Framework
Building web servers
REST API Design
Creating RESTful endpoints
Practice: Build a REST API
Create CRUD endpoints
Challenge: Authentication API
Implement user authentication
SQL Fundamentals
Query and manipulate data
Database Design
Schema design and relationships
PostgreSQL with Node.js
Connecting databases to servers
ORMs: Prisma & Drizzle
Type-safe database access
Database Migrations
Version control for schemas
Performance & Indexing
Query optimization basics
Practice: User Database
Build a user management system
Project: Full-Stack Blog
Complete full-stack application
Full-Stack Interview Overview
Understanding evaluation criteria for full-stack roles
System Design Fundamentals
Approaching architecture and scalability questions
Node.js Interview Questions
Event loop, async patterns, and Express/Fastify
React & Next.js Patterns
SSR, RSC, hooks, and state management
Database & SQL Questions
Queries, indexing, ORMs, and optimization
API Design and Tradeoffs
REST vs GraphQL and design decisions
Timed Full-Stack Challenges
Practice under interview conditions
Mock System Design Interview
Full interview simulation with evaluation