A modern, responsive task management application built with React.js and deployed on GitHub Pages.
- ✅ Create Tasks - Add tasks with title and optional description
- 📊 Progress Tracking - Visual progress bars showing task completion (0%, 50%, 100%)
- 🎯 Status Management - Three status levels: Pending, In Progress, Completed
- 📅 Automatic Timestamps - Created and completion dates tracked automatically
- 🔍 Filter Tasks - Filter by All, Pending, In Progress, or Completed
- 💾 Persistent Storage - Uses localStorage to save your tasks
- 🎨 Responsive Design - Works seamlessly on desktop and mobile devices
- 🗑️ Delete Tasks - Remove tasks you no longer need
Visit the live application: /MaMohm/ToDoListReact.git
- React.js - Frontend framework
- Tailwind CSS - Styling via CDN
- Lucide React - Icon library
- localStorage API - Client-side data persistence
- GitHub Pages - Hosting and deployment
- Node.js (v14 or higher)
- npm or yarn
- Git
- Clone the repository
git clone https://github.com/MaMohm/ToDOList_React.git
cd ToDOList_React- Install dependencies
npm install- Start the development server
npm start-
Open your browser
Navigate to
http://localhost:3000
todolist_react/
├── public/
│ ├── index.html # Main HTML file with Tailwind CDN
│ └── manifest.json # PWA manifest
├── src/
│ ├── App.js # Main Task Manager component
│ ├── index.js # React entry point
│ └── index.css # Global styles
├── package.json # Dependencies and scripts
└── README.md # This file
Each task contains the following properties:
{
id: "unique-timestamp-id",
title: "Task title",
description: "Optional description",
status: "Pending" | "In Progress" | "Completed",
createdAt: "2026-01-21T10:30:00.000Z",
completedAt: "2026-01-21T15:45:00.000Z" | null
}- Install gh-pages
npm install gh-pages --save-dev-
Update package.json
Add the homepage field:
"homepage": "https://MaMohm.github.io/ToDOList_React"- Deploy
npm run deploy- Configure GitHub Pages
- Go to repository Settings → Pages
- Set source to
gh-pagesbranch - Save
Your app will be live at: https://MaMohm.github.io/ToDOList_React
In the project directory, you can run:
Runs the app in development mode at http://localhost:3000
Builds the app for production to the build folder
Builds and deploys the app to GitHub Pages
- Click the "New Task" button
- Enter a task title (required)
- Add an optional description
- Click "Create Task"
- Click on status buttons to update: Pending, In Progress, Completed
- Progress bar automatically updates based on status
- Completion date is saved when marked as "Completed"
- Use filter buttons to view: All Tasks, Pending, In Progress, Completed
- Click the trash icon (🗑️) on any task to delete it
- All data is stored locally in your browser using localStorage
- No data is sent to external servers
- Clearing browser data will remove all tasks
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
MaMohm
- GitHub: @MaMohm
- Repository: ToDOList_React
- Icons by Lucide Icons
- Styling with Tailwind CSS
- Built with Create React App
If you encounter any issues or have questions:
- Open an issue on GitHub Issues
- Check existing issues for solutions
⭐ Star this repository if you find it helpful!