A complete, hands-on learning path for modern frontend web development. This course takes you from absolute beginner to proficient frontend developer through 20 weeks of structured lessons and real-world projects.
This comprehensive course covers:
- HTML & CSS: Structure and styling fundamentals
- JavaScript: Programming basics to advanced concepts
- React: Modern component-based applications
- Professional Skills: Git, deployment, collaboration
Duration: 20 weeks Projects: 10+ hands-on practice projects Format: Web-based documentation with code examples
frontend-academy/
βββ index.html # Main course dashboard
βββ docs/ # Documentation pages
β βββ assets/ # Shared CSS and JavaScript
β β βββ style.css # Documentation styling
β β βββ script.js # Interactive features
β βββ web-fundamentals.html
β βββ html-basics.html
β βββ semantic-html.html
β βββ html-forms.html
β βββ css-basics.html
β βββ box-model.html
β βββ flexbox.html
β βββ css-grid.html
β βββ responsive-design.html
β βββ scss-basics.html
β βββ javascript-basics.html
β βββ dom-manipulation.html
β βββ event-handling.html
β βββ async-javascript.html
β βββ react-introduction.html
β βββ react-components.html
β βββ react-hooks.html
β βββ ... (more lessons)
βββ projects/ # Practice projects
β βββ landing-page/
β βββ dark-mode/
β βββ burger-menu/
β βββ canvas-ball-game/
β βββ snake-game/
β βββ memory-game/
β βββ quiz-app/
β βββ react-tic-tac-toe/
β βββ react-movie-app/
β βββ react-mini-ecommerce/
βββ README.md # This file
-
Clone or download this repository:
git clone https://github.com/Gkhundadze/frontend-academy.git cd frontend-academy -
Open in browser:
- Simply open
index.htmlin your web browser - No server or build process required!
- Simply open
-
Start learning:
- Navigate through lessons using the sidebar
- Follow the course sequentially from Week 1
For the best experience, especially with projects that use ES6 modules:
# Using Python 3
python -m http.server 8000
# Using Node.js
npx http-server
# Using PHP
php -S localhost:8000Then open: http://localhost:8000
Learn the fundamentals of web structure and styling:
- Week 1: Web fundamentals, HTML basics, semantic HTML
- Week 2: Forms, inputs, validation
- Week 3: CSS fundamentals, selectors, box model, Flexbox
- Week 4: Responsive design, media queries, CSS Grid
- Week 5: SCSS basics, variables, nesting
Project: Responsive Landing Page
Master programming and interactivity:
- Week 6: Variables, operators, functions, conditionals
- Week 7: Objects, arrays, string methods, array methods
- Week 8: DOM manipulation, event handling
- Week 9: Canvas API, animation loops
- Week 10: Asynchronous JavaScript, fetch API, working with APIs
- Week 11: Mini games project collection
Projects: Dark Mode Toggle, Burger Menu, Snake Game, Memory Game, Quiz App
Build modern single-page applications:
- Week 12: React introduction, components, JSX
- Week 13: Props, state, event handling
- Week 14: Rendering lists, keys, conditional rendering
- Week 15: Forms, controlled components, useState
- Week 16: Tailwind CSS integration
- Week 17: Context API, avoiding props drilling
- Week 18: Final React project
Projects: Tic Tac Toe, Movie App (API), Mini E-commerce
Industry best practices:
- Week 19: Design thinking, working in teams, Git workflow
- Week 20: Deployment, project presentation, portfolio
Every topic includes:
- Clear explanations of concepts
- Multiple code examples
- Visual demonstrations
- Live demos (where applicable)
- Common mistakes to avoid
Each project includes:
- Complete, working code
- Detailed teaching comments
- Step-by-step explanations
- README with learning objectives
- Extension ideas for practice
- Modern documentation design
- Syntax-highlighted code blocks
- Responsive layout (works on mobile)
- Sidebar navigation
- Copy-to-clipboard for code
- Dark mode friendly (where implemented)
All project code includes extensive comments explaining:
- What the code does
- Why it works that way
- How to use it
- When to use similar patterns
- Common mistakes and how to avoid them
- Follow Sequentially: Start with Week 1 and progress in order
- Read Actively: Don't just read - type out the examples
- Complete Projects: Do every practice project
- Experiment: Modify examples to see what happens
- Build Your Own: After each section, create your own projects
- Use as Curriculum: Follow the 20-week structure
- Supplement Lessons: Add live coding demonstrations
- Assign Projects: Use practice projects as homework
- Extend Content: Add your own examples and projects
- Track Progress: Students can check off completed topics
- Quick Lookup: Use sidebar navigation to find topics
- Code Examples: Copy working code for your projects
- Best Practices: Review comments for coding standards
- Troubleshooting: See common mistakes sections
β Do:
- Write code by hand (don't just copy-paste)
- Take breaks every 25-30 minutes
- Explain concepts to someone else
- Build projects without looking at solutions first
- Use browser DevTools to inspect and debug
- Join coding communities for support
β Don't:
- Rush through topics to finish quickly
- Skip the practice projects
- Copy code without understanding it
- Learn multiple topics simultaneously
- Get discouraged by errors (they're part of learning!)
- Read error messages carefully - they often tell you exactly what's wrong
- Use console.log() - print values to understand code flow
- Use browser DevTools - inspect elements and debug JavaScript
- Search for solutions - use MDN, Stack Overflow, official docs
- Take a break - sometimes stepping away helps
- Ask for help - use forums, Discord, or study groups
- Computer: Windows, Mac, or Linux
- Browser: Modern browser (Chrome, Firefox, Safari, Edge)
- Text Editor: VS Code (recommended), Sublime Text, or any code editor
- No prior coding experience required!
- Live Server: Launch local development server
- Prettier: Code formatter
- ESLint: JavaScript linter
- Auto Rename Tag: Rename paired HTML tags
- Path Intellisense: Autocomplete file paths
- MDN Web Docs - Comprehensive web development reference
- W3Schools - Beginner-friendly tutorials
- React Documentation - Official React docs
- JavaScript.info - Modern JavaScript tutorial
- Frontend Mentor - Real-world projects
- Flexbox Froggy - Learn Flexbox through games
- Grid Garden - Learn CSS Grid through games
- JavaScript30 - 30 day vanilla JS challenge
- freeCodeCamp - Free courses and community
- Dev.to - Developer community and articles
- Stack Overflow - Q&A for developers
- Reddit r/learnprogramming - Learning community
This is an educational resource. If you'd like to contribute:
- Fix typos or errors
- Add more examples
- Create additional projects
- Improve documentation
- Translate to other languages
This course is provided for educational purposes. You are free to:
- Use it for personal learning
- Share it with others
- Modify it for teaching
- Build upon it for your own projects
This course combines best practices from:
- Official documentation (MDN, React, etc.)
- Industry standards
- Real-world development experience
- Educational pedagogy
- Student feedback
If you have questions or suggestions:
- Open an issue on GitHub
- Submit a pull request
- Reach out via email
Happy Coding! π
Remember: Every expert was once a beginner. Take your time, practice regularly, and don't be afraid to make mistakes. That's how we learn!
Made with β€οΈ for aspiring frontend developers