Wird geladen000%

← Alle ProjekteAbschlussprojekt Ingenieurstudium · Dundill · 2025

Plattform zur Optimierung von Lieferrouten

Drei NestJS-Microservices, die Events über RabbitMQ austauschen, eine heuristische Routen-Engine auf realen Straßendistanzen, Live-Tracking der Fahrer und drei Client-Apps.

  • NestJS
  • GraphQL
  • RabbitMQ
  • MongoDB
  • React
  • React Native
Architektur-Walkthrough auf Anfrage

01 · Kontext

Ein Lieferdienst für die letzte Meile muss drei Gruppen koordinieren: Partner, die Aufträge anlegen, Admins, die sie disponieren, und Fahrer auf der Straße. Entstanden als Abschlussprojekt meines Ingenieurstudiums bei Dundill.

02 · Herausforderung

Aus einer Liste von Paketen für jeden Fahrer eine effiziente Route machen, alle Beteiligten in Echtzeit informieren und das System wartbar halten, während der Funktionsumfang wächst.

03 · Architektur

  • Drei NestJS-Services (Users, Orders, Notifications), jeder mit eigenen MongoDB-Daten und eigener GraphQL-API.
  • RabbitMQ-Topic-Exchanges transportieren Domain-Events zwischen den Services (Benutzeränderungen, Statusupdates von Paketen).
  • Ein WebSocket-Gateway überträgt Fahrerpositionen in Echtzeit an das Backoffice.
  • Benachrichtigungen werden per E-Mail und über GraphQL-Subscriptions zugestellt.
  • Clients: ein React-Backoffice, ein React-Partner-Dashboard und eine React-Native-App (Expo) für Fahrer.

04 · Wichtige Entscheidungen

  • Events statt direkter Aufrufe

    Zustandsänderungen laufen als asynchrone Events, sodass ein langsamer Benachrichtigungsdienst nie einen Auftrag blockiert.

  • Nichts geht verloren

    Eine Dead-Letter-Queue und automatischer Reconnect bewahren fehlgeschlagene Nachrichten, statt sie zu verwerfen.

  • Routing auf echten Straßen

    Die Stopps werden per Nearest-Neighbour-Konstruktion mit anschließender 2-opt-Verbesserung auf realen Straßendistanzen geordnet – mit einem Fallback-Routing-Anbieter, damit die Optimierung weiterläuft, wenn einer ausfällt.

  • Sicherheit an der Domänengrenze

    Sechs Rollen, durchgesetzt von JWT-Guards im Identity-Service; die übrigen Services prüfen Tokens über ihn.

05 · Ergebnis

Eine durchgängig funktionierende Plattform über sechs Codebasen: Fahrer erhalten einen optimierten Tourenplan, Admins verfolgen die Fahrer live und Partner bekommen Statusupdates in Echtzeit. Architektur-Walkthrough auf Anfrage.