A simple and efficient To-Do List application built with React, React-Redux, Redux, Redux Thunk, Bootstrap Icons, and JSON-Server.
The To-Do List app helps you manage your daily tasks efficiently. It allows you to add, delete, and mark tasks as completed. The app is built with a modern JavaScript stack and follows best practices for state management and asynchronous operations.
- Add new tasks
- Mark tasks as completed
- Update tasks
- Delete tasks
- Filter tasks by completion status
- Persist tasks using JSON-Server
- React: A JavaScript library for building user interfaces
- React-Redux: Official React bindings for Redux
- Redux: A Predictable State Container for JS Apps
- Redux Thunk: Middleware for Redux to handle asynchronous actions
- Bootstrap Icons: Icons for Bootstrap
- JSON-Server: A full fake REST API with zero coding
Follow these steps to set up the project on your local machine.
-
Clone the repository:
git clone https://github.com/ghezel1995/todolist.git cd todos
-
Install dependencies:
npm install
-
Install JSON-Server globally (if not already installed):
npm install -g json-server
-
Start JSON-Server:
json-server --watch db.json --port 8000
This will start JSON-Server on
http://localhost:8000
. -
Start the React application:
npm start
This will start the React app on
http://localhost:8001/todolist
.
- Open your browser and navigate to
http://localhost:8001/todolist
. - Add tasks using the input field and the "Add Task" button.
- Mark tasks as completed by clicking the checkbox.
- Delete tasks by clicking the delete icon.
- Update tasks as you wish
- Filter them by completion status
Contributions are welcome! Please follow the steps to contribute:
- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Make your changes and commit them (git commit -m 'Add new feature').
- Push to the branch (git pushorigin feature-branch).
- Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.