/GSG-JS-todo

Primary LanguageJavaScript

GSG-JS-todo

Welcome to the repository for the Gazaskygeeks JavaScript Advanced Training! This repository contains a todo list application implemented using JavaScript and Node.js. The application allows users to create, update, and manage their tasks in an organized manner.

  • The app includes features such as adding new tasks, marking tasks as completed, deleting tasks, filtering the list by completed or incomplete tasks, and sorting tasks by the due date or priority.
  • Created the Task object with properties : task description, due date, and priority level, using prototypes.
  • Managed the list of tasks using arrays and array methods : push(), filter(), and sort().
  • When a user adds a new task, create a new Task object and add it to the array.
  • When a user marks a task as completed, use filter() to find the task in the array and update its status.
  • When a user deletes a task, removed it from the array using splice().
  • used (stdin) to read input from the user.
  • Print for the user a list of actions that he can do.

Welcome Screen


Welcome to JS TODO-APP


  1. Add a new task
  2. List all tasks
  3. List completed tasks
  4. Mark the task as done.
  5. Delete a task.
  6. Sort tasks by due date.
  7. Sort tasks by priority.
  8. Clear all tasks.
  9. Exit.

b1. List incompleted tasks


What's your choice:

Usage

To run the todo list application, execute the following command in the project's directory:

node app.js

Contributing

We welcome contributions to enhance the functionality of the todo list application. If you would like to contribute, please follow these steps:

Fork the repository. Create a new branch for your feature or bug fix: git checkout -b feature/your-feature-name. Make the necessary changes and commit them. Push your changes to your forked repository. Submit a pull request describing your changes. We appreciate your contributions and will review your pull request as soon as possible.

License

This project is licensed under the MIT License. You are free to use, modify, and distribute this project in accordance with the terms specified in the license.