Retour aux projets
VA Beauty

VA Beauty

Site Vitrine & Système de Réservation

Rôle: Full Stack Developer | UI/UX Designer
Période: Mai - Août 2025
En Production
Visiter le projet
Client: VA Beauty

Aperçu

Contexte

VA Beauty est un institut de beauté boutique à Aubagne, France, spécialisé dans les soins du visage haut de gamme et la micropigmentation. La propriétaire avait besoin d'une présence digitale reflétant la qualité premium de ses services. Le problème : aucune présence en ligne, rendez-vous manuels par téléphone/WhatsApp, pas de portfolio visuel pour montrer les résultats, et gestion manuelle des services et tarifs.

Solution

Développement d'un site vitrine professionnel complet avec : (1) Landing page premium avec sections services, galerie avant/après et témoignages ; (2) Système de réservation intégré à Cal.com avec calendrier en temps réel et paiement Stripe ; (3) Galerie dynamique supportant images, avant/après et vidéos réseaux sociaux ; (4) Blog géré via Sanity CMS pour contenu marketing ; (5) Panneau d'administration pour la gestion des services et galerie sans connaissances techniques.

Mon Rôle

J'ai travaillé en tant que Full Stack Developer et UI/UX Designer, créant tout le design d'interface de zéro et implémentant la solution complète. J'ai développé l'architecture avec Next.js 15 et React 19, intégré plusieurs services externes (Supabase, Cal.com, Stripe, Cloudinary, Sanity), et construit le panneau d'administration pour la gestion autonome du contenu.

Stack Technique

Frontend

Next.js 15
React 19
TypeScript
Tailwind CSS 4
shadcn/ui
Radix UI
Lucide React
react-day-picker
class-variance-authority

Backend

Supabase (PostgreSQL + Auth + RLS)
Stripe
Cal.com
Cloudinary
Sanity CMS
Vercel

Projets

1

Site Vitrine & Booking

Plateforme Complète de Réservation en Ligne

~30.135
Lignes de Code
188
Fichiers
57
Composants
32 routes API
Pages

Site vitrine professionnel avec système de réservation intégré. J'ai créé tout le design UI/UX et implémenté landing page premium, catalogue de services, galerie dynamique, blog, et flux complet de réservation avec paiement.

Fonctionnalités

01
Landing Page Premium

Hero avec dégradé, indicateurs de confiance (500+ clients, 5★), sections services et témoignages

02
Catalogue de Services

Grille avec 3 catégories (Sourcils, Lèvres, Soins), combos/packs avec tarifs

03
Galerie Avant/Après

Filtre par catégorie, types de médias (images, avant/après, vidéos), modal plein écran

04
Flux de Réservation Multi-Étapes

4 étapes : sélection service → date/heure → informations → confirmation/paiement

05
Calendrier Cal.com

Widget intégré avec disponibilité en temps réel et timezone automatique

06
Vidéos Intégrées

Support Instagram, YouTube et TikTok avec embed responsive

07
Blog Intégré

Articles gérés via Sanity CMS avec SEO optimisé

08
Design Responsive

Mobile-first avec typographie Sora et système de couleurs avec dégradés

09
Auth Supabase

Authentification avec vérification admin via table admin_accounts

10
Row Level Security

Politiques RLS pour la protection des données PostgreSQL

11
Intégration Stripe

Paiements avec Connected Accounts et webhooks bidirectionnels

12
Intégration Cal.com

API pour disponibilité, création de réservations et synchronisation

13
Upload Cloudinary

Optimisation automatique des images, transformations à la volée, CDN global

14
Sanity CMS

Studio personnalisable pour gestion de blog avec queries GROQ

15
Routes API Protégées

Endpoints pour booking, gallery, admin avec validation et gestion d'erreurs

16
Middleware de Protection

Next.js Middleware protégeant les routes /admin et /studio

Design Patterns

App Router Pattern
Server/Client Components
Multi-Step Form Pattern
Provider Pattern
Middleware Protection
API Route Pattern

Décisions Techniques

Next.js 15 + React 19

Server Components pour performance, App Router pour organisation, Turbopack pour builds rapides

Supabase vs Firebase

PostgreSQL réel avec SQL, Row Level Security natif, auth intégré, open source, tarifs abordables

Cal.com vs Calendly

Open source, API flexible, intégration Stripe native, personnalisation complète, sans branding imposé

Cloudinary vs S3

Optimisation automatique des images, transformations à la volée, CDN global inclus, tier gratuit généreux

Sanity vs Contentful

Studio personnalisable, langage de requête GROQ puissant, collaboration temps réel, tier gratuit généreux

shadcn/ui vs Material UI

Copy-paste pas dépendance, personnalisation totale, accessibilité via Radix, bundle plus petit, Tailwind natif

Défis & Solutions

Intégration Cal.com + Stripe

Stripe Connected Account, webhooks bidirectionnels (Cal → App, Stripe → App), endpoints de diagnostic pour debug

Galerie Multi-Médias

Schéma flexible avec type discriminator, composant MediaModal détectant le type, embed vidéo responsive

Contrôle d'Accès Admin

Table admin_accounts avec permissions JSONB, flag is_active, super-admin fallback, politiques RLS

SEO pour Services Dynamiques

generateMetadata dans chaque page, données structurées JSON-LD, sitemap dynamique, alt text requis

Performance avec Beaucoup d'Images

Next.js Image avec lazy loading, Cloudinary pour optimisation, placeholder blur, sizes responsive

Galerie

1
Image 1
2
Image 2
3
Image 3
4
Image 4
5
Image 5
6
Image 6
Gregory Praxedes | Full Stack Developer & UI/UX Specialist