Welcome to the Timer App Tutorial, where you'll learn to build a multi-timer web app using React and Redux Toolkit. This project is inspired by productivity tools like Toggl, and gives you the skills to manage dynamic time-based state in a modern React application.
This app will allow users to:
- ➕ Start and manage multiple independent timers
- ⏸️ Pause and resume timers
- ⏹️ Stop and reset timers
- 🧠 Understand how time updates work in the browser
- 🔄 Store and update state using Redux Toolkit
- React – Component-based UI library
- Redux Toolkit – State management made simple
- JavaScript – ES6+ functional programming techniques
- React Hooks –
useEffect
,useSelector
,useDispatch
- setInterval / clearInterval – Real-time updates
- CSS Modules or Global Styles – To style the UI (you choose!)
- ✅ It's more engaging than a simple to-do list
- ✅ Involves real-time behavior (timing is tricky!)
- ✅ Gives you a foundation in Redux state + side effects
- ✅ Helps practice separation of concerns and UI reusability
By the end of this tutorial, you’ll be able to:
✅ Structure Redux state to track timers and updates
✅ Write clean, reactive components with real-time logic
✅ Use intervals effectively without memory leaks
✅ Practice code organization across Redux slices and UI components
✅ Extend your app with styling, persistence, and filtering
A Timer Board where each timer runs independently. Think:
- A Pomodoro tracker for different tasks
- Multiple stopwatches running in parallel
- Task-based time logging
Each timer will:
- Have a start time and elapsed time
- Be able to pause/resume/reset
- Be displayed and updated live in the UI
- "Explain how setInterval is used in a React component."
- "Check if my useEffect logic is cleaning up intervals correctly."
- "How can I persist timers using localStorage?"
Use AI to explore, debug, and get code reviews as you go!
When you’re ready, continue to P01 - Getting Started and set up your React project.
This is going to be fun. Let’s build something awesome! 🎉