Skip to content

Maher-Elmair/Todo-List-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‹ todo-list-app

A responsive and dynamic task management web application built with React, Vite, and Material UI.

🎯 This is my second official project after completing the React course πŸ’ͺ
πŸš€ From the Udemy course by Eng. Yarob Al Mostafa (Tarmeez Academy)


πŸ“– Project Description

This project is a fully functional To-Do List App built using React + Vite and styled with Material UI (MUI).
It allows users to add, complete, edit, and delete tasks with real-time toast notifications.
Tasks are persisted automatically using the browser's localStorage.

The app supports Arabic RTL layout, a custom Material UI theme (with Alexandria font), and a modular structure using custom React Contexts.


βœ… Features

  • πŸ“ Add new tasks with title & details
  • βœ… Mark tasks as completed with clear visual feedback
  • πŸ“ Edit tasks using a clean modal dialog
  • πŸ—‘οΈ Delete tasks with confirmation prompts
  • πŸ” Filter tasks by all, completed, or not completed
  • πŸ’Ύ Save tasks automatically to localStorage
  • πŸ“’ Show toast messages (success/info) for task actions
  • 🧠 Global state management via custom React Contexts
  • 🌐 Right-to-left layout and full Arabic support
  • ⚑ Built with Vite for faster development & builds
  • πŸ“± Fully responsive UI using Material UI

🧠 React Concepts Used

Concept Usage
useState Manage tasks, UI dialogs, and toast state
useContext Share global task and toast state across components
useEffect Load & sync tasks with localStorage
UUID Generate unique task IDs
Conditional Rendering Toggle dialogs, toast, and filters dynamically
React.forwardRef Create reusable custom alert components

🧰 Tools & Libraries

Tool Purpose
React Main framework for UI logic
Vite Fast development environment and bundler
Material UI (MUI) UI components, dialogs, and theming
UUID Unique task IDs
Alexandria Font Elegant Arabic typography
Local Storage Persistent storage for tasks
MUI Snackbar/Alert Toast notifications for user actions
Custom Contexts Modular state sharing across components

πŸ“Έ Screenshots

πŸ–₯️ Desktop View

Todo Desktop View 1
Todo Desktop View 2
Todo Desktop View 3
Todo Desktop View 4
Todo Desktop View 5
Todo Desktop View 6
Todo Desktop View 7


πŸ“ Notes

  • βœ… This project was completed on April 14, 2025, and later enhanced in August 2025
  • 🧠 It's my second project after completing a full React course
  • πŸ› οΈ Now powered by Vite for optimal development experience
  • 🧩 Enhanced with modular contexts for todos and toast management
  • 🚫 Project currently designed for localhost use (until deployed)

πŸ“š Useful Links

πŸŽ“ Course & Instructor


πŸ§‘β€πŸ’» Author

Maher Elmair


πŸ”— Live Preview

πŸŽ₯ View the project live on GitHub Pages (or other host):

🌐 https://maher-elmair.github.io/Todo-List-App/


πŸ™Œ Thank You

If you liked the project, please ⭐ the repository!
Feel free to open issues or contribute with PRs β€” always appreciated πŸ™

About

πŸ“‹ A simple and elegant Todo List application built with React and Material UI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published