A desktop application built with Tauri, React, TypeScript, and SQLite.
- Frontend: React + TypeScript + Vite
- Backend: Rust (Tauri)
- Database: SQLite (rusqlite)
-
Activate the virtual environment (if using Python venv):
source .venv/bin/activate # On macOS/Linux # or .venv\Scripts\activate # On Windows
-
Install Node.js dependencies:
npm install
-
Install Rust dependencies (automatically handled by Cargo when building): The Rust dependencies are defined in
src-tauri/Cargo.tomland will be installed automatically when you run the app.
To run the application in development mode:
npm run tauri devThis will:
- Start the Vite dev server for the React frontend
- Build and run the Tauri application
- Open the desktop window
To build the application for production:
npm run tauri buildThe built application will be in src-tauri/target/release/.
log15/
├── src/ # React frontend source
│ ├── App.tsx # Main React component
│ └── main.tsx # React entry point
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── main.rs # Rust entry point
│ │ ├── lib.rs # Tauri commands and setup
│ │ └── db.rs # SQLite database module
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
├── package.json # Node.js dependencies
└── README.md # This file
The SQLite database is automatically initialized when the application starts. The database file is stored in the application's data directory:
- macOS:
~/Library/Application Support/com.ronaldlin.log15/log15.db - Windows:
%APPDATA%\com.ronaldlin.log15\log15.db - Linux:
~/.local/share/com.ronaldlin.log15/log15.db
The database includes a logs table with the following schema:
id: INTEGER PRIMARY KEYtitle: TEXT NOT NULLcontent: TEXTcreated_at: DATETIMEupdated_at: DATETIME
- Bug when clicking 0 hours 0 min, shows 15 min and also shows as cancelled workblock
- Maybe option to edit workblock description, maybe add more fields for description
- Have option to delete workblocks to clear up space
- Organize workblocks by cancelled, completed, active
- Option to name workblocks
- Popup issue? Didn't pop up on user's current window but rather the window they started the app from
- Color scheme of app didn't show up on user's system but shows up on mine. User is using light mode? I'm using dark mode?
- When user working in full screen mode, the popup window doesn't show up. THIS IMPORTANT!
- When window pops up on current working screen, but user then swipes over to the screen with log15, the window follows and shows up there and the original working screen that the user swipes back to isn't there anymore. It stays on the screen with log15.
- Make frontend look better