s0wlz (Matthias Puchstein) 16e8c6c865
All checks were successful
Release / release (push) Successful in 5m28s
ci: upgrade Helm to v4.1.4, switch images to Alpine 3.23, disable backup cron
- release.yml: bump Helm v3.16.2 → v4.1.4; replace --wait with
  --rollback-on-failure (Helm 4 rename, implies --wait)
- Dockerfile: backend builder rust:1.95-slim-bookworm → rust:1.95-alpine3.23
  (adds cmake/g++/perl/nasm/sqlite-dev for aws-lc-rs + sqlx); runtime
  debian:trixie-slim → alpine:3.23 (adds sqlite-libs, uses adduser -D)
- cronjob-backup: gate on backup.enabled, pin image to alpine:3.23
- values.yaml: backup.enabled default true
- values_override.yaml: backup.enabled: false (disabled until tested)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 15:29:51 +02:00
2026-05-04 17:15:53 +02:00
2026-05-04 17:26:24 +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.7%
Svelte 44.1%
TypeScript 6.1%
CSS 1.9%
Makefile 1.2%
Other 2%