MUH App
Spring Boot + React Anwendung fuer die Bearbeitung von Milchproben, Antibiogrammen, Therapieempfehlungen sowie Verwaltungs- und Portalaufgaben.
Projektstruktur
backend/: Spring Boot REST API mit MongoDB-Anbindungfrontend/: React/Vite Frontend fuer Desktop und Tablet
Konfiguration
Die Anwendung liest Konfigurationswerte aus einer .env im Projektverzeichnis
oder aus Umgebungsvariablen.
Die lokale .env ist in .gitignore eingetragen und sollte nicht mit echten Zugangsdaten committed werden.
MongoDB:
MUH_MONGODB_URLMUH_MONGODB_USERNAMEMUH_MONGODB_PASSWORD
Optional fuer echten Mailversand im Portal:
MUH_MAIL_ENABLED=trueMUH_MAIL_FROM=...MUH_MAIL_HOST=...MUH_MAIL_PORT=587MUH_MAIL_USERNAME=...MUH_MAIL_PASSWORD=...MUH_MAIL_PROTOCOL=smtpMUH_MAIL_AUTH=trueMUH_MAIL_STARTTLS=true
Ohne SMTP-Konfiguration markiert das Portal Berichte als versendet, verschickt aber keine E-Mails.
Backend starten
cd backend
mvn spring-boot:run
Backend-URL:
http://localhost:8090
Frontend starten
cd frontend
npm install
npm run dev
Frontend-URL:
http://localhost:5173
Optional kann die API-URL im Frontend ueber VITE_API_URL gesetzt werden.
Docker Deployment
Produktions-Image bauen:
docker build -t muh-app .
Container starten:
docker run --rm --env-file .env -p 8090:8090 muh-app
Die Anwendung ist danach unter http://localhost:8090 erreichbar.
Hinweis:
- Das Dockerfile baut das React-Frontend und das Spring-Boot-Backend in einem Image.
- Das Frontend wird im Container direkt ueber Spring Boot ausgeliefert.
- API-Aufrufe laufen in Produktion relativ ueber
/api.
Anmeldung
Es gibt jetzt zwei Varianten:
- Login ueber E-Mail oder Benutzername plus Passwort
- Registrierung eines neuen Kundenkontos ueber Firmenname, Strasse, Hausnummer, PLZ, Ort, E-Mail und Passwort
Vordefinierter Admin:
- Benutzername:
admin - E-Mail:
admin@muh.local - Passwort:
Admin123!
Kundenregistrierung:
- Die Registrierungsdaten werden dauerhaft in MongoDB in der Collection
usersgespeichert. - Gespeichert werden
Firmenname,Adresse,E-Mail, Passwort-Hash, generierter Loginname und RolleCUSTOMER. - Nach erfolgreicher Registrierung erfolgt sofort die Anmeldung in der Anwendung.
Geprueft
cd backend && mvn testcd frontend && npm run build