2662b9a3e140af2c3c89adf59b555ba59a16e66d
- Erledigte Einträge werden nicht mehr durchgestrichen, nur die Textfarbe wird blasser dargestellt - Erledigte Termine werden in der Liste hinter die offenen sortiert - Neuer Tab 'Liste' (Route /liste) mit einer read-only Übersicht aller Termine; TabLayout auf echte Tabs (Link/usePathname) umgestellt - AppointmentList: Handler optional, damit die Liste read-only nutzbar ist 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%