This kanban app will allow the user to be more productive by prioritizing tasks and achieving goals faster
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!
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.
- Unify all text input fields and improve the way they are handled (currently there are multiple ways to handle text input)
- Optimize logger to handle high volumes of logs (app becomes sluggish when there are a lot of logs)
- Make configuration for integer values more user-friendly (e.g. when changing the number of columns in the kanban board)
- Add a date picker for the date field
- Improve error handling by implementing best practices
- Implement animations for UI elements
- 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)
- (Chore) Add documentation to functions and useful comments
- (Chore) Refactor convoluted functions with many nested statements
- Drag and Drop cards with the mouse
- Allow for vertical movement in text fields (e.g. card description)
- Encryption for Cloud Saves
- Implement Cloud saves
- Ability to scroll through logs
- Ability to Undo and Redo actions
- Ability to change date formats
- Ability to search for cards and boards in the command palette
- Ability to filter cards by tags
- Allow Card to be modified in Card View
- Implement a way to add custom colors (Theme support)
- Implement a way to interact with the kanban board using the mouse (Clicking, Scrolling are supported as of now)
- Added ability to export kanban data to JSON
- 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/Un-hide UI elements
- Refactoring UI Logic
- Focusing and highlighting UI elements
- Input Handling
- Logging
None as of now
Keybinding | Action |
---|---|
'Ctrl + c' or 'q' | Quit |
'Tab' | Next Focus |
'BackTab' | Previous Focus |
'c' | Configure |
'Up' | Move Up |
'Down' | Move Down |
'Right' | Move Right |
'Left' | Move Left |
'i' | Take User Input (when filling out a form) |
'Insert' | Exit user input mode |
'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 |
'Esc' | Go to Previous UI Mode |
't' | Clear Toast Messages |
'Mouse Left Click' | Select UI Element |
'Mouse Middle Click' | Open Command Palette |
'Mouse Right Click' | Go to Previous UI Mode |
'Mouse Scroll Up' | Scroll Up Cards |
'Mouse Scroll Down' | Scroll Down Cards (for cards) |
'Ctrl + Mouse Scroll Up' | Scroll to the right (for boards) |
'Ctrl + Mouse Scroll Down' | Scroll to the left (for boards) |