prestige.cars

Prestige Cars

Un'esclusiva piattaforma di noleggio auto di lusso. Architettura modulare a microservizi per fleet management, disponibilità in tempo reale e operatività multi-location a Dubai, Parigi e oltre.

Torna ai progetti

14

Microservizi

27+

Lingue

11

Workflow Saga

200+

Endpoint API

Panoramica del progetto

Il punto di partenza

Dubai skyline at dusk — the world Prestige Cars operates in

L'azienda di noleggio auto di lusso Prestige Cars si è rivolta a noi con una visione chiara: un'unica piattaforma per l'intera attività. Fleet management, prenotazioni, comunicazione con i clienti, veicoli sostitutivi, pagamenti - tutto in un unico posto. Ogni sede indipendente, ma un solo brand.

Per noi è stato subito chiaro: non si trattava di un sito web con un modulo di prenotazione, ma di un sistema operativo completo per diverse sedi internazionali. Dal primo clic alla fatturazione finale - ogni processo doveva essere digitalizzato.

01

Sfida

L'obiettivo era una piattaforma premium di noleggio auto all'altezza dell'esclusività dei veicoli presentati. Prestige Cars necessitava di una pagina di prenotazione per i clienti, fleet management e un portale partner per gli operatori delle sedi, tutto in oltre 27 lingue e in diverse sedi internazionali.

02

Approccio

Abbiamo progettato un'architettura modulare a microservizi per garantire scalabilità e affidabilità. Un frontend Nuxt 3 si connette a 14 microservizi Go basati sul framework di Event Sourcing goes, comunica tramite gRPC e NATS ed è orchestrato da 11 Sagas per workflow di prenotazione complessi.

03

Risultato

Una piattaforma pronta per la produzione con 14 microservizi, integrazione Stripe e supporto multi-location. Attualmente attiva a Dubai e Parigi, con un'espansione prevista in Europa, America e Asia.

Piattaforma

Tre app, un backend

La piattaforma è composta da tre applicazioni interconnesse, tutte alimentate dallo stesso backend a microservizi Go. Ogni app si rivolge a un diverso gruppo di utenti con funzionalità su misura.

prestige.cars
Prenotazione clienti
admin.prestige.cars
Dashboard amministrativa
partner.prestige.cars
Portale partner

Prenotazione clienti

La pagina di prenotazione rivolta ai clienti, dove gli utenti possono esplorare la flotta di lusso, verificare la disponibilità in tempo reale e completare le prenotazioni con Stripe Payments. Supporta oltre 27 lingue con piena ottimizzazione SEO.

Esplorazione della flotta
Disponibilità in tempo reale
Stripe Payments
Oltre 27 lingue
Pagine delle sedi
Dettagli dei veicoli
Shared Go Microservices Backend

Identità del brand

Branding & Design System

Per Prestige Cars abbiamo sviluppato un'identità di brand che comunica lusso, esclusività e fiducia. L'oro caldo su fondo scuro trasmette il posizionamento premium del marchio.

Logo & Wordmark

Il logo Prestige è un elegante wordmark in una classica sans-serif. La tipografia raffinata, combinata con il marchio registrato, comunica esclusività e serietà. In bianco caldo su sfondo scuro esprime al meglio il suo impatto.

Prestige Cars Logo

Design System

