Skip to content

TF3K/TermTasker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TermTasker (formerly known as Mortal Reminder) V1.0b

A lightweight to-do list CLI written in Rust allows users to easily add, list, mark and remove tasks, using Serde for JSON file storage for persistent data.

Features

  • Serialization and Deserialization: Utilizes serde and serde_json for efficient data serialization and deserialization of task data.
  • Command-line Styling: Enhances user experience with a colorful and styled CLI interface using owo_colors.
  • Date and Time Handling: Incorporates chrono for precisely handling dates and times in task management.
  • UUID Generation: Employs UUID to generate universally unique identifiers (UUIDs) for tasks.

Main Components:

  • Task Structs and Enums: Defines structures and enums for tasks, statuses, and priorities.
  • User Interaction Functions: Implements functions for user input, console screen clearing, and user prompts.
  • File Management: Manages tasks in a JSON file (db/tasks.json), enabling read, write, and update operations.
  • Main Function: Orchestrates the CLI functionality, offering a menu for users to add, list, mark, or remove tasks.
  • Conditional Logic: Handles file paths based on the operating system using platform-specific conditional compilation.
  • Error Handling: Ensures robustness with error handling for file operations, JSON parsing, and user input.

Installation

After cloning the repo run the following commands:

On Linux:

  cargo build --release

On Windows:

    cargo build --release

Creating an alias for the executable:

On Linux:

    alias tt="/target/release/termtasker"
    or
    alias termtasker="/target/release/termtasker"

On Windows:

    doskey tt=target\release\termtasker.exe
    or
    doskey termtasker=target\release\termtasker.exe

Future Goals

  • Add support for MacOS
  • Expand more options in the CLI
  • Add searching for tasks by ID/UUID
  • Optimize serialization/deserialization process
  • Implement a Ticketing system for intercommunication between the task issuer and task doer

About

A simple & light-weight CLI for managing tasks written in Rust, allowing users to add, list, mark, and remove tasks with ease. Supports task prioritization, due dates, and status tracking and uses JSON file storage for persistent data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages