f787d1661336f205db1cd6c8b04a0de84cebb2b7
komp_ac
TUI accounting system. Client/server application with two extracted open-source libraries.
Crates
| Crate | What | Published |
|---|---|---|
client |
TUI application, uses tui-pages + tui-canvas |
No - GPLv3 |
server |
Backend, gRPC services | No - AGPLv3 |
common |
Shared protobuf types | No - GPLv3 |
search |
Full-text search (Tantivy) | No - AGPLv3 |
tui-pages |
Multi-page TUI navigation framework | Yes — MIT, docs |
tui-canvas |
Form / textarea / text input TUI widgets | Yes — MIT |
tui-canvas-validation-core |
Validation primitives for tui-canvas |
Yes — MIT |
Development
Server and client:
cargo watch-server
cargo watch-client
These aliases only watch each application's local dependency tree. They build through Cargo, then run the binary separately so concurrent tests can reuse the same build cache.
To connect a client to a second server instance, override its gRPC endpoint:
GRPC_ENDPOINT='http://[::1]:50052' cargo watch-client
Server database builds
| Build | PostgreSQL | Intended use |
|---|---|---|
cargo build --release --package server |
Upstream embedded | Development and compatible Linux targets |
nix build '.?submodules=1#portable-server' |
Musl embedded | Portable x86-64 Linux deployment |
cargo build --release --package server --no-default-features |
External | Separately managed PostgreSQL |
All builds contain and apply the SQLx migrations. See
server/README.md for configuration.
Client with tracing:
cargo watch -x 'run --package client --features ui-debug -- client'
License
Application code (server, search): AGPL-3.0-or-later. Application code (client, common): GPL-3.0-or-later.
Libraries (tui-canvas, tui-pages, tui-canvas-validation-core): MIT.
Languages
Rust
63.6%
HTML
29.4%
Fluent
4.6%
CSS
1.3%
Shell
0.8%
Other
0.2%