Skip to content

ElevenJune/todo-app-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basic to-do app in Rust, using ratatui GUI

Basic to-do app with ratatui to learn Rust and use crates

If you are learning Rust and you want to see a simplier implementation, I recommend that you look at the v1.0 version (check the "See Also" section at the bottom)
This version implements command-line interaction using the clap crate.

Demo

Example screenshot

Authors

Usage

cargo run

Features

Creates a list of tasks and saves it to the $TODO_PATH environment variable.

If not defined, the tasks will be saved to ./tasks.json

Possible actions:

  • Use arrows ↓↑ to select a task
  • Use arrow ← to unselect
  • Add a task with "a"
  • Modify the selected task with "Enter"
  • -> Type to edit name
  • -> Use +/- to edit priority
  • Press "Enter" to save, or "Esc" to cancel changes
  • Press → to change status (Done/To do)

Crates used

  • serde_json : serialization to json
  • ratatui : GUI
  • dialoguer : confirmation message in case the list has be erased
  • thiserror : custom error
  • color-eyre : error handling used by ratatui

See Also

Version without ratatui, using clap instead

You can switch to this version by executing
cd ./todo-list-app
git checkout v1.0
cargo run

Demo:

Example screenshot

About

Basic todo app in rust

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages