A Rust-based commandline interface made with a component architecture using ratatui for its display. This interface was made as a tool to ease the interactions with my website's SQLite database, specifically with the upkeep of pages in its navigation bar.
Large thanks to TaKO8Ki's gobang project, which acted as inspiration for the beginning of this project.
Currently the interface features:
- Strong customisability for actions on pre-defined tables
- Addition of rows to pre-defined tables
- Deletion of rows to pre-defined tables
- Modification of a cell within a pre-defined table
- Ability to define and use autofill functions associated with a pre-defined table's columns
- Allow for swapping of values in a per-table-specified column for rows
- Add a way to search for rows in a table
- Add non-compile-time configurations with a dotfile or toml
- General improvements on the UI and experience of use
| Key | Description |
|---|---|
| ←, ↑, ↓, → | Move left/down/up/right |
| Ctrl + ←, Ctrl + → | Change target screen counter-clockwise/clockwise |
| Enter | Activate current functionality |
| Esc | Exit program |
Currently the configuration is all done at compile-time through the config.rs file. Changing the WORKING_DIRECTORY
constant updates the root which automatically gets searched for to allow ease of calling in subdirectories of a
project, and changing the DATABASE_PATH relative path will update where to read the SQLite database from.
