My-first-Rust-project

Stars
9
Language
Makefile
Updated

šŸ“ todo_cli: Feature-Rich Rust CLI To-Do List App

A modern, robust, and extensible command-line to-do list application written in Rust. Manage your tasks efficiently with a beautiful CLI, persistent storage, and a clean codebase ready for extension!


✨ Features

  • Add tasks with unique IDs
  • List all tasks with status (done/undone)
  • Mark tasks as done
  • Remove tasks
  • Persistent storage in todo.json
  • Robust error handling
  • Extensible: Easily add due dates, priorities, encryption, or a TUI

šŸš€ Quick Start

# Add a task
cargo run -- add "Buy groceries"

# List all tasks
cargo run -- list

# Mark a task as done
cargo run -- mark-done 1

# Remove a task
cargo run -- remove 1

šŸ› ļø Architecture

flowchart TD
    A["User"] -->|"CLI Command"| B["Clap Parser"]
    B -->|"Subcommand"| C["App Logic"]
    C -->|"Reads/Writes"| D["todo.json"]
    D -->|"Deserializes/Serializes"| E["Serde/Serde_json"]
    C -->|"Shows"| F["Terminal Output"]

šŸ“¦ Dependencies


🧩 Extensibility

  • Add due dates, priorities, or encryption
  • Switch to TOML or add a TUI with tui-rs

šŸ’” Project Structure

.
ā”œā”€ā”€ src/main.rs         # App logic
ā”œā”€ā”€ todo.json           # Task storage
ā”œā”€ā”€ Cargo.toml          # Dependencies
└── README.md           # This file

šŸ¦€ Made with Rust — Happy tasking!