Il sistema cromatico si basa su un oro caldo (#E0C585) come colore primario, completato da una tonalità scura profonda (#1A1F28) come colore di sfondo. El Messiri viene utilizzato come font per i titoli, Nunito Sans per il testo. La combinazione trasmette lusso mantenendo al contempo la leggibilità.

Prestige Cars

Dark Mode

Prestige Cars

Light Mode

Primary

#E0C585

#F5ECD7
#EBD9AF
#E6C78A
#E0C585
#BA9859
#8A6F3E

Headline

Aa

El Messiri · Bold · 700

Buttons

Dark

#1A1F28

Body

Aa

Nunito Sans · Regular · 400

Line Weights

1px · Accent

2px · Divider

4px · Section

Icons

Car
Calendar
Map
Card
User
Key

Dark Gold

#2F2D27

Components

Search fleet...
AvailableBookedDraft

Lamborghini Huracán EVO

92%

Espansione globale

Presenza mondiale

La piattaforma è progettata per la scalabilità globale. Attualmente attiva a Dubai e Parigi, con un'espansione prevista in Europa, America e Asia. Ogni sede opera in modo indipendente con prezzi locali, flotta propria e impostazioni linguistiche.

Presenza globale

Sedi di noleggio di veicoli di lusso in tutto il mondo

Attivo Prossimamente disponibile

modernice ha realizzato una piattaforma complessa con la massima qualità. L'architettura a microservizi ci consente di integrare facilmente nuove sedi e funzionalità.

Prestige Cars

Prestige Cars

Direzione

Architettura tecnica

Microservizi & Event Sourcing

Il backend si basa su microservizi Go con il framework di Event Sourcing goes. Gli eventi di dominio fungono da single source of truth, sono archiviati in MongoDB, comunicati tramite gRPC e distribuiti attraverso il NATS Event Bus. Ogni servizio è progettato per affidabilità e scalabilità.

API Gateway
Auth
Booking
Billing
Fleet
FleetMedia
Partner
Profile
Search
Store
Notification
Support
Delivery
Activity

Decisioni architetturali

01

Il backend è organizzato come monorepo Go con 14 microservizi che comunicano tramite gRPC. Ogni servizio gestisce il proprio Bounded Context con un event store dedicato. Il design multi-tenant consente l'onboarding di nuovi brand tramite configurazione anziché modifiche al codice.

02

Gli eventi di dominio costituiscono la single source of truth: ogni modifica di stato viene persistita come evento immutabile in MongoDB e distribuita tramite NATS a tutti i servizi interessati. 11 Sagas orchestrano workflow di prenotazione complessi.

03

La comunicazione tra servizi avviene tramite gRPC con Protocol Buffers per chiamate performanti e type-safe. Il REST Gateway basato su Chi traduce gli endpoint gRPC per il frontend.

1

Frontend

Nuxt 3 + Vue 3

Nuxt 3Vue 3Tailwind CSSi18nNuxt Content

Server-side rendering con Tailwind CSS, oltre 27 lingue tramite Nuxt i18n, icone FontAwesome Pro e Nuxt Content per il blog.

2

API Gateway

Go + Chi Router

GoChiJWTCORS

Gateway REST per l'orchestrazione dei microservizi con autenticazione JWT, gestione CORS, rate limiting ed elaborazione dei webhook Stripe.

3

Microservizi

14 Bounded Contexts

gRPCMongoDBNATSgoesSagas

Aggregati event-sourced con gRPC. Eventi di dominio tramite NATS, MongoDB come event store, 11 Sagas.

4

Infrastruttura

Docker + GCP

DockerTraefikGCSDopplerGCR

Oltre 14 container con Traefik come reverse proxy e TLS. Doppler per i segreti, Google Cloud per media e immagini.

Tech Stack

  • Nuxt 3 + Vue 3
  • Go 1.20
  • gRPC + Protocol Buffers
  • MongoDB (Event Store)
  • NATS (Event Bus)
  • Tailwind CSS
  • Stripe (Payments)
  • Google Cloud Storage
  • Docker + Traefik
  • Doppler (Secrets)
  • goes (Event Sourcing)
  • Chi (HTTP Router)

Funzionalità della piattaforma

Funzionalità principali del sistema

01

Catalogo veicoli

Ricerca completa dei veicoli con filtri per sede, categoria, marca e disponibilità. Pagine di dettaglio con gallerie di immagini ed elenchi delle dotazioni.

02

Sistema di prenotazione

Flusso di prenotazione completo con creazione di offerte, gestione delle richieste, verifica della disponibilità e conferma automatica tramite 11 Sagas.

03

Gestione pagamenti

Integrazione Stripe per i pagamenti dei clienti con elaborazione webhook, fatturazione automatizzata e monitoraggio dei pagamenti.

04

Gestione partner

Portale dedicato agli operatori delle sedi per gestire flotte, prenotazioni e fatturazione con controllo degli accessi basato sui ruoli.

05

Ricerca veicoli

Search Projection event-driven per la ricerca di veicoli in tempo reale con filtri per sede, periodo e categoria di veicolo.

06

Notifiche

Workflow e-mail automatizzati e notifiche Web Push per conferme di prenotazione, promemoria e aggiornamenti sullo stato.

07

Gestione delle sedi

Supporto multi-location con landing page dedicate, orari di apertura, panoramiche delle flotte e contenuti localizzati.

08

Gallerie multimediali

Integrazione con Google Cloud Storage per immagini dei veicoli, con elaborazione automatica delle immagini, gestione delle gallerie e distribuzione CDN.

Servizi forniti

  • Frontend Nuxt 3 con oltre 27 lingue
  • 14 microservizi Go con Event Sourcing (goes)
  • Comunicazione gRPC con REST API Gateway (Chi)
  • Integrazione dei pagamenti Stripe con elaborazione webhook
  • Google Cloud Storage per la gestione dei media
  • 11 orchestrazioni Saga per i workflow di prenotazione
  • NATS Event Bus per la comunicazione asincrona
  • Portale partner con accesso basato sui ruoli
  • Supporto multi-location (Dubai, Parigi e altre)
  • Notifiche Web Push (VAPID)
  • Infrastruttura Docker con reverse proxy Traefik
  • Integrazione Doppler Secrets Management

Approfondimenti sul progetto

Dettagli tecnici e decisioni chiave alla base del progetto Prestige Cars

Il framework goes offre un sistema di Event Sourcing ben progettato specificamente per Go, con supporto integrato per MongoDB come event store e NATS come event bus. In combinazione con il modello di concorrenza di Go e il ridotto memory footprint, costituisce una base ideale per microservizi performanti.

Le Sagas orchestrano workflow complessi tra più servizi, come richieste di prenotazione, creazione di offerte e onboarding dei partner. Ogni Saga reagisce agli eventi di dominio e coordina i servizi coinvolti per garantire la coerenza transazionale oltre i confini dei servizi.

Il frontend utilizza Nuxt i18n con oltre 27 lingue, tra cui tedesco, inglese, francese, arabo e altre. L'architettura i18n supporta il rilevamento del browser, la persistenza basata sui cookie e il routing dinamico.

Il servizio Store gestisce singole sedi con landing page dedicate, assegnazioni della flotta, orari di apertura e contenuti localizzati. Nuove sedi possono essere create tramite la dashboard di amministrazione senza modifiche al codice.

Stripe gestisce tutti i pagamenti. Il servizio Billing elabora i webhook per le conferme di pagamento, gestisce le fatture e monitora lo stato dei pagamenti. L'integrazione supporta più valute per le sedi internazionali.

Tutti i servizi vengono distribuiti come container Docker con Alpine Linux e Doppler per la gestione dei segreti. Traefik funge da reverse proxy con TLS automatico. Le immagini dei container sono gestite tramite Google Container Registry.

Contattaci

Stai pianificando una piattaforma con più sedi, disponibilità in tempo reale o operazioni complesse? Raccontaci il tuo progetto e ti mostriamo come impostarla in modo pulito.