Skip to content

Lebensmittel-E-Commerce-Microservicesystem Entwicklungspraxis

Ueberblick

Dieses Praxisprojekt erfordert die Umsetzung eines echten PRD von Grund auf: Ein Lebensmittel-E-Commerce-Microservicesystem. Im Gegensatz zu frueheren Single-Service-Projekten ist das Backend hier in mehrere unabhaengige Services nach Geschaeftsbereich aufgeteilt, die ueber ein API-Gateway einheitlich nach aussen kommunizieren. Du lernst, Service-Grenzen zu entwerfen und datenuebergreifende Konsistenzprobleme zwischen Services zu behandeln.

Vorkenntnisse

Lernziele

  1. PRD lesen und Entwicklungsaufgabenliste fuer ein Microservicesystem extrahieren
  2. Service-Grenzen nach Geschaeftsbereichen aufteilen (Auth, Katalog, Bestand, Bestellung)
  3. API-Gateway-Routing entwerfen und implementieren
  4. Uebergreifende Probleme wie Bestandsabbuchung und Bestellkonsistenz behandeln
  5. End-to-End-Tests abschliessen und einen demonstrierbaren Microservice-Prototyp liefern

Projektuebersicht

SubsystemVerantwortung
BenutzerportalProdukte durchsuchen, bestellen, Bestellungen einsehen
Admin-PortalProduktverwaltung, Bestandsverwaltung, Bestellverwaltung

Backend-Services:

ServiceVerantwortung
API GatewayEinheitlicher Einstieg, Routing, Auth-Pruefung
Auth ServiceBenutzerregistrierung, Login, JWT-Ausgabe
Catalog ServiceProduktinformationsverwaltung
Inventory ServiceBestandsmengenverwaltung
Order ServiceBestellerstellung, Statusverwaltung

PRD-Zugang

PRD ansehen

Teil 1: Anforderungsanalyse

1.1 PRD lesen

  • Wie werden Services aufgeteilt? Verantwortungsgrenzen jedes Services?
  • Welche Seiten haben Benutzer- und Admin-Portal?
  • Bestandsabbuchungsstrategie nach Bestellung? Erfolg / Fehler / Timeout?
  • Welche komplexen Faehigkeiten (verteilte Transaktionen, Nachrichtenwarteschlangen) zunaechst weglassen?

WARNING

Beginne nicht mit dem Code, wenn diese Fragen keine klaren Antworten haben.

1.2 Systemarchitektur bestaetigen

mermaid
flowchart TD
  prd["PRD"] --> fe["Frontend-Seiten"]
  fe --> gw["API Gateway"]
  gw --> auth["Auth Service"]
  gw --> catalog["Catalog Service"]
  gw --> inventory["Inventory Service"]
  gw --> order["Order Service"]
  order --> inventory

Teil 2: Projektgeruest erstellen

2.1 Projektstruktur generieren

text
Bitte generiere basierend auf dem aktuellen PRD ein Projektgeruest fuer ein Lebensmittel-E-Commerce-Microservicesystem.

Anforderungen:
1. Frontend Benutzer- und Admin-Geruest generieren
2. Fuenf Verzeichnisse: api-gateway, auth-service, catalog-service, inventory-service, order-service
3. Jeder Service zunaechst nur minimal lauffaehigen Einstiegspunkt
4. Keine echte Datenbank oder Zahlung

2.2 Projektstruktur ueberpruefen

  • [ ] Fuenf Service-Verzeichnisse klar strukturiert
  • [ ] API Gateway startet und leitet Anfragen weiter
  • [ ] Gesundheitspruefung jedes Services erreichbar
  • [ ] Frontend Benutzer- und Admin-Seiten zugaenglich

Teil 3: Iterative Entwicklung

3.1 Modulweise vorgehen

  1. API Gateway: Routing-Konfiguration, JWT-Pruefung-Middleware
  2. Auth Service: Registrierung, Login, JWT-Ausgabe
  3. Catalog Service: Produkt-CRUD, Listenabfrage
  4. Inventory Service: Bestandsabfrage, Bestandsabbuchung
  5. Order Service: Bestellerstellung, Statusuebergaenge, Bestandskopplung
  6. Admin-Portal: Produkt-, Bestands- und Bestellverwaltung

3.2 Modul-Selbstpruefung

PruefpunktVerifikationsmethode
Gateway-RoutingServices ueber Gateway korrekt erreichbar
BerechtigungsisolierungBenutzer- und Admin-APIs getrennt
DatenkonsistenzProdukt- und Bestandsdaten synchron
TransaktionsabschlussBestandsabbuchung und Bestellstatus nach Bestellung konsistent
FehlerbehandlungBestand unzureichend oder Timeout: Kompensationsmechanismus

Teil 4: Test und Bereitstellung

4.1 End-to-End-Tests

  • Produkte durchsuchen > In den Warenkorb > Bestellen > Bestellung einsehen
  • Admin > Produkt hinzufuegen > Bestand aktualisieren > Bestellungen anzeigen

Liefergegenstaende

  • [ ] Online-Demo-Link
  • [ ] Quellcode-Repository (mit README)
  • [ ] PRD-Dokument
  • [ ] Kernseiten-Screenshots
  • [ ] 60-Sekunden-Demo-Video

Bewertungskriterien

DimensionGrundanforderungErweiterte Anforderung
PRD-AlignmentSeiten, Funktionen, Service-Aufteilung gemaess PRDService-Aufteilungsgruende klar erklaert
ProduktabschlussDurchsuchen > Bestellen > Bestandsabbuchung > Bestellung lauffaehigKompensationsmechanismus bei Timeout oder unzureichendem Bestand
Service-ArchitekturJeder Service unabhaengig startbar, ueber Gateway erreichbarFehlerbehandlung und Retry bei Service-Kommunikation
Admin-FaehigkeitProdukt-, Bestands- und Bestellverwaltung bedienbarAdmin mit Datenstatistiken
EngineeringFrontend, Gateway, Services, Datenbank verbundenDocker Compose oder aehnliche Orchestrierung

Referenzmaterialien