rust-kanban 0.3.4

A kanban board for the terminal built with ❤️ in Rust
Documentation

Crates.io

Kanban App for the terminal written in rust

This kanban app will allow the user to be more productive by prioritizing tasks and achieving goals faster

Why?

I am new to rust and wanted to learn the language in a project-oriented manner, feel free to drop feedback on my code😁. Another reason for building a TUI is that I spend the majority of my time in the terminal whether it is testing or running code or writing code in neovim. I haven't been able to find any other alternatives so I have started to make my own!

Contribution

Feel free to make a pull request or make a new issue, I am open to suggestions ✌️ I currently do not own a Mac so I am unable to test the app on Mac, if you can test it on Mac, please let me know if there are any issues.

TODO

  • Allow Card to be modified in Card View
  • Add ability to export data to JSON / Switch to JSON for file saving (maybe? need to test the speed of JSON vs savefile binary)
  • Implement Cloud saves (Google drive maybe? as I am not going to host a server)
  • Implement a way to add custom colors (Theme support)
  • Implement a way to add custom keybindings from the config file (maybe club this with the theme support)
  • Implement animations for UI elements
  • Implement a way to interact with the kanban board using the mouse (scrolling, dragging, etc)
  • Implement a way to sync with other services like notion
  • Write Tests
  • Add a Tutorial for new users (Preferably in the app itself with animations and highlighting of UI elements)

Completed Features

  • Implement a Command Palette (like in vs code (Ctrl + Shift + P)) as a way to interact with the app instead of using keybindings
  • Implement previews for loading a save
  • Toast Message Implementation -- (Inspired by nvim-notify)
  • Improve Help Messages
  • Custom Keybindings
  • Implement the Kanban Boards ( the main UI basically )
  • Auto Save on exit
  • Save/Load Kanban state
  • Hide/Unhide UI elements
  • Refactoring UI Logic
  • Focusing and highlighting UI elements
  • Input Handling
  • Logging

Known Issues

  • When a card is moved below the last card in a column, the view is not refreshed and the card is not visible

How to use

Default Keybindings

Keybinding Action
'Ctrl + c' or 'q' Quit
'Tab' Next Focus
'BackTab' Previous Focus
'c' Open Config Menu
'Up' Move Up
'Down' Move Down
'Right' Move Right
'Left' Move Left
'i' Take User Input (when filling out a form)
'h' Hide UI Element
'Ctrl + s' Save State
'b' New Board
'n' New Card
'd' Delete Card
'D' or 'Shift + d' Delete Board
'1' Change Card Status to Completed
'2' Change Card Status to Active
'3' Change Card Status to Stale
'r' Reset UI to Default
'm' Go to Main Menu
'Ctrl + p' Toggle Command Palette

Screenshots

rust_kanban