admin 9499011a3a Termine-Tab nur offene Termine, Spalten links, Formular 60% Breite
- Termine-Tab (/) zeigt in der Liste nur noch offene (nicht erledigte)
  Termine; Überschrift entsprechend "Offene Termine"
- Spalten Arzt, Fachrichtung und Bemerkungen linksbündig (Header + Zellen)
- Eingabe-Panel (AppointmentForm) auf 60% Breite reduziert und zentriert

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 18:47:02 +02:00

Arzt-Termine (Next.js)

Verwaltung von Arzt-Terminen als Next.js-Anwendung (App Router) mit MongoDB als Datenspeicher. Design und Layout orientieren sich am Projekt werte-next.

Vormals bestand das Projekt aus einem getrennten React/Vite-Frontend und einem Express-Backend. Beides wurde in eine einzelne Next.js-App zusammengeführt:

  • UI React-Client-Komponenten in components/, Seite in app/page.tsx
  • API Next.js Route Handler unter app/api/appointments
  • DB MongoDB-Zugriff in lib/db.ts

Funktionen

  • Termine anlegen, bearbeiten, als erledigt markieren und (soft) löschen
  • Felder: Arztname, Fachrichtung, Datum/Uhrzeit, Bemerkungen
  • Druckansicht mit den aktuellen (offenen) Terminen ab heute

Entwicklung

cp .env.example .env      # MONGO_URI setzen
npm install
npm run dev               # http://localhost:3000

Produktion (Docker)

cp .env.example .env      # MONGO_ROOT_USER / MONGO_ROOT_PASSWD setzen
docker compose up -d --build

Deploy zur Registry

./deploy.sh [tag]         # baut & pusht docker.citysensor.de/aerzte-next

Umgebungsvariablen

Variable Beschreibung
MONGO_URI MongoDB-Verbindung inkl. Datenbankname
MONGO_ROOT_USER Root-User für den MongoDB-Container (Compose)
MONGO_ROOT_PASSWD Root-Passwort für den MongoDB-Container
APP_PORT Host-Port der App (Standard: 3000)
S
Description
No description provided
Readme 179 KiB
Languages
TypeScript 88.7%
Shell 4.2%
CSS 3.3%
Dockerfile 2.5%
JavaScript 1.3%