s0wlz (Matthias Puchstein) 6cb5968b7b fix: resolve Docker build failure and E2E authentication race conditions
- Dockerfile: Update binary name from attendance to tutortool to fix the release build pipeline failure.
- Backend: Expose test_mode in AppState to conditionally disable the secure flag on auth cookies during local E2E testing over HTTP.
- Backend: Enable tower-http trace feature and attach TraceLayer for improved request logging.
- Frontend: Refactor auth.svelte.ts to a plain reactive object to resolve initialization race conditions during tests.
- Frontend: Append cache-busting timestamp to /api/auth/me to prevent stale session states.
- Frontend: Update Playwright locator in superadmin.spec.ts for greater resilience.
- Makefile: Inject required environment variables (STATIC_DIR, JWT_SECRET) into the test-up target.
2026-05-02 05:25:04 +02:00
2026-05-02 03:22:29 +02:00

TutorTool

Attendance tracker for tutoring sessions. Tutors manage courses, rooms, and slots; students check in via a public QR code link. Live at tutor.puchstein.dev.

Quickstart

make dev
# Backend: http://localhost:3000
# Frontend: http://localhost:5173

Demo credentials: admin@tutortool.com / admin

Stack

  • Backend: Rust + Axum + SQLite (via SQLx), Secure httpOnly Cookie JWT auth
  • Frontend: SvelteKit 5 (Svelte runes), TypeScript, adapter-static (SPA)
  • Build: Vite + Cargo; 3-stage Docker build for production

Documentation

Doc Contents
CLAUDE.md Agent guidance: commands, architecture, conventions
GEMINI.md Same, with Gemini-specific context
docs/testing.md E2E test pipeline (Playwright + test daemon)
docs/specs/ Feature specs
docs/plans/ Implementation plans
docs/design_handoff/ UI design mocks

Deployment

Kubernetes via deploy/ Helm chart on ITSH Cloud (tenant-5, Hetzner). CI via Gitea Actions at .gitea/workflows/ci.yml.

Description
No description provided
Readme 254 MiB
Languages
Rust 44.5%
Svelte 43.9%
TypeScript 6.2%
CSS 2.1%
Makefile 1.2%
Other 2.1%