This is a basic to-do app using reactjs. It persists data on the client using localStorage.
This is a study project.
There are 5 main functionalities with which the user can interact:
- Creating new tasks.
All fields are required. You may not create two tasks with the same description for the same day.
- Editing tasks.
Editing is subject to the same validations above, as it reuses the form component.
- Deleting tasks.
There is a confirmation modal to avoid mistakenly deleting notes.
- Sorting existing notes.
Notes can be sorted by id or date.
- All CRUD actions are signalized by a toast pop up.
Components have an equivalent .test.js file in its folder.
-
Tasks that are in the past must be marked as complete.
-
Accept nested tasks, as in, a task can bear a sublist of tasks that must be checked before it is considered complete.
-
Tasks that are in the past with non-completed subtasks must be marked as late/delayed
-
Subtasks cannot have a date greater than its parent task.
-
Deploy via github pages.
-
Subject deploy to passing tests.