Web Dev Curriculum
Web Dev Curriculum
Introduction
This document outlines a project-based learning curriculum designed to complement
the "Web Application Development: Zero to Expert Roadmap." The best way to master
web development is by building real-world applications. Each project is carefully
selected to reinforce the concepts learned in the corresponding phases of the roadmap,
providing hands-on experience and a tangible portfolio of your skills.
Remember to start simple, get the core functionality working, and then iterate and add
more features. Don't be afraid to consult documentation, search for solutions, and
experiment. This iterative process is how real-world development happens.
• Objective: Build a dynamic To-Do List application that allows users to add, mark as
complete, and delete tasks. This project will heavily utilize DOM manipulation and
event handling with vanilla JavaScript.
• Key Technologies: HTML5, CSS3, JavaScript (vanilla).
• Core Features:
◦ Input field to add new tasks.
◦ Display list of tasks.
◦ Ability to mark tasks as complete (e.g., strike-through text).
◦ Ability to delete tasks.
◦ Persist tasks in local storage so they remain even after closing the browser.
• Bonus Features (Optional):
◦ Filter tasks (all, active, completed).
◦ Edit existing tasks.
◦ Drag and drop to reorder tasks.
◦ Animations for adding/deleting tasks.
• Objective: Develop a web application that allows users to search for recipes using
an external API. This project will focus on React components, state management,
and API integration.
• Key Technologies: React, HTML, CSS, External Recipe API (e.g., Spoonacular,
TheMealDB).
• Core Features:
◦ Search bar to input recipe queries.
◦ Display a list of recipes with images and titles.
◦ Clicking on a recipe shows detailed information (ingredients, instructions).
◦ Error handling for API requests.
• Bonus Features (Optional):
◦ Add recipes to a
favorites list (using local storage or React Context API). * Filtering recipes by dietary
restrictions or cuisine type. * Pagination for search results.
• Objective: Build a basic blog platform where users can view blog posts. This
project will focus on Vue.js components, routing, and potentially a mock API or
local JSON data.
• Key Technologies: Vue.js, HTML, CSS, Vue Router.
• Core Features:
◦ List of blog posts on the homepage.
◦ Individual post pages with full content.
◦ Navigation between pages.
◦ Display post title, author, and content.
• Bonus Features (Optional):
◦ Add a simple markdown editor for creating new posts (frontend only).
◦ Implement basic search functionality for posts.
◦ Add comments section (frontend only, no persistence).
• Objective: Create a detailed product display page for an e-commerce site. This
project will emphasize Angular components, data binding, and services.
• Key Technologies: Angular, TypeScript, HTML, CSS.
• Core Features:
◦ Display product image, name, description, price.
◦ Quantity selector.
◦ "Add to Cart" button (can be non-functional or just log to console).
◦ Display related products.
• Bonus Features (Optional):
◦ Image gallery for the product.
◦ Product reviews section.
◦ Basic routing to other product pages.
Phase 3 Projects: Backend Development with Python
These projects will focus on building robust backends using Python frameworks and
interacting with databases.
• Objective: Build a RESTful API for a book collection. This project will cover Flask
routing, request handling, and basic database integration (e.g., SQLite).
• Key Technologies: Flask, Python, SQLite, Postman (for testing API).
• Core Features:
◦ API endpoints for:
▪ GET /books : Retrieve all books.
▪ GET /books/<id> : Retrieve a single book by ID.
▪ POST /books : Add a new book.
▪ PUT /books/<id> : Update an existing book.
▪ DELETE /books/<id> : Delete a book.
◦ Basic data validation for incoming requests.
• Bonus Features (Optional):
◦ Implement user authentication for certain endpoints.
◦ Add search/filter functionality to GET /books .
◦ Connect to PostgreSQL instead of SQLite.
• Objective: Take one of your previously built full-stack applications (e.g., the E-
commerce app or a simpler one) and deploy it to a cloud platform.
• Key Technologies: Docker, chosen Cloud Platform (e.g., Heroku, AWS EC2, Google
Cloud Run), Git, CI/CD (e.g., GitHub Actions).
• Core Features:
◦ Containerize both frontend and backend using Docker.
◦ Deploy the Dockerized application to a cloud provider.
◦ Set up a basic CI/CD pipeline to automate deployment on code pushes.
◦ Ensure the application is accessible via a public URL.
• Bonus Features (Optional):
◦ Set up custom domain.
◦ Implement environment variables for sensitive data.
◦ Add basic monitoring and logging.
• Objective: Create a simple serverless API using Python and a cloud provider's
serverless functions.
• Key Technologies: Python, AWS Lambda/Google Cloud Functions, API Gateway.
• Core Features:
◦ A simple API endpoint (e.g., a
CRUD operation on a simple resource). * Deploy the function and expose it via an API
Gateway. * Bonus Features (Optional): * Integrate with a serverless database (e.g.,
DynamoDB, Firestore). * Implement authentication for the serverless API.
Conclusion
This project-based curriculum provides a structured path to apply your knowledge and
build a strong portfolio. Each project is designed to introduce new concepts and
reinforce existing ones. Remember to break down large projects into smaller,
manageable tasks, and celebrate your progress along the way. Happy coding!