tododay is designed with the following principles in mind:
- Checking off a todo is satisfying
- Completing a list of todos is satisfying
- Starting each day with a clear plan is productive
At the moment this project is compile-from-source only 🙌
For installation instructions, see the "Development" section below
Documentation around the architecture of this application can be found in the architecture directory
Make sure rust and cargo are installed - (installation guide)
Using cargo, install the tauri cli
cargo install tauri-cliTo run the development server (includes hot reloading on file changes):
cargo tauri devTo package and install the application:
cargo tauri buildThis project uses SQLx to interact with the SQLite database powering the backend. If any changes are made to the prepared SQL queries in this project, the offline SQLx file must also be updated (to allow for compile-time checks).
Generating a new offline sqlx file
Make sure that the SQLx-cli is installed, with the sqlite feature added:
# supports all databases supported by SQLx
cargo install sqlx-cli
# only for sqlite
cargo install sqlx-cli --no-default-features --features native-tls,sqliteChange the current directory to src-tauri:
cd src-tauriRun SQLx's "prepare" method, passing your database URL:
cargo sqlx prepare --database-url sqlite:///Users/your_name/Library/Application\ Support/com.tododay.dev/tododay.dbThis example is macOS specific, for your Linux / Windows paths, check the tauri documentation
Note: "prepare" requires a database to exist, so tododay must have been run at least once (to generate a DB)
