m c5c3f41e08 feat: production hardening — slog, rate limiting, integration tests, seed data (Phase 4)
- Structured logging: replace log.* with log/slog JSON output across backend
- Request logger middleware: logs method, path, status, duration for all non-health requests
- Rate limiting: token bucket (5 req/min, burst 10) on AI endpoints (/api/ai/*)
- Integration tests: full critical path test (auth -> create case -> add deadline -> dashboard)
- Seed demo data: 1 tenant, 5 cases with deadlines/appointments/parties/events
- docker-compose.yml: add all required env vars (DATABASE_URL, SUPABASE_*, ANTHROPIC_API_KEY)
- .env.example: document all env vars including DATABASE_URL and CalDAV note
2026-03-25 14:32:27 +01:00

KanzlAI-mGMT

Kanzleimanagement online — law firm management for deadlines, appointments, and case tracking.

Structure

backend/     Go API server
frontend/    Next.js 15 (TypeScript, Tailwind CSS)

Development

make dev-backend    # Go server on :8080
make dev-frontend   # Next.js dev server
make build          # Build both
make lint           # Lint both
make test           # Test both

Tech Stack

  • Frontend: Next.js 15, TypeScript, Tailwind CSS
  • Backend: Go
  • Database: Supabase (PostgreSQL) — kanzlai schema
  • Deploy: Dokploy on mLake (kanzlai.msbls.de)
Description
AI-powered law firm tools
Readme 8.1 MiB
Languages
TypeScript 51.8%
Go 47.8%
Dockerfile 0.1%
CSS 0.1%