Skip to content

Repository files navigation

Tempo

Personal time tracker with GitHub verification overlay.

Time tracking is the primary, authoritative record. GitHub events (PRs created, reviews submitted, PRs merged to main) are pulled in the background to verify and contextualize the picture you describe manually. A merged PR counts as a closed task — same workflow signal, no extra integration.

→ Live demo

Stack

  • Node.js + Fastify (backend)
  • React + Vite (frontend)
  • SQLite (single-file database)
  • Docker (one container, single docker compose up -d)

Quick start

cp .env.example .env
# edit .env: set ADMIN_PASSWORD, JWT_SECRET
make prod

Open http://localhost:$PORT (default 3000).

Make targets

TargetWhat it does
make helpShow this list
make runDev mode in Docker (hot reload via volume mount, exposes Vite on 5173)
make prodProduction mode (single container, frontend built into backend)
make stopStop all containers
make logsTail container logs
make updategit pull + restart in prod
make installInstall deps locally (for non-Docker dev)

Local development without Docker

make install
npm run dev # runs backend + frontend concurrently

Open http://localhost:$PORT — backend proxies non-API requests to Vite (with HMR over WebSocket on the same port).

Configuration

Env varPurpose
ADMIN_PASSWORDLogin password (required)
JWT_SECRETToken signing secret (required)
PORTBackend port, default 3000
GITHUB_TOKENPersonal access token for GitHub sync
SYNC_INTERVAL_MINUTESSync cron interval, default 15
BACKFILL_DAYSInitial sync backfill window, default 30

About

Personal time tracker with GitHub verification overlay

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages