Course
Modern Frontend Web Development
A twenty-week path into modern frontend development, from how the web works through HTML, CSS, JavaScript, React, and Next.js. Follow structured lessons and a weekly project, then finish with a deployed capstone.
Start first lessonLearning objectives
- Understand how the web works and set up a development environment
- Build structured, accessible pages with HTML
- Style layouts that work on phones, tablets, and desktops
- Write JavaScript that handles data, the DOM, and APIs
- Build applications with React, Next.js, and modern CSS tools
- Prepare, test, and deploy a complete frontend project
Curriculum
2 of 100 lessons are open. The rest stay locked until they are published.
Week 1 — Web Development Foundations
Understand how the web works and set up your development environment.
- 1. How the Web Works: Browsers, HTTP, DNS, Domains, and Hosting4 min
- 2. Frontend vs. Backend: Understanding How Web Applications Work
- 3. Installing and Using VS Code and Browser Developer ToolsLocked
- 4. Creating Your First HTML Page and Inspecting It with DevToolsLocked
- 5. Git and GitHub Fundamentals for BeginnersLocked
- Weekly project. Build a personal introduction webpage and publish its source code on GitHub.Locked
Week 2 — HTML and Page Structure
Build meaningful, well-structured web pages using HTML.
- 6. HTML Document Structure, Elements, Tags, and AttributesLocked
- 7. Headings, Paragraphs, Links, Images, and ListsLocked
- 8. Semantic HTML and Accessible Page StructureLocked
- 9. HTML Forms, Input Types, Labels, and ValidationLocked
- 10. Building a Complete Registration Website with HTMLLocked
- Weekly project. Build a registration website with multiple sections and a functional HTML form.Locked
Week 3 — CSS Fundamentals
Style HTML pages and understand the CSS box model.
- 11. Introduction to CSS, Selectors, and CSS RulesLocked
- 12. Colors, Backgrounds, Typography, and Web FontsLocked
- 13. The CSS Box Model, Margins, Padding, and BordersLocked
- 14. CSS Units, Specificity, Inheritance, and the CascadeLocked
- 15. Styling Your Registration Website with CSSLocked
- Weekly project. Transform the HTML registration website into a polished, styled page.Locked
Week 4 — Layouts and Responsive Design
Create layouts that adapt to phones, tablets, and desktops.
- 16. CSS Display, Positioning, and the Flow of a PageLocked
- 17. CSS Flexbox for Modern Web LayoutsLocked
- 18. CSS Grid for Two-Dimensional LayoutsLocked
- 19. Responsive Design, Media Queries, and Mobile-First DevelopmentLocked
- 20. Building a Responsive Landing Page from ScratchLocked
- Weekly project. Build a responsive landing page with a navigation bar, hero section, feature cards, and footer.Locked
Week 5 — Intermediate CSS and Website Design
Improve visual quality, maintainability, and interface consistency.
- 21. CSS Variables and Reusable Design TokensLocked
- 22. Pseudo-Classes, Pseudo-Elements, and Advanced SelectorsLocked
- 23. CSS Transitions, Transforms, and AnimationsLocked
- 24. Reusable Components, UI Consistency, and Common Design PatternsLocked
- 25. Building and Deploying a Complete Business WebsiteLocked
- Weekly project. Build a complete business website and deploy it.Locked
Week 6 — JavaScript Fundamentals
Understand programming logic and write your first interactive programs.
- 26. Introduction to JavaScript and Running Your First ScriptLocked
- 27. Variables, Data Types, and OperatorsLocked
- 28. Conditional Statements and Boolean LogicLocked
- 29. Loops, Iteration, and Repetitive TasksLocked
- 30. Building a Grade Calculator and Number Guessing GameLocked
- Weekly project. Build a grade calculator and number guessing game.Locked
Week 7 — JavaScript Functions and Data Structures
Organize code and work with collections of data.
- 31. Functions, Parameters, Return Values, and ScopeLocked
- 32. Arrays and Essential Array MethodsLocked
- 33. Objects, Properties, and Nested DataLocked
- 34. Modern JavaScript: Arrow Functions, Destructuring, and Template LiteralsLocked
- 35. Building an Expense Tracker with JavaScriptLocked
- Weekly project. Build an expense tracker that organizes and summarizes expenses.Locked
Week 8 — DOM Manipulation and Browser Storage
Make web pages interactive using JavaScript and browser APIs.
- 36. Understanding the DOM and Selecting HTML ElementsLocked
- 37. Changing Content, Styles, and Elements with JavaScriptLocked
- 38. Events, Event Listeners, and Interactive InterfacesLocked
- 39. Form Handling, Validation, and Local StorageLocked
- 40. Building a Task Manager with Persistent TasksLocked
- Weekly project. Build a task manager that saves tasks between browser sessions.Locked
Week 9 — HTTP, JSON, and Working with APIs
Retrieve external data and display it in a web application.
- 41. HTTP Requests, Responses, Status Codes, and JSONLocked
- 42. Understanding REST APIs, Endpoints, and Request MethodsLocked
- 43. Fetching Data with the JavaScript Fetch APILocked
- 44. Async/Await, Promises, and Handling API ErrorsLocked
- 45. Building a Data Explorer with a Public APILocked
- Weekly project. Build an application that retrieves and displays records from a public API.Locked
Week 10 — API-Driven Applications
Combine API data, search, filtering, and user interactions.
- 46. GET, POST, PUT, PATCH, and DELETE in PracticeLocked
- 47. Searching, Filtering, Sorting, and Paginating API DataLocked
- 48. Loading States, Empty Results, and Error HandlingLocked
- 49. Working with Mock APIs and Simulated CRUD OperationsLocked
- 50. Building a Product Explorer with Search and FiltersLocked
- Weekly project. Build a product explorer using public or mock API data.Locked
Week 11 — Bootstrap CSS Framework
Build responsive interfaces faster with a component-based CSS framework.
- 51. Introduction to Bootstrap and Setting Up a ProjectLocked
- 52. Bootstrap Containers, Breakpoints, and the Grid SystemLocked
- 53. Bootstrap Typography, Utilities, Spacing, and ColorsLocked
- 54. Bootstrap Components: Navigation, Cards, Buttons, and FormsLocked
- 55. Building an Admin Dashboard with BootstrapLocked
- Weekly project. Build a responsive administrative dashboard using Bootstrap.Locked
Week 12 — Tailwind CSS
Build modern interfaces using utility-first CSS.
- 56. Introduction to Tailwind CSS and Project SetupLocked
- 57. Utility Classes, Spacing, Typography, and ColorsLocked
- 58. Responsive Design, Breakpoints, and State VariantsLocked
- 59. Reusable UI Patterns and Consistent Styling with TailwindLocked
- 60. Rebuilding the Admin Dashboard with Tailwind CSSLocked
- Weekly project. Rebuild the dashboard using Tailwind CSS and compare the two approaches.Locked
Week 13 — React Fundamentals
Start building component-based applications with React.
- 61. What React Is, Why It Matters, and Setting Up a ProjectLocked
- 62. JSX, Components, and Rendering Your First InterfaceLocked
- 63. Props, Reusable Components, and Component CompositionLocked
- 64. Rendering Lists, Using Keys, and Conditional RenderingLocked
- 65. Building a Landing Page and Student Directory with ReactLocked
- Weekly project. Build a React landing page and student directory.Locked
Week 14 — React State and Forms
Build interfaces that respond to user input and changing data.
- 66. Understanding React State and the useState HookLocked
- 67. Handling Events and Updating the InterfaceLocked
- 68. Controlled Inputs and React FormsLocked
- 69. Updating Arrays and Objects in StateLocked
- 70. Building a Student Management Application with ReactLocked
- Weekly project. Build a student manager with forms, search, and record management.Locked
Week 15 — React Hooks, APIs, and Routing
Connect React applications to external data and create multiple views.
- 71. Understanding useEffect and Component Side EffectsLocked
- 72. Fetching API Data in React ApplicationsLocked
- 73. Managing Loading, Error, and Empty States in ReactLocked
- 74. Client-Side Routing and Navigation in ReactLocked
- 75. Building a Multi-View API Explorer with ReactLocked
- Weekly project. Build a multi-view API explorer with navigation and dynamic data.Locked
Week 16 — React Architecture and Testing
Improve code organization, reliability, and maintainability.
- 76. Organizing React Projects, Components, and FilesLocked
- 77. Reusable Hooks, Shared Logic, and Component DesignLocked
- 78. Understanding Frontend Testing and Writing Your First TestsLocked
- 79. Testing Components, User Interactions, and Common WorkflowsLocked
- 80. Building an E-Commerce Frontend with ReactLocked
- Weekly project. Build an e-commerce frontend with product listings, reusable components, and tested interactions.Locked
Week 17 — Next.js and the App Router
Understand Next.js and build multi-page React applications.
- 81. React vs. Next.js and Setting Up a Next.js ProjectLocked
- 82. The App Router, Pages, Layouts, and Nested RoutesLocked
- 83. Dynamic Routes, Link Components, and NavigationLocked
- 84. Server Components, Client Components, and the use Client DirectiveLocked
- 85. Loading UI, Not Found Pages, and Page MetadataLocked
- Weekly project. Build a multi-page website using Next.js.Locked
Week 18 — Next.js Data Fetching and Application Features
Build data-driven Next.js applications with real-world interface patterns.
- 86. Fetching Data in Server and Client ComponentsLocked
- 87. Building Data Lists and Dynamic Detail PagesLocked
- 88. Handling Loading, Error, Empty, and Not Found StatesLocked
- 89. Search Parameters, Filtering, and Client-Side InteractionsLocked
- 90. Forms, State, Caching, and Safe Configuration in Next.jsLocked
- Weekly project. Build a content or commerce application using public or mock API data.Locked
Week 19 — Production Readiness and Deployment
Prepare a frontend application for real users.
- 91. Organizing Components, Utilities, and Data ModulesLocked
- 92. Responsive Design, Accessibility, and Functional TestingLocked
- 93. Metadata, Image Optimization, and Performance AuditsLocked
- 94. Environment Variables, Configuration, and Frontend Security AwarenessLocked
- 95. Production Builds, Vercel Deployment, and DebuggingLocked
- Weekly project. Deploy a production-ready Next.js application with a README and setup instructions.Locked
Week 20 — Final Capstone Project
Demonstrate your skills by designing, building, testing, and deploying a complete frontend application.
- 96. Defining Your Capstone Project Scope and Selecting a ProblemLocked
- 97. Planning Routes, Components, Data, and the User InterfaceLocked
- 98. Testing Your Application and Fixing DefectsLocked
- 99. Writing Your README and Preparing Your GitHub RepositoryLocked
- 100. Presenting and Demonstrating Your Final ProjectLocked
Expected outcomes
- You can explain how a page reaches the browser and how frontend and backend fit together
- You can build and style responsive, accessible websites
- You can create interactive applications with JavaScript, React, and Next.js
- You can ship a documented, production-ready project