A structured collection of JavaScript exercises designed for beginners and intermediate learners to build strong foundational and practical skills.
Each project focuses on a single concept, from DOM manipulation to state management and API integration.
The goal of this practicum is to:
- Reinforce core JavaScript concepts through hands-on implementation
- Encourage structured problem-solving and debugging
- Provide a progressive learning path from fundamentals to applied projects
The emphasis is on understanding and practice, not just completing tasks.
- Modern browser (Chrome/Edge/Firefox recommended)
- Code editor (VS Code preferred)
- Basic knowledge of HTML & CSS
- Git (optional, recommended)
Each project follows a consistent folder structure:
quests/
│
├── 01.counter/
│ ├── index.html
│ ├── style.css
│ ├── script.js
│ └── README.md
- index.html → UI structure
- style.css → Styling
- script.js → Implementation of logic
- README.md → Instructions and concepts
- Clone or download the repository:
git clone https://github.com/your-username/JavaScript-Projects.git
cd JavaScript-Projects
- Start with lower-numbered projects.
- Read the project README carefully.
- Implement logic in script.js.
- Open index.html in a browser and test your solution.
- Debug using DevTools and iterate until correct.
- Level 1 – Core JavaScript & DOM
- Variables, functions, loops, arrays
- Event listeners and DOM manipulation
- Example projects: Counter, To-Do List, Color Changer
- Level 2 – Practical Applications
- localStorage, fetch() & async/await
- Error handling and basic state management
- Example projects: Weather App, Notes App, Quiz App
- Level 3 – Mini Systems
- Structured state and UI logic
- Search, filter, and interactive components
- Example projects: E-commerce Cart, Kanban Board, Blog Interface
- Keep functions small and readable
- Avoid changing requirements to pass results
- Use DevTools to debug before seeking external solutions
- Attempt each project fully before consulting references
Reference implementations (if available) will be in a separate solutions/ folder. Best practice: attempt first, compare later.
Maintained by:
