53385ce7d8
Zusammenfassung der Next.js-Umstellung, Tab-/UI-Details, Deployment (gleicher Dockge-Stack-Name für Datenerhalt) und Umgebungsvariablen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.8 KiB
2.8 KiB
Projekt-Notizen – Arzt-Termine
Umstellung auf Next.js (Juli 2026)
Das Projekt wurde vom getrennten React/Vite-Frontend + Express/MongoDB-Backend
auf eine einzelne Next.js-App (App Router) umgestellt. Design und Layout sind
bewusst an das Projekt ../werte-next angelehnt.
Was gemacht wurde
- Architektur: Next.js 16 (App Router), React 19, Tailwind 4, TypeScript.
- UI: Client-Komponenten in
components/(TabLayout,AppointmentForm,AppointmentList,ConfirmationModal), Seiten inapp/. - API: Next.js Route Handler unter
app/api/appointments(GET/POST/PUT/DELETE, Soft-Delete viadeleted-Flag). - DB: MongoDB-Zugriff in
lib/db.ts(gecachter Client, DBappointmentsdb, Collectionappointments). - Kein Login/Auth (wie zuvor, bewusst so).
- UI: Client-Komponenten in
- Design von werte-next übernommen: Rahmenbox, Farben #CCCCFF/#85B7D7/#FFFFDD, Tabellen-Liste, Footer mit Version/Datum.
- Tabs:
- Termine (
/): Formular + Liste nur offener Termine. - Liste (
/liste): alle Termine, Checkbox aktiv (erledigt umschaltbar).
- Termine (
- Darstellung erledigter Termine: blassere Textfarbe (kein Durchstreichen), ans Ende sortiert.
- Eingabeformular auf 60 % Breite reduziert, zentriert.
- Spalten Arzt / Fachrichtung / Bemerkungen linksbündig.
- Druckansicht der aktuellen offenen Termine ab heute beibehalten.
- Altes
frontend/- undbackend/-Verzeichnis entfernt; Vite-Überbleibselpublic/vite.svggelöscht.
Git
- Umgesetzt auf Branch
use_next, per Fast-Forward nachmaingemergt und gepusht (Remote: gitea.fuerst-stuttgart.de/admin/aerzte). Branch danach gelöscht. - Security-Review durchgeführt: keine relevanten Schwachstellen.
Deployment
- Image bauen & pushen:
./deploy.sh [tag]→docker.citysensor.de/aerzte-next - Auf dem Server (Dockge):
docker compose -f docker-compose.prod.yml up -d - Wichtig – Datenerhalt: Beim Umstieg vom alten auf den neuen Stack den
gleichen Dockge-Stack-Namen
aerztebeibehalten. Dann werden die benannten Volumes (aerzte_mongodb_data/aerzte_mongodb_config) automatisch wiederverwendet und die MongoDB-Daten bleiben erhalten. Nurdocker compose downohne-vverwenden. (Hat funktioniert.) - Bei zwingend neuem Stack-Namen: alte Volumes als
externalmit altem Namen einbinden.
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) |