Heavily inspired by the "Rust Web App" series by Jeremy Chone.
The backend is written in Rust. It uses:
- sqlx: SQLite database for storage.
- serde/serde-json: Serialization/deserialization.
- warp: Web server/API.
- tokio: Async runtime.
- log/env-logger/tracing: Logging.
- thiserror: Custom error types.
The backend is split into three modules.
- web: Web server and REST API.
- model: Datamodel for tasks.
- database: SQLite driver.
The frontend uses native web components in HTML/CSS with dom-native in TypeScript.
It is divided into three modules:
- model/task-mco: Model client object for representing a
Taskdata structure. - ui/task-app: DOM manipulation and event handling.
- web-client: API calls.