Skip to content

Technology RequirementsΒΆ

Section Brief

This section documents the approved technology stack for UMTAS. All choices are binding for contributing sub-teams and were selected to satisfy the architectural quality attributes defined in the Architectural Requirements.


  • Frontend & UI


    Next.js Tailwind CSS Shadcn/UI Radix UI

    • Next.js for SSR and the React component model. Shadcn/UI + Radix UI for headless WCAG-compliant primitives.
    • University theming applied through Tailwind CSS custom properties only - no per-university code changes.
  • Backend & Core


    NestJS DrizzleORM PostgreSQL Redis BullMQ BetterAuth

    • NestJS + DrizzleORM enforce the layered architecture with compile-time type-safe SQL.
    • PostgreSQL + Redis for persistent relational storage and combined session cache / BullMQ broker.
    • BetterAuth for OAuth 2.0, JWT, and session management. Supports both third-party OAuth and password-based flows.
  • Solver & AI


    FastAPI Google OR-Tools PyMuPDF Python

    • FastAPI + OR-Tools (CP-SAT) for the async solver service with OpenAPI docs and partial result support at timeout.
    • PyMuPDF for spatially-aware PDF extraction. Bounding-box positioning is required to interpret timetable grid layouts.
  • Infra & DevOps


    Docker Traefik GitHub Actions Turborepo pnpm MinIO

    • Docker + Traefik for containerised deployment with SSL termination and blue-green switching.
    • pnpm + Turborepo for monorepo workspace management. MinIO for S3-compatible PDF object storage.
  • Testing & QA


    Jest pytest Playwright act

    • Jest + pytest for unit/integration tests. Playwright for E2E in headless CI mode.
  • Monitoring


    Prometheus Grafana Loki PostHog

    • Prometheus + Grafana + Loki for metrics, dashboards, and structured log aggregation.