Car Wash Delivery
Ecosistem complet de 4 aplicații pentru servicii de spălătorie auto la domiciliu: app client Flutter, app agent de livrare Flutter, panou admin SvelteKit și backend NestJS cu job queues și tracking în timp real.
Stack principal
Provocarea
Coordonarea în timp real între client, agent și admin în același moment — când un client plasează o comandă, aceasta trebuie să apară simultan la toți agenții disponibili din zonă, iar când un agent o acceptă, clientul și adminul trebuie notificați instant. Job queue-urile BullMQ trebuiau să gestioneze timeout-uri (comandă neacceptată în X minute → redistribuire), retry logic și prioritizare geografică. Construirea a 4 aplicații separate cu UX consistent și sincronizare de date fără conflicte a fost principala provocare arhitecturală.
Soluția
Socket.io cu rooms per comandă și per zonă geografică pentru broadcasting selectiv — agentul primește doar comenzile din zona lui, nu toate comenzile platformei. BullMQ + Redis pentru job queues: timeout redistribuire (comandă neacceptată în 5 min → requeue), procesare plăți asincronă, trimitere notificări. Prisma cu PostgreSQL pentru tranzacții ACID la acceptarea comenzilor (previne double-booking). Firebase Admin SDK pentru push notifications cross-platform. Flutter cu Riverpod + go_router pentru state management consistent în ambele app-uri mobile. SvelteKit cu adapter-node pentru admin SSR. Leaflet.js pentru harta live a agenților (mai ușor decât Google Maps în browser).
Complexitate notabilă
Car Wash Delivery este o platformă end-to-end pentru servicii de spălătorie auto la domiciliu, construită ca un ecosistem de 4 aplicații independente care comunică printr-un backend comun. Aplicația client (Flutter + Riverpod) permite utilizatorilor să comande o spălătorie, să urmărească agentul pe hartă în timp real (Google Maps + Socket.io), să plătească prin Stripe și să gestioneze mai multe vehicule și adrese. Aplicația agentului de livrare (Flutter) afișează comenzile disponibile în zonă, permite acceptarea și navigarea GPS la client, și raportează statusul în timp real. Panoul de administrare (SvelteKit + Tailwind v4) oferă o hartă live cu toți agenții activi (Leaflet.js + Socket.io), gestionarea comenzilor, prețurilor și zonelor de acoperire. Backendului (Node.js/Express + TypeScript + Prisma + PostgreSQL) gestionează logica de business, job queues cu BullMQ + Redis pentru procesarea comenzilor asincrone, notificări push via Firebase Cloud Messaging și plăți Stripe. Arhitectura folosește Socket.io pentru comunicare bidirecțională în timp real între toate cele 4 aplicații — când un agent acceptă o comandă, clientul vede actualizarea instantaneu fără polling. AWS S3 pentru stocarea imaginilor (dovezi de spălătorie). Prisma ORM cu PostgreSQL pentru schema relațională complexă (comenzi, agenți, zone, vehicule, prețuri).
Rezultate cheie
- 4 aplicații funcționale livrate: client Flutter, agent Flutter, admin SvelteKit, backend Node.js
- Tracking în timp real agent → client via Socket.io
- Job queues BullMQ cu redistribuire automată comenzi neacceptate
- Plăți Stripe integrate în app Flutter (flutter_stripe)
- Publicat pe Google Play Store
Vrei ceva similar?
Începe cu wizard-ul de estimare — răspunzi la câteva întrebări și primești un range de preț + timeline realist.