Fallstudie
DropTaxi
Mandantenfaehige Taxi-Buchungs-SaaS fuer indische Taxiunternehmer. Ein Deployment bedient jeden Mandanten mit markenspezifischen Websites, eigenen Domains und Betreiber-spezifischem SEO.
164
Tests bestanden
5
Fahrzeugtypen unterstuetzt
0
Deployments fuer neuen Mandanten
Die Herausforderung
Taxiunternehmer brauchten markenspezifische Websites ohne Infrastrukturkosten pro Mandant
Kleine Taxiunternehmer in ganz Indien fuehren ihr Geschaeft ueber Telefonanrufe und WhatsApp. Sie haben keine Webpraesenz. Die wenigen, die eine haben, zahlen fuer eine individuell erstellte Website, die monatlich Tausende Rupien an Hosting kostet. Tarife aktualisieren oder Staedte hinzufuegen bedeutet, einen Entwickler anzurufen.
Der Kunde wollte eine Plattform, auf der jeder Betreiber eine markenspezifische, SEO-optimierte Buchungswebsite erhaelt, indem er eine Domain verknuepft und ein Formular ausfuellt. Keine Code-Aenderungen. Kein erneutes Deployment. Die Buchungsseiten mussten Tarife fuer Einweg- und Hin-und-Rueckfahrten ueber fuenf Fahrzeugtypen berechnen, Buchungsbenachrichtigungen ueber Telegram senden und bei Google fuer die Zielstadt jedes Betreibers ranken.
Die Einschraenkung: All das musste auf einem einzigen Deployment laufen. Ein Server. Eine Codebasis. Jeder Mandant aus der gleichen Infrastruktur bedient.
Was wir gebaut haben
Eine vollstaendige SaaS-Plattform, von der Buchungsmaschine bis zum Admin-Dashboard
Markenspezifische Websites pro Mandant
Jeder Betreiber erhaelt eine Website mit seinem Markennamen, Logo, Designfarben und eigener Domain. Die SSR-Schicht liest den Host-Header bei jeder Anfrage, loest den Mandanten aus Turso auf und rendert das korrekte Branding. Besucher sehen eine vollstaendige Buchungsseite. Sie wissen nie, dass sie Infrastruktur mit Dutzenden anderer Betreiber teilt.
Gemeinsame Tarifmaschine
Eine Tarifberechnungsmaschine verarbeitet die Preise jedes Mandanten. Sie unterstuetzt Einweg- und Hin-und-Rueckfahrten ueber fuenf Fahrzeugtypen: Hatchback, Sedan, SUV, Innova und Innova Crysta. Jeder Mandant legt seine eigenen Kilometerpreise ueber das Admin-Dashboard fest. Die Maschine ruft die korrekten Tarife zur Anfragezeit ab und liefert dem Nutzer eine sofortige Tarifaufschluesselung.
Super-Admin-Dashboard
Das Dashboard unter taxi.savibm.com gibt dem Plattformbesitzer volle Kontrolle. Mandanten erstellen, Designfarben konfigurieren, Tarife pro Fahrzeugtyp festlegen, Stadtrouten verwalten und Buchungen aller Betreiber einsehen. Jede Aenderung wird innerhalb von Sekunden auf der Live-Mandantenwebsite wirksam, ohne Deployment.
Telegram-Benachrichtigungen
Jeder Mandant verbindet seinen Telegram-Bot. Wenn ein Kunde eine Fahrt bucht, erhaelt der Betreiber eine sofortige Benachrichtigung mit Routendetails, Fahrzeugtyp und Tarif. Keine App zu installieren, kein Dashboard zu ueberwachen.
SEO pro Mandant
Jede Mandanten-Website generiert eigene Meta-Tags, Open-Graph-Bilder, strukturierte Daten und eine Sitemap. Wenn jemand nach "Taxibuchung [Stadtname]" sucht, erscheint die markenspezifische Website des Betreibers, nicht eine generische Plattformseite.
Onboarding ohne Deployment
Einen neuen Taxiunternehmer hinzuzufuegen erfordert drei Schritte: Mandant im Admin-Dashboard erstellen, Branding und Tarife konfigurieren, DNS verknuepfen. Die Plattform erkennt die neue Domain bei der naechsten Anfrage. Keine Code-Aenderungen, keine CI-Pipeline.
Architektur
Ein Deployment, viele Marken
Der Anfrage-Ablauf
- 1 Ein Kunde besucht svdroptaxi.com. Die Anfrage trifft auf eine einzelne Fly.io-Maschine, die Astro 5 im SSR-Modus ausfuehrt.
- 2 Hono-Middleware extrahiert den Host-Header und fragt Turso (ueber Drizzle ORM) ab, um den Mandanten anhand der Domain aufzuloesen.
- 3 Die Konfiguration des Mandanten (Markenname, Farben, Logo, Tarife, Stadtrouten) wird in den Anfrage-Kontext geladen.
- 4 Astro rendert die Seite mit dem Branding des Mandanten. React-Komponenten uebernehmen den Tarifrechner und das Buchungsformular auf der Client-Seite.
- 5 Bei der Buchungsabgabe validiert die API-Route mit Zod, schreibt in Turso und sendet eine Telegram-Benachrichtigung an den Bot des Betreibers.
Turborepo-Monorepo
Die Codebasis teilt sich in Pakete auf: die mandantenseitige Astro-App, das Admin-Dashboard, gemeinsame Datenbankschemas und die Tarifberechnungsmaschine. Turborepo cached Builds paketuebergreifend, sodass eine Aenderung an der Tarifmaschine nur das neu baut, was davon abhaengt.
Turso am Edge
Turso stellt eingebettete SQLite-Repliken nahe der Nutzer bereit. Mandantenaufloesung dauert einstellige Millisekunden. Drizzle ORM liefert typsichere Abfragen mit Zod-Schema-Validierung an der Grenze, und 164 Vitest-Tests decken die Tarifmaschine, Mandantenaufloesung und den Buchungsablauf ab.
Ergebnisse
164
Tests decken Tarifmaschine, Mandantenaufloesung und Buchungsablauf ab
0
Deployments noetig, um einen neuen Taxiunternehmer aufzunehmen
5
Fahrzeugtypen mit unabhaengigen Tarifen pro Mandant
1
Fly.io-Maschine bedient alle Mandanten aus einem einzigen Deployment
Kontakt
Gespraech starten
Erzaehlen Sie uns von Ihrem Projekt. Wir antworten innerhalb von 24 Stunden mit einem klaren Plan, geschaetztem Zeitrahmen und Preisrahmen.
Standort
VAE & Indien
Nachricht erhalten
Wir prüfen Ihr Projekt und melden uns innerhalb von 24 Stunden.
Sie erreichen uns auch unter hello@savibm.com