755c084f5e
chore: ignore .playwright-mcp/ and refresh GEMINI.md
2026-04-29 02:06:01 +02:00
4aea0f4427
chore: clean up repo state and improve dev tooling
...
- Add IF NOT EXISTS to all migration DDL for idempotency
- Support PORT env var in backend (for compose flexibility)
- Support HOST_PORT env var in docker-compose
- Improve seed-demo to apply migrations before seeding
- Gitignore .claude/ session cache
2026-04-29 01:39:00 +02:00
b252128c37
docs: update CLAUDE.md for pnpm and corrected route paths
2026-04-29 01:32:15 +02:00
d6ccdaff1e
feat(frontend): merge paper/notebook design overhaul
...
Complete redesign of the SvelteKit frontend with a paper/notebook
aesthetic: design tokens, Google Fonts, 10 new components, responsive
student check-in, live seat map, and redesigned admin pages.
2026-04-29 01:27:55 +02:00
d8869a441c
fix(frontend): correct checkin API paths (remove duplicate /api/ prefix)
2026-04-29 01:20:26 +02:00
0c5afb7e29
fix(frontend): render login page when unauthenticated
2026-04-28 23:58:57 +02:00
28c41042eb
fix: docker build process and compose environment variables
2026-04-28 23:42:26 +02:00
316b7defb8
feat: add demo seed data, update Makefile, and fix .gitignore
2026-04-28 21:39:17 +02:00
19f2b5ae7f
fix(frontend): fix slot deprecation and a11y label warnings
2026-04-28 19:22:30 +02:00
74255f23ac
chore(frontend): delete obsolete login and notes routes
2026-04-28 19:16:06 +02:00
0298e03781
feat(frontend): redesign sessions, courses, live view, and student check-in
2026-04-28 19:15:39 +02:00
60c871dec0
feat(frontend): redesign dashboard, attendance, students, login with paper aesthetic
2026-04-28 18:55:44 +02:00
bbccef4436
feat(frontend): route migration - add /admin/login, /admin/students, /admin/live/[slotId], rooms/[roomId]
2026-04-28 17:46:50 +02:00
7e326153a8
feat(frontend): add TutorShell sidebar layout and NoteEditor with auto-save
2026-04-28 15:39:28 +02:00
7da7c1e1d0
feat(frontend): add SeatMap component (tutor/student/student-self variants)
2026-04-28 15:13:35 +02:00
04155c182a
feat(frontend): add primitive UI components (Icon, StatusPill, UnderlineStroke, StatCard, Tally, Field)
2026-04-28 15:08:50 +02:00
97a3c2196b
feat(frontend): add paper design tokens and Google Fonts
2026-04-28 15:01:22 +02:00
c0c0c220ef
chore: some repo cleanup
2026-04-28 14:29:20 +02:00
0d86cd0ed6
chore: setup project meta and ignore docs
2026-04-28 05:58:04 +02:00
01ff815efa
docs: fix CLAUDE.md inaccuracies and Dockerfile Rust version
2026-04-28 05:46:31 +02:00
7ff129189b
docs: move plan, spec, and design handoff from FPTutor repo
2026-04-28 05:35:41 +02:00
d37853e1a6
feat(ops): add Makefile, Dockerfile, and K8s manifests
2026-04-28 05:19:53 +02:00
c7ab5d8689
feat(frontend): implement all views using Svelte 5 runes and TS 7.0
2026-04-28 05:19:30 +02:00
f9c721d841
feat(frontend): scaffold SvelteKit with TS 7.0 (native-preview) and tsgo
2026-04-28 05:16:19 +02:00
943463fff4
feat(backend): complete attendance, notes, and export APIs
2026-04-28 05:11:33 +02:00
e3561b731d
fix(attendance): propagate cookie header errors, guard missing room in checkin
2026-04-28 03:55:54 +02:00
116de5aead
fix(attendance): reject seat_id on room-less slots
2026-04-28 03:49:30 +02:00
3629cc3769
feat(attendance): student check-in API with FCFS seat locking
2026-04-28 03:43:56 +02:00
e75a2bccb8
fix(attendance): correct course_id column in slot queries, add patch_json helper
2026-04-28 03:29:13 +02:00
797ccacbb2
feat(attendance): sessions/slots CRUD with atomic code generation
2026-04-28 03:24:36 +02:00
fcf2787bcc
fix(attendance): add empty layout/label validation and put_json test helper
2026-04-28 03:18:56 +02:00
84f5788363
test(attendance): add negative geometry validation test for rooms layout
2026-04-28 03:11:10 +02:00
5743808265
feat: rooms CRUD with layout validation
2026-04-28 03:07:40 +02:00
4aef2f70df
fix: per-course auth guard, filter courses by tutor, CSV fixes, cascade check
2026-04-28 03:05:49 +02:00
abf0ebcce2
feat: courses and students CRUD endpoints
2026-04-28 01:42:22 +02:00
a351c442d3
fix: secret() error propagation, exp as u64, bcrypt cost 4 in tests, skip empty auth header
2026-04-28 01:36:22 +02:00
83b25b1693
feat: JWT auth, login endpoint, and test helpers
2026-04-28 01:33:14 +02:00
0da5dc5674
feat: add data models and request types
2026-04-28 01:20:44 +02:00
24acc54ceb
fix: NOT NULL on tutor_courses FKs, status CHECK, time format CHECK, add indexes
2026-04-28 01:19:59 +02:00
d6f9d593ed
feat: SQLite migrations and db pool with FK pragma
2026-04-28 01:14:20 +02:00
83ebff3b3e
chore: edition 2024, rust 1.95.0, bump all deps to latest stable
2026-04-28 01:12:16 +02:00
fbd697759d
fix: bump thiserror to v2, rand to v0.9, improve error logging
2026-04-28 01:06:55 +02:00
dd18f385a2
chore: add backend .gitignore, untrack target/
2026-04-28 00:56:53 +02:00
42465839d0
feat: scaffold Rust/Axum backend
2026-04-28 00:55:36 +02:00
acfecf617c
chore: ignore .worktrees/
2026-04-27 23:29:43 +02:00
947d25acb0
chore: initial commit
2026-04-27 23:29:23 +02:00