Skip to content

mm9942/TodoRust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TodoRust

A Rust-based Todo List Manager to keep track of your daily tasks, with features such as adding tasks, updating due dates, marking tasks as done, and validating task dates.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Rust compiler and Cargo (Rust's build system and package manager)

Dependencies

  • chrono: This is a comprehensive date and time library utilized in Rust programming. Its primary function is to facilitate the parsing and formatting of dates and times.
  • clap: This serves as a Command Line Argument wrapper for Rust. It simplifies the process of managing and interpreting command line arguments within Rust applications.

Installation

  1. Clone the repository:
git clone https://github.com/mm9942/TodoRust.git
  1. Navigate to the project directory:
cd TodoRust

3.1. Direct installation through setup.py:

python3 setup.py

3.2. Alternativly build and install the project manually:

cargo build --release
cargo install --path .
when installing manually you also need to build the Sqlite3 database manually, use the code in the setup.py to see how to design the database table and the names

Usage

The primary objects are Tasks and TasksErr enum which encapsulates task details and possible errors respectively.

Here's how you can create a new task:

todo new -t "new title" -d "new description" --date 22/12/24

Set or change a date for a task:

todo task -t --date 22/12/24 -i 2

Mark a task as done:

todo --done 2

For more examples and usage, please refer to the main.rs file.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Contact

Feel free to open issues if you find anything wrong or have suggestions.

Releases

No releases published

Packages

No packages published