Skip to content

ZiadSheriif/Todo-List

Repository files navigation

GitHub contributors GitHub issues GitHub license GitHub forks GitHub stars GitHub Language

📝 Table of Contents

📙 About

A to do List application that allows users to create and manage their tasks. It provides a simple and intuitive interface for users to add, edit, delete, and complete tasks.

🌠 Features

  1. Ability to add new tasks.
  2. Ability to view tasks based on different categories, such as
    • Today's Tasks
    • All Tasks
    • Important Tasks
    • Completed Tasks
    • Uncompleted Tasks
  3. Ability to mark tasks as completed or uncompleted.
  4. Ability to edit and delete tasks.
  5. Ability to search for tasks using a search bar.
  6. Responsive design that works well on desktop and mobile devices.
  7. Integration with local storage to persist data between sessions.

📌 NOTE:

I am still working on the project, this is not the final verison of it, I just make it public to get feedback and imporve it

📂 Folder Structure

├───Assets
│   └───images
├───Components
│   ├───CardTask
│   ├───DeleteTaskModal
│   ├───LeftSideBar
│   ├───RightSideBar
│   ├───SearchBar
│   ├───TaskModal
│   └───ToastModal
├───Hooks
├───Layouts
│   ├───Header
│   └───ShowTasks
├───Pages
│   └───HomePage
├───Theme
└───Utils

🏁 Getting Started

This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.

Prerequisite

  1. Node.js

Installation

  1. Clone the repository
$ git clone https://github.com/ZiadSheriif/Todo-List.git
  1. Navigate to TodoList Folder
$ cd TodoList

Running

Running program

  1. Install modules
npm install 
  1. Start program
npm start

💻 Built Using

  • ReactJs
  • React Bootstrap

📸 Demo Screens

All Tasks

Today's Tasks

Important Tasks

Completed Tasks

Add task

Edit task

Delete task

Notifications

Responsitivity

🕴 Contributors

Ziad Sherif
Ziad Sherif

⏳ Backlog

  • Add a feature to categorize tasks, allowing users to filter tasks by category.
  • Implement a due date feature that allows users to set a due date for tasks and receive reminders when tasks are approaching their deadline.
  • Add the ability to sort tasks by various criteria, such as due date, priority, or category.
  • Store tasks in a JSON file instead of local storage.
  • Implement a search functionality to enable users to search for specific tasks by keyword or phrase.
  • Add the ability to prioritize tasks by assigning them different levels of importance or urgency.
  • Implement a calendar view that shows tasks on a monthly or weekly calendar, making it easier for users to plan and manage their tasks.
  • Add directory that user can attach task in a sub directory.
  • Implement authentication and authorization features to allow users to create and manage their own tasks.
  • Allow users to drag and drop tasks to rearrange their order or move them between categories.
  • Ability to filter tasks by status (all, active, completed).
  • Ability to edit task details.

📃 License

This software is licensed under MIT License, See License for more information ©ZiadSheriif.