Skip to content

sysmkr/task_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Task manager


This is a simple command-line to-do list application built using the Rust programming language. The application allows you to manage a list of tasks with basic CRUD (Create, Read, Update, Delete) operations. It supports adding, marking tasks as completed, removing tasks, and viewing the current list of tasks. The to-do list is persisted in a JSON file so the data is retained between sessions.




Features

  • Add tasks : Add a new task to the to-do list.
  • List tasks : View all tasks, with their completion status.
  • Checking tasks : Matk tasks as done once they are finished.
  • Remove tasks : Remove tasks from the list.
  • Persistence : Tasks are saved to a JSON file and loaded on each run.



Requirements

  • Rust (1.60 or newer) installed on the system :

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    # Check if correctly installed : rustc --version



Installation

  1. Clone the repository
git clone https://github.com/ovrcomr/tasky.git
  1. Go to the directory
cd task_manager
  1. Launch the app
cargo run



Usage


After building and running the project, it is possible to interact with the application using the command line :

Commands

cargo run -- add <task_name>
cargo run -- remove <task_name>
cargo run -- check <task_name>
cargo run -- list



File Structure


task_manager/
├── src/
│   ├── data.json          # Storage for interactions
│   ├── main.rs            # Main application logic
│   ├── tools.rs           # Functions used in 'main.rs'
│   └── task.rs            # Task struct and methods
├── Cargo.toml             # Cargo configuration file



Dependencies

  • serde : For serializing and deserializing task data into JSON format.
  • serde_json : For reading and writing JSON files.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages