No description
- Go 75.4%
- HTML 14.1%
- CSS 10.2%
- Nix 0.3%
| cmd | ||
| internal | ||
| pkg/schedule | ||
| .gitignore | ||
| AGENTS.md | ||
| devenv.lock | ||
| devenv.nix | ||
| devenv.yaml | ||
| go.mod | ||
| go.sum | ||
| README.md | ||
| timetable.md | ||
ug-timetable
Summer school timetable editor — Go + GORM + SQLite + HTMX.
Quick start
# Dev server (writeable, for editing)
go build -o server ./cmd/server/
./server timetable.db
# → http://localhost:8080
# Prod server (read-only)
go build -tags readonly -ldflags="-s -w" -o server ./cmd/server/
Migrate from CSV
go build -o migrate ./cmd/migrate/
./migrate data/schedule.csv timetable.db
Deploy
Built for ARM64 Linux on RPi (192.168.1.6), see AGENTS.md.
Library
The core schedule logic lives in pkg/schedule/ and can be imported separately:
import "github.com/denis/ug-timetable/pkg/schedule"
db, _ := schedule.Open("timetable.db")
svc := schedule.New(db)
sched, _ := svc.GetSchedule(1)