Proiect Principal — Deploiat în Producție

Beauty Secret
Platformă de Management Salon

O aplicație SaaS full-stack de nivel producție pentru un salon de frumusețe de lux din București, România. End-to-end: rezervări în timp real, plăți Stripe, tablouri de bord bazate pe roluri, internaționalizare și acoperire completă de teste — construită cu fluxuri de dezvoltare augmentate cu AI.

0+
Linii de Cod
0
Fișiere Sursă
0+
Funcții Backend
0+
Cazuri de Test
0
Commit-uri Git

Ce Am Construit și De Ce

O platformă reală, orientată spre clienți, care deservește trei roluri distincte de utilizatori, procesează plăți reale și rulează în producție la www.b-secret.com.

Problema

Un salon de frumusețe cu 4 angajați, peste 177 de servicii în 8 categorii, și clienți care rezervau prin WhatsApp și apeluri telefonice. Niciun sistem centralizat pentru disponibilitate, plăți, programare sau urmărirea performanței angajaților. Zero prezență online pentru descoperire SEO.

Soluția

O platformă full-stack cu o experiență de rezervare publică, tablouri de bord în timp real pentru trei roluri (client, angajat, admin), plăți Stripe integrate cu suport pentru avans, un program de recompense de loialitate și pagini de destinație de categorie optimizate SEO — toate internaționalizate în engleză și română.

b-secret.com
Beauty Secret landing page — premium beauty salon in Bucharest

Stiva Tehnologică

Next.js 16React 19TypeScript 5Tailwind CSS 4ConvexClerk AuthStripenext-intlnext-themesGSAPRechartsdate-fnsVitestPlaywrightVercelGoogle Maps
0
Tabele Bază de Date
0
Componente React
0
Rute Aplicație
0
Servicii Catalogate
0
Categorii de Servicii
0
Roluri Utilizator
0
Limbi (EN/RO)
0
Profile Dispozitive E2E

Cum Se Îmbină Totul

O arhitectură serverless construită pentru reactivitate în timp real, siguranță de tip end-to-end și securitate de nivel producție.

NIVELUL CLIENT
Next.js 16
App Router + RSC
React 19
102 Componente
Tailwind CSS 4
Teme Dark/Light
WebSocket + REST
MIDDLEWARE
Clerk Auth
JWT + RBAC
next-intl
Rutare i18n
Proxy Middleware
Auth + Limbă
Interogări Reactive + Mutații
NIVELUL BACKEND
Convex
BD Serverless Timp Real
157+ Functions
Interogări + Mutații
HTTP Actions
Endpoint-uri Webhook
Integrări Externe
SERVICII TERȚE
Stripe
Plăți + Webhook-uri
Google Maps
Embed + Direcții
Instagram
Feed Galerie
WhatsApp
Contact Direct
INFRASTRUCTURĂ
Vercel
Rețea Edge
Convex Cloud
Backend Serverless
Clerk Hosted
Infrastructură Auth

Schema Bazei de Date — 16 Tabele

Bază de date serverless Convex cu interogări reactive în timp real, invalidare automată a cache-ului și actualizări live prin WebSocket. Toate prețurile stocate în bani pentru precizie.

TabelScopCaracteristici Cheie
categoriesCategorii de servicii (8 tipuri)Slug-uri, ordine afișare, nume i18n
servicesPeste 177 de tratamente de frumusețePrețuri per unitate, durată, etichete gen
employeesMembri echipă (4 activi)Biografie, specializări, configurare comision
employeeAvailabilityPrograme săptămânaleZi din săptămână + intervale orare HH:mm
employeeScheduleOverridesZile libere & ore personalizateSuprascrieri specifice datei
customersClienți pentru rezervăriDeduplicare email/telefon, puncte loialitate
appointmentsÎnregistrări de rezervareMașină de stare, detectare conflicte
paymentsTranzacții StripeAvans (30%) sau integral, urmărire rambursare
reviewsEvaluări cu 5 steleLegate de programările finalizate
giftCardsSistem carduri cadouGenerare cod, sold, expirare
loyaltyTiersRecompense pe 4 niveluriPraguri de puncte, avansare automată
loyaltyHistoryTranzacții de puncteCâștigare/răscumpărare cu link-uri programare
salaryPaymentsÎnregistrări salarizareUrmărire comision + salariu
expensesCosturi operaționaleCategorizate, agregare lunară
changeLogsPistă de auditValori înainte/după, executant
salonSettingsConfigurare globalăOre, timp de avans, intervale slot

Rute Aplicație — 38 Pagini

Public Orientat spre Client

  • Pagină principală (7 secțiuni)
  • Navigare servicii & pagini de categorie
  • 8 pagini de destinație SEO categorie
  • Conectare / Înregistrare (Clerk)

Protejat Tablou de Bord Client

  • Programări (viitoare & trecute)
  • Nivel loialitate & istoric puncte
  • Gestionare profil
  • Preferințe de rezervare

Protejat Tablou de Bord Angajat

  • Programul zilei & calendar
  • Câștiguri & performanță
  • Gestionare disponibilitate
  • Realizări & recenzii

Admin Suită Completă de Management — 12 Sub-pagini

AppointmentsCalendar + HeatmapStaff ManagementService CatalogCustomer CRMFinancial ReportsPerformance AnalyticsReview ModerationGift CardsActivity / Audit LogAlerts SystemSalary Payouts

Ce Face Platforma

Wizard de Rezervare în 5 Pași

Un flux ghidat care îndrumă clienții prin selecția serviciului, preferința angajatului, alegerea datei/orei cu disponibilitate în timp real, detaliile clientului și un rezumat cu opțiuni de plată.

1. Selecția Serviciului
Filtrare pe categorie cu grupare pe gen & interstitial de consultație
2. Selecția Angajatului
Filtrat la personalul care oferă serviciul selectat
3. Alegere Dată & Oră
Grilă calendar + sloturi orare cu disponibilitate fără conflicte
4. Formular Client
Vizitator sau autentificat — deduplicare email/telefon
5. Rezumat & Plată
Stripe Checkout: avans 30% sau plată integrală
b-secret.com/booking
Alege Serviciul
Selecție serviciu filtrată pe categorie cu grupare pe gen, prețuri și afișare durată.
Selectează un Serviciu
CoafurăGeneUnghiiEpilareMachiaj
Tuns & Coafat
45 min · Femei
120 lei
Balayage Complet
180 min · Femei
450 lei
Tuns Bărbați
30 min · Bărbați
60 lei
Retușare Rădăcini
90 min · Femei
180 lei
Pasul 1 din 5

Motor Inteligent de Disponibilitate

  • Calculare dinamică a sloturilor per durată serviciu
  • Programe săptămânale angajați + suprascrieri zile libere
  • Detectarea conflictelor previne dubla rezervare
  • Aplicare timp de avans de 60 minute
  • Fereastră maximă de rezervare anticipată de 30 zile
  • Intervale de sloturi de 15 minute
  • Rezervare ca vizitator (fără conectare necesară)
  • Pre-completare instantanee pentru re-rezervare rapidă

Servicii Externe & Cum Se Conectează

Backend

Convex — Bază de Date Timp Real

  • 16 tabele cu indecși optimizați pentru paternuri de interogare
  • Peste 157 funcții server (interogări, mutații, acțiuni)
  • Interogări reactive bazate pe WebSocket (UI auto-actualizat)
  • Acțiuni HTTP pentru endpoint-uri webhook
  • Validatori Convex pentru siguranța tipurilor la nivel de schemă
  • Stocare fișiere integrată pentru încărcări
  • Integrare auth server-side cu verificare JWT Clerk
Plăți

Stripe — Procesare Plăți

  • Creare sesiuni checkout (fluxuri rezervare + card cadou)
  • Plată flexibilă: avans 30% sau suma integrală
  • Handler webhook: checkout.session.completed, charge.refunded
  • Verificare semnătură pe toate webhook-urile
  • Script sincronizare catalog produse
  • Branding personalizat salon pe paginile checkout
  • Auto-confirmare programare la succesul plății
Autentificare

Clerk — Auth & Identitate

  • RBAC pe 3 niveluri: client, angajat, admin
  • Stocare roluri bazată pe metadate JWT
  • Middleware combinat (auth Clerk + rutare next-intl)
  • Restricționare roluri server-side (requirePageRole())
  • Verificări soft client-side (softRequireRole())
  • Verificare JWT Convex server-side
  • Verificare telefon + suport auto-completare
Platformă

Hărți, Social & Mesagerie

  • Embed Google Maps cu border stilizat, strălucire, shimmer de încărcare
  • Click adresă → selector hărți nativ (Google Maps, Waze, Apple Maps)
  • Deep link-uri Geo URI pentru mobil, fallback HTTPS pentru desktop
  • Integrare galerie Instagram
  • Buton acțiune flotant WhatsApp pentru contact direct salon
  • Vercel Analytics & Speed Insights

Flux de Plată — End to End

Client
Completează Rezervarea
Mutație Convex
Creează Programare (ÎN AȘTEPTARE)
Acțiune Convex
Creează Sesiune Stripe Checkout
Stripe Checkout
Avans 30% sau Plată Integrală
Webhook Stripe
checkout.session.completed
Acțiune HTTP Convex
Verifică Semnătura & Procesează
Mutații Interne
Înregistrează Plata + Confirmă Programarea + Acordă Puncte Loialitate

Construind cu Claude Code

Acest proiect demonstrează fluență în dezvoltarea software augmentată cu AI, folosind Claude Code ca partener de dezvoltare pe întregul ciclu de viață.

0
Commit-uri Co-Autorat AI
0%
din Commit-uri Asistate de AI
0
Total Commit-uri
0
Dezvoltator (Solo)

CLAUDE.md — Configurare Agent AI

Un fișier de configurare cuprinzător de 310 linii care servește drept creierul pentru Claude Code — documentând întreaga arhitectură, schema bazei de date, structura de rutare, organizarea componentelor, paternurile de acces la date, fluxul de autentificare și strategia de testare. Aceasta permite agentului AI să ia decizii conștiente de context pe întreaga stivă.

Secțiuni Structurate CLAUDE.md

Configurarea include: scopul proiectului, funcționalități implementate, foaie de parcurs rămasă, comenzi CLI, decizii de arhitectură, tabel de referință module Convex, structura de rutare, paternuri de acces la date, logica sistemului de rezervare, flux de autentificare, configurare i18n, organizarea componentelor, sistemul de stilizare, strategia de testare și un tabel de referință fișiere cheie.

Cum a Fost Folosit AI-ul

Arhitectură & Design Schemă

Design colaborativ al schemei bazei de date cu 16 tabele, strategie de optimizare a indecșilor și arhitectura de interogări reactive. Agentul AI a raționat despre compromisuri de normalizare, paternuri specifice Convex și performanța interogărilor în timp real.

Implementare Funcționalități

Funcționalități complexe precum algoritmul de sloturi de disponibilitate, detectarea conflictelor, calculul nivelurilor de loialitate și gestionarea webhook-urilor Stripe au fost dezvoltate iterativ cu Claude Code, folosind capacitatea sa de a raționa despre cazuri limită și logică bazată pe timp.

Testare & Regresie SEO

Suita de regresie SEO cu 53 de teste și strategia cuprinzătoare de teste E2E pe 17 profile de dispozitive au fost proiectate și implementate cu asistență AI, asigurând acoperirea semnalelor SEO critice și integritatea layout-ului responsive.

Întărire Securitate

Configurarea Content Security Policy, setup-ul HSTS preload, strategia de sincronizare duală CSP (next.config.ts + vercel.json) și paternurile de control al accesului bazat pe roluri au fost dezvoltate cu ghidare AI pe cele mai bune practici de securitate în producție.

i18n & Gestionare Unicode

Suport bilingv cu next-intl, peste 500 de șiruri de traducere, căutare conștientă de diacritice folosind normalizare Unicode NFD și normalizare caractere font Sacramento pentru caractere românești (mapare virgulă-dedesubt la sedilă).

Rafinare Iterativă UI

Sistem de design glass-morphism, animații GSAP, ajustare breakpoint-uri responsive pe iterații de commit-uri și corecții layout mobile-first — reflectând ciclul rapid de iterare permis de dezvoltarea augmentată cu AI.

Structura Configurării CLAUDE.md

Fișierul CLAUDE.md al proiectului acționează ca context persistent pentru agentul AI. Iată cum este organizat pentru a maximiza eficacitatea AI:

Asigurarea Calității

Strategie de Testare

Teste Unitare — 193 Cazuri

Vitest

Regresie SEO53
Carduri Cadou45
Politică Auth Proxy35
Stripe Checkout15
Gestionare Roluri13
Utilități Dată12
Dezvăluire la Scroll10
Sistem Loialitate7
Auth Proxy3

Teste E2E — 221 Scenarii

Playwright

Teste end-to-end cross-browser rulând pe 17 profile de dispozitive, acoperind fiecare rol de utilizator și cale critică din aplicație.

SpecificațieScenariiAcoperire
public47Pagini publice, SEO, navigare
customer38Flux rezervare, loialitate, profil
employee42Program, câștiguri, disponibilitate
admin56Tablou de bord, CRM, analiză
functional38Preocupări transversale, i18n

PROFILE DISPOZITIVE

iPhone SEiPhone 12iPhone 14 ProiPhone 15 Pro MaxiPhone 16 Pro MaxPixel 5Pixel 7Galaxy S24Galaxy S25 UltraiPad MiniiPad Pro 11"

Securitate & Conformitate

Anteturi de Securitate

  • Content-Security-Policy
  • HSTS
  • X-Frame-Options: DENY
  • X-Content-Type-Options: nosniff
  • Referrer-Policy
  • Permissions-Policy

Securitate Aplicație

  • Acces Bazat pe Roluri
  • Verificare JWT
  • Semnături Webhook
  • Sincronizare CSP Duală
  • Pistă de Audit
  • Granițe de Eroare

Lista de Domenii Permise CSP

Content-Security-Policy: // Strict policy with domain allowlist
  default-src 'self';
  script-src 'self' 'unsafe-inline' clerk.accounts.dev *.convex.cloud;
  connect-src 'self' *.convex.cloud api.stripe.com clerk.accounts.dev;
  frame-src api.stripe.com maps.google.com;
  img-src 'self' data: blob: *.clerk.com;
  style-src 'self' 'unsafe-inline';

Treceți cu mouse-ul peste domeniile evidențiate pentru a vedea scopul lor. Configurarea duală CSP sincronizează între anteturile next.config.ts și suprascerierile vercel.json.

Compromisuri Arhitecturale & Rațiune

Convex În Locul Prisma/Drizzle

Am ales Convex pentru reactivitatea sa WebSocket în timp real și siguranța tipurilor end-to-end de la baza de date la UI.

Verificări de Rol Soft vs. Stricte

Am implementat paternuri duale de autorizare: softRequireRole pentru degradare grațioasă, requireRole pentru blocaje dure.

Timp-ca-Minute pentru Calculul Sloturilor

Stocarea disponibilității ca minute-de-la-miezul-nopții pentru comparații eficiente de intervale de numere întregi.

Strategie Duală de Configurare CSP

Vercel suprascrie anteturile Next.js, necesitând definirea CSP atât în next.config.ts cât și în vercel.json.

Limbă ca Segment de Rută

Am folosit segmentul dinamic [locale] cu strategia 'prefix la nevoie' a next-intl pentru URL-uri curate.

Prețuri în Bani

Stocarea tuturor valorilor monetare ca numere întregi (bani) pentru precizie financiară, aliniat cu API-ul Stripe.

Arhitectura Modulelor Convex

22 module backend cu peste 157 funcții server care alimentează întreaga aplicație.

0+
Funcții Server
ModulFuncțiiScop
adminDashboard23+Statistici venituri, programări în așteptare, metrici personal
employeeDashboard11+Programul zilei, programări săptămânale, câștiguri
customerDashboard7+Istoric programări, puncte loialitate, status nivel
employees21+CRUD, asignare roluri, mutații disponibilitate
services6+Gestionare catalog servicii cu filtrare pe categorie
categories7+CRUD categorii și căutări bazate pe slug
appointments8+CRUD rezervări cu detectare conflicte
availability2+Calcul inteligent sloturi cu suprascrieri
stripe10+Sesiuni checkout, branding, metadate
http1Router endpoint webhook Stripe
payments3+Urmărire plăți și gestionare status
reviews3+Agregare evaluări și listare
giftCards4+Generare cod, sold, răscumpărare
customers4+CRUD cu deduplicare email/telefon
salaryPayments4+Urmărire salarizare și comisioane
loyaltyTiers2+Definiții niveluri și praguri de puncte
loyaltyHistory2+Istoric tranzacții puncte
profileChangeRequests4+Flux de aprobare editare profil angajat
salonSettings2+Singleton setări globale
expenses2+Gestionare costuri operaționale
seed1Populare bază de date (177 servicii, 4 angajați, 4 niveluri)
helpers/*6+Auth, conflicte, prețuri, loialitate, jurnal schimbări, dedup