This is a simple To-Do List Application built using ReactJS and TypeScript. The app fetches data from the JSONPlaceholder API to display to-do items. Users can add new tasks locally, mark items as completed, delete them, and filter the displayed items.
- β Fetch To-Do Items from the JSONPlaceholder API.
- β Add New To-Do Items locally to the frontend's state.
- βοΈ Mark Items as Completed or Pending with user interaction.
- ποΈ Delete Items from the local list.
- π Filter Tasks to show all, completed, or pending tasks.
- πΎ Persist Changes Using Local Storage to ensure state remains even after a page reload.
- ReactJS with TypeScript
- Axios (for network requests)
- JSONPlaceholder API for fetching mock data
- Basic CSS Styling or CSS frameworks like Bootstrap (optional)
Clone the repository and run the following commands:
# Clone the repository
git clone [https://github.com/yourusername/todo-list-app.git](https://github.com/AmlrSF/JSONPlaceholder-API)
# Navigate to project directory
cd todo-list-app
# Install dependencies
npm install
# Start the development server
npm start
- The app will fetch the first 20 To-Do Items from the JSONPlaceholder API.
- Use the input box to add a new to-do item (title required).
- Click on the checkbox to mark an item as completed or return it to pending.
- Click the Delete button next to any to-do item to remove it locally.
- Use the filter options to view:
- β All tasks.
- βοΈ Only completed tasks.
- β Only pending tasks.
- β Used ReactJS and TypeScript for frontend development.
- π Integrated JSONPlaceholder's
/todos
endpoint for fetching initial data. - β Added the ability to create, delete, and toggle completion for tasks locally.
- πΎ Implemented local storage persistence to save changes between reloads.
- π Provided filter functionality for better user experience.
Contributions are welcome! Please open an issue first to discuss any changes you plan to make.
For any questions or feedback, reach out at:
[Your Email: amirsouaf1212@gmail.com]
This project is licensed under the MIT License.