9499011a3a9e6082d1347d15d0c565a735ac2435
- 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>
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 inapp/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) |
Description
Languages
TypeScript
88.7%
Shell
4.2%
CSS
3.3%
Dockerfile
2.5%
JavaScript
1.3%