YouSpace
Platformă care ajută familiile să găsească specialiști potriviți pentru copii și adolescenți, iar profesioniștii să își publice profilul, articolele și evenimentele într-un ecosistem cu verificare, abonamente și administrare centralizată.

Stack principal
Provocarea
Produsul trebuia să deservească simultan două nevoi diferite: familiile au nevoie de descoperire rapidă și informații comparabile, iar specialiștii au nevoie de profiluri profesionale verificabile, vizibilitate și instrumente editoriale. Peste acestea se suprapun aprobarea administrativă, accesul condiționat de abonament, plățile 3D Secure și recurente, moderarea conținutului, evenimentele cu co-organizatori și cerințele SEO ale unei aplicații client-rendered. Provocarea tehnică a fost păstrarea acestor trasee coerente între UI, API, relațiile Eloquent, stările de plată și notificările operaționale.
Soluția
Laravel 12 și o bază de date relațională centralizează utilizatorii, rolurile, profilurile, studiile, acreditările, specializările, condițiile, abonamentele, comenzile de plată, articolele, recenziile și evenimentele. Sanctum protejează API-ul, iar middleware-urile verifică separat autentificarea, rolul, aprobarea contului și abonamentul activ. Expo Router oferă aceeași structură de pagini pentru web și mobile, cu SecureStore pe dispozitive și localStorage pe web, un client API comun și filtre de căutare sincronizate cu URL-ul. Integrarea Netopia este izolată într-un serviciu de plată și folosește PaymentOrder pentru corelarea utilizatorului și a comenzii înainte de webhook; abonamentele păstrează datele de ciclu, reînnoire, anulare, bonus și eșecuri, iar evenimentele combină plata cu aprobarea editorială. Uploadurile clasice sunt validate ca imagini și stocate pe disk-ul public, iar emailurile acoperă confirmarea contului, resetarea parolei, aprobări și evenimente de abonament.
Complexitate notabilă
YouSpace conectează familiile cu psihologi, psihoterapeuți, psihiatri și alți specialiști care lucrează cu copii și adolescenți. Experiența publică include pagini de prezentare, profiluri profesionale, căutare cu filtre, articole, recenzii și evenimente. Căutarea poate combina numele sau cuvintele-cheie cu județul, disponibilitatea online ori fizică, genul, vârsta, specializarea, aria de intervenție, studiile, acreditările și intervalul de preț, iar rutele bazate pe slug și filtrele serializate în URL susțin distribuirea și indexarea paginilor publice.
Pentru profesioniști, produsul include înregistrare cu profil profesional complet, confirmare de email, aprobare administrativă, abonamente, administrarea profilului, studii, formări, coduri profesionale, articole și evenimente. Modificările sensibile ale profilului pot trece printr-un flux separat de cerere, aprobare sau respingere, cu reviewer și notițe de verificare. Evenimentele sunt create inițial ca draft, trec în pending după inițierea plății, în paid după confirmarea Netopia și devin publice numai după aprobarea administratorului; invitațiile pentru co-organizatori au propriile stări invited, accepted și declined.
Monetizarea este implementată prin pachete de abonament și plăți Netopia. Backend-ul păstrează o comandă internă de plată înainte de confirmarea furnizorului, procesează 3D Secure și webhook-uri, activează sau reînnoiește abonamente, gestionează bonusul gratuit acordat o singură dată, dezactivează abonamentele concurente și trimite notificări prin email. Există și un job queueable pentru reînnoiri cu token salvat și protecție prin flag-ul renewal_in_progress, însă repository-ul actual nu îl programează automat în Laravel Scheduler; operarea lui depinde de comandă manuală sau de o configurație externă nedemonstrată în cod.
Back-office-ul separă rolurile user, agent și admin. Agenții și administratorii pot consulta și gestiona utilizatori, statistici, tranzacții și cereri de modificare, iar moderarea recenziilor și articolelor, configurarea pachetelor, specializărilor și condițiilor, precum și aprobarea evenimentelor rămân rezervate administratorului. Frontend-ul este construit cu Expo Router, React Native și React Native Web, exportat ca PWA statică pentru web și configurat și pentru iOS și Android. Pentru SEO, aplicația client setează metadata și URL-uri canonice, iar Laravel livrează separat pagini HTML pentru crawlere; documentația din repository propune o migrare Next.js, dar aceasta nu este încă implementată.
Rezultate cheie
- 3 roluri operaționale confirmate: specialist, agent și administrator, cu acces diferențiat prin middleware și rute dedicate
- Profil profesional structurat cu specializări, arii de intervenție, studii, formări, workshop-uri, coduri profesionale, servicii online sau fizice și preț per ședință
- Căutare publică paginată cu filtre pentru județ, disponibilitate, gen, vârstă, specializare, condiții, studii, acreditări și preț
- Abonamente cu pachete configurabile, activare, anulare, perioadă de valabilitate, bonus gratuit acordat o singură dată și evidența încercărilor de plată
- Integrare Netopia pentru plăți inițiale, 3D Secure, tokenizare, webhook-uri și reînnoiri declanșabile prin job sau comandă
- Registru PaymentOrder pentru corelarea comenzilor, utilizatorilor, statusurilor și datelor de confirmare ale plății
- Flux de eveniment cu stările draft, pending, paid și approved, taxă de publicare și invitații pentru co-organizatori
- Flux separat de cereri de modificare a profilului, cu prevenirea cererilor pending duplicate, reviewer, notițe și aprobare sau respingere
- Articole, recenzii, testimoniale și evenimente publice cu moderare administrativă
- Back-office pentru utilizatori, abonamente, tranzacții, statistici, conținut, specializări și condiții
- Frontend Expo cu pagini publice, zonă autentificată și zonă admin, export web static/PWA și configurare pentru iOS și Android
- SEO prin slug-uri, filtre în URL, metadata Open Graph/Twitter, canonical, sitemap și pagini Laravel dedicate crawlerelor
Proiecte asemănătoare
- GrileAMGEcosistem de pregătire pentru asistenți medicali: cursuri, grile, simulări, statistici și teste distribuite de profesori, pe web, iOS și Android, cu abonamente, AI și administrare editorială.
- Risa TimeEcosistem digital pentru preluarea mașinii de la client, transportul la o spălătorie parteneră și returnarea în siguranță, coordonat prin aplicații separate pentru client și șofer, panou operațional și tracking în timp real.
- MixboxMarketplace multi-vendor pentru produse locale, cu un singur coș pentru mai multe magazine, aplicații separate pentru client, comerciant și curier, plăți flexibile și un sistem avansat de import și administrare a cataloagelor furnizorilor.
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.