updated README

This commit is contained in:
2026-08-10 19:25:23 +02:00
parent 62c7904ee5
commit dbf834d6b7
+24 -10
View File
@@ -1,17 +1,31 @@
# Studywatch
This is a set of scripts.
- **The client** script tracks study sessions and syncs them with a CalDAV calendar.
- **The server** script reads from said CalDAV calendar and serves a nice-looking web UI and API endpoint.
# Usage
## Usage
## Client
1. Create an `.env` following the `.env.example` layout and fill in all fields
2. Run as `./studywatch-cli <subject-name>` (available subjects are also defined in `.env`)
3. Previous, failed syncs are stored in `./backlog.csv` and will be reattempted first
4. The new session will start and display a live timer. To stop it, send `SIGINT` (Ctrl+C)
5. You will be asked if you want to sync the session (y|n)
### Client
## Server
The server is written in python using flask. It grabs the calendar events via CalDAV and renders out a nice looking ui.
**Heads-up**: The entire frontend is vibe-coded. Im not much of a web dev. Backend is written by me but not the greatest code quality. I just needed it to work, and that it does great!
A very simple implementation, but a good demonstration of the power of using CalDAV as a DB.
1. Create an `.env` following the `.env.example` layout and fill in all fields.
2. Run as `./studywatch-cli <subject-name>` (available subjects are also defined in `.env`).
3. Previous, failed syncs are stored in `./backlog.csv` and will be reattempted first.
4. The new session will start and display a live timer. To stop it, send `SIGINT` (Ctrl+C).
5. You will be asked if you want to sync the session (y|n).
### Server
The server is written in Python using Flask. It grabs the calendar events via CalDAV and renders a nice-looking UI.
**Heads-up**: the entire frontend is vibe-coded. I'm not much of a web dev. The backend is written by me but isn't the greatest code quality. I just needed it to work, and it does work great!
#### Install
1. Copy `server/docker-compose.yaml` and `server/.env.example`.
2. Rename `.env.example` to `.env`, make sure it's in the same directory as the compose file, and fill in all fields.
3. Run `docker compose up -d`.
4. Open at `0.0.0.0:5000`.