https://github.com/kayleexx/kodo-tracker
https://github.com/kayleexx/kodo-tracker
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kayleexx/kodo-tracker
- Owner: Kayleexx
- License: mit
- Created: 2025-09-01T17:24:54.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-05T05:04:48.000Z (9 months ago)
- Last Synced: 2025-09-05T07:07:29.825Z (9 months ago)
- Language: Rust
- Size: 29.3 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kodo: Track Your Development Activities
Kodo is a **developer activity tracker** with a clean terminal UI, built in Rust using [ratatui](https://github.com/ratatui-org/ratatui).
It helps you log activities, track time, and even sync your **Git commits** into the dashboard, so you get real stats about your coding sessions without extra effort.
---
## Features
- π **Activities table** β log tasks youβre working on.
- β± **Duration tracking** β keep track of how much time you spend.
- π **Stats view** β toggle a bar chart of activity durations.
- π± **Git integration** β automatically sync commit history from the current repo as activities.
- πΎ **Persistent storage** β saves activities to a JSON file on disk.
- π₯ **TUI navigation** β built with `ratatui` for a fast, keyboard-driven UI.
---
## Demo
(Insert a GIF or screenshot here once you record one)
---
## Installation
### From source
Make sure you have [Rust](https://www.rust-lang.org/tools/install) installed.
```bash
git clone https://github.com/Kayleexx/Kodo-tracker.git
cd kodo
cargo install --path .
````
This will install the `kodo` binary globally.
---
## Usage
Run inside any Git repository to also sync commits:
```bash
kodo
```
### Keyboard shortcuts
| Key | Action |
| --- | ----------------------------- |
| `q` | Quit |
| `a` | Add a new activity |
| `d` | Delete selected activity |
| `f` | Filter activities by duration |
| `r` | Reset filters |
| `s` | Sort activities |
| `v` | Toggle stats view |
| `g` | Sync Git commits |
---
## π Data Storage
Kodo stores activities in a JSON file (by default in your project directory).
Each activity has:
```json
{
"id": 1,
"name": "Fix login bug",
"duration_minutes": 45,
"date": "2025-09-04"
}
```
---
## π¦ Tech Stack
* [ratatui](https://github.com/ratatui-org/ratatui) β Terminal UI
* [git2](https://crates.io/crates/git2) β Git integration
* [anyhow](https://crates.io/crates/anyhow) β Error handling
* [serde](https://crates.io/crates/serde) + [serde\_json](https://crates.io/crates/serde_json) β Persistence
---
## π License
MIT License Β© 2025 [Your Name](https://github.com/Kayleexx)
---
https://github.com/user-attachments/assets/7c99b9ba-513a-435a-bf56-2436b649157b