✅ Week 7: ES6+ Features + Projects
🧠 Goal: Learn modern JavaScript (ES6+) syntax and build real-world applications using API and local storage.
📆 Day 1: Modern JavaScript (ES6+) Basics
- Arrow functions: syntax, implicit return
- Spread (...) and Rest parameters
- Default function parameters
- Template literals for string formatting
- Practice:
- Convert old function to arrow functions
- Merge arrays using spread
- Create reusable greet() function with default name
📆 Day 2: Destructuring & Advanced Features
- Object & array destructuring
- Object shorthand syntax
- Object property access (dot vs bracket)
- Practice:
- Destructure nested user object
- Write a function that returns name, age from a profile object
- Rewrite code using shorthand property names
📆 Day 3: Fetch API – Intro to Asynchronous JS
- What is the Fetch API?
- GET requests using fetch()
- Handling JSON responses
- Chaining Promises: then() & catch()
- Practice:
- Fetch random user from https://randomuser.me/api
- Display name and photo on page
📆 Day 4: Project – To-Do List App with LocalStorage
- Input + Add Task
- Mark task complete + Delete
- Save tasks to LocalStorage
- Load tasks on page load
- Practice Features:
- Clear all tasks
- Filter completed vs pending
📆 Day 5: Project – Weather App (API-based)
- Use OpenWeatherMap API or WeatherAPI
- Input: City name
- Display: Temperature, Weather type, Location
- Handle errors (e.g., city not found)
- Bonus:
- Add loading indicator
- Show time & weather icon
📆 Day 6: GitHub Basics + Project Hosting
- Git init, add, commit, push
- Create GitHub repo + clone
- Push To-Do App or Weather App
- Enable GitHub Pages
- Bonus:
- Write README.md with instructions
- Add project link to portfolio
📆 Day 7: Project Review + Feedback
- Final code polish & cleanup
- Peer review checklist
- Submit 1 project (To-Do or Weather)
- Reflect: What did you learn this week?