VinTrace est une plateforme SaaS (B2C) permettant aux propriétaires de Youngtimers et de véhicules d'exception de créer un "Double Numérique" de leur véhicule. Plus qu'un simple carnet d'entretien, c'est un dossier notarial numérique visant à valoriser le patrimoine automobile.
- Garage Virtuel : Vue d'ensemble de la collection.
- Timeline de Vie : Historique chronologique (Maintenance, Modifs, Administratif).
- Preuves Numériques : Stockage sécurisé des factures et photos de restauration.
- Showroom Public : Page de vente optimisée masquant les données sensibles (VIN partiel, adresse).
- Framework : Next.js 16 (App Router) - Server Components par défaut.
- Langage : TypeScript (Strict mode).
- UI/UX : Tailwind CSS + ShadcnUI
- Backend-as-a-Service : Supabase (PostgreSQL, Auth, Storage).
- Paiements : Polar.sh
- Emails : Resend.
L'architecture est optimisée pour le Serverless et la sécurité (RLS Supabase) :
profiles: Données utilisateurs.vehicles: Le cœur du système (lié auowner_id).entries: La preuve de la valeur du véhicule (maintenance, modifications, administratif).
Le bucket vehicle-media centralise tous les fichiers liés aux véhicules, organisés par véhicule :
vehicle-media/
└── [vehicleId]/
└── cover-image/ → Photo principale du véhicule- Cloner le projet :
git clone https://github.com/raaaton/vin-trace.git
cd vin-trace- Installer les dépendances :
pnpm install
- Variables d'environnement :
Créer un fichier .env.local basé sur .env.example :
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
CRON_SECRET=your_random_cron_secret
# Optional API keys for additional features that have not yet been implemented in this project
POLAR_API_KEY=your_polar_key
RESEND_API_KEY=your_resend_key
- Lancer le serveur :
pnpm dev
- Initialisation Next.js 16 + Shadcn.
- Setup Supabase Auth & Schema.
- Garage
- Dashboard "Garage" (fetch les véhicules).
- Ajout de véhicule : Formulaire de création (Marque, Modèle, Année, VIN) avec validation stricte.
- Timeline d'événements avec Upload Storage.
- Showroom public.