A simple yet powerful ToDo application built with React, utilizing an external API for persistent data, modern state management with Hooks and Context API, and a clean, fully responsive UI.
This app allows users to manage tasks in a clean and intuitive interface, offering features like adding, deleting, marking as completed, and filtering tasks. The application communicates with a REST API to store and retrieve data, ensuring real-time persistence.
- Add, remove, complete, and filter todos
- Persistent storage via REST API
- Pagination for better task organization
- Favorite/starred tasks and temporary local cart
- Global state handled with React Context + useReducer
- Clean separation of concerns and scalable architecture
- Friendly error messages and edge-case handling
- Loading states and visual cues
- Fully responsive and mobile-friendly layout
- Simple and intuitive user experience
- Clean, accessible components
- React (with Hooks)
- Context API + useReducer
- JavaScript (ES6+)
- SCSS / CSS Modules
- REST API Integration
- Responsive Design
- git clone https://github.com/Dominik-Dudek-code/todo_app.git
- cd todo_app
- npm install
- npm start
Or simply open index.html directly in your browser (no build process required).
Run available tests with:
- npm run test
Optional:
- npm run test:only -- -n # Fast test without linter
- npm run test:only -- -l # Fast test with logs
This is a personal project aimed at practicing API integration and state management in React. Contributions, forks, and improvements are welcome!
👨💻 Dominik Dudek 🔗 GitHub 📫 dominik.dudek.praca@gmail.com