Skip to content

This is a simple and user-friendly CLI-based ToDo application for developers, allowing you to manage your tasks directly from the terminal without ever leaving it. Built using Node.js, this tool helps you add, list, update, and delete tasks with ease.

License

Notifications You must be signed in to change notification settings

rajveeerr/CLI-Todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLI-Based ToDo Application

This is a simple and user-friendly CLI-based ToDo application for developers, allowing you to manage your tasks directly from the terminal without ever leaving it. Built using Node.js, this tool helps you add, list, update, and delete tasks with ease.

Demo Video(Posted on X)

https://x.com/rajveeerrsingh/status/1831341445015585029?s=46

Features

  • Add a Task: Add a new task with an optional due date.
  • List Tasks: List all tasks, filter by completed, pending, or all tasks.
  • Mark Complete: Mark a specific task as completed using its ID.
  • Mark Incomplete: Revert a task marked as complete to pending status.
  • Delete Task: Delete a task using its ID.
  • View Details: View detailed information about a specific task.
  • Update Task: Update the title, due date, or status of an existing task.
  • Count Tasks: Display the count of all, completed, and pending tasks.

Installation

  1. Clone the Repository:

    git clone https://github.com/rajveeerr/100xDevs-Journey.git
  2. Navigate to the CLI ToDo Directory:

    cd 100xDevs-Journey/Assignments/Week4/Assignments/CLI-Todo
  3. Install Dependencies: Make sure you have Node.js installed on your system. Install the necessary dependencies by running:

    npm install

Usage

You can use the following commands to interact with the ToDo application:

Add a New Task

todo add "Finish homework" --due 2024-09-15

List Tasks

  • List all tasks:
    todo list --all
  • List only completed tasks:
    todo list --completed
  • List only pending tasks:
    todo list --pending

Mark a Task as Completed

todo complete <task_id>

Mark a Task as Incomplete

todo incomplete <task_id>

Delete a Task

todo delete <task_id>

View Task Details

todo details <task_id>

Update a Task

  • Update task title:
    todo update <task_id> --title "New Title"
  • Update task due date:
    todo update <task_id> --due "2024-09-20"
  • Update task status:
    todo update <task_id> --status completed|pending

Count Tasks

todo count

Setting Up an Alias

To reduce the amount of code you type, you can set up an alias for the command. Add the following line to your .bashrc, .zshrc, or equivalent shell configuration file:

alias todo="node CLIBasedTodo.js"

Contribution

Feel free to fork this repository, submit issues, or create pull requests to improve the application.

Happy coding!

About

This is a simple and user-friendly CLI-based ToDo application for developers, allowing you to manage your tasks directly from the terminal without ever leaving it. Built using Node.js, this tool helps you add, list, update, and delete tasks with ease.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published