PCUTB
Sistem complet de rezervări pentru un salon de înfrumusețare cu gamification, notificări push, aplicație client iOS/Android și aplicație admin mobilă — publicat pe App Store și Google Play.
Stack principal
Provocarea
Sincronizarea disponibilității în timp real între mai mulți angajați și clienți concurenți fără double-booking a necesitat un mecanism de locking optimistic la nivel de slot orar. Publicarea pe App Store a impus cerințe stricte de review pentru notificările push și politica de confidențialitate, iar build-ul EAS pentru iOS a necesitat configurarea certificatelor Apple și a profilurilor de provisionare.
Soluția
Implementat locking optimistic pe sloturile de rezervare cu verificare la insert în tranzacție MySQL. Notificările push folosesc expo-server-sdk cu batch sending și retry exponential pentru token-urile expirate. Build-ul EAS configurat cu eas.json per environment (development/preview/production) cu certificate gestionate automat de Expo. Conversia HEIC→JPEG prin heic-convert rezolvă incompatibilitatea imaginilor de pe iPhone cu MySQL BLOB.
Complexitate notabilă
PCUTB este o platformă completă pentru un salon de înfrumusețare care include un backend Node.js/TypeScript cu MySQL, o aplicație mobilă client (Expo/React Native) publicată pe App Store și Google Play, o aplicație mobilă admin (Expo/React Native) și un frontend web SvelteKit pentru administrare desktop. Sistemul de rezervări permite clienților să vadă disponibilitatea în timp real, să rezerve servicii cu angajați specifici și să primească confirmări și reminder-uri prin notificări push (expo-server-sdk). Modulul de gamification acordă puncte pentru rezervări, recenzii și recomandări, cu un sistem de niveluri și recompense care crește retenția clienților. Backend-ul Express 5 cu TypeScript folosește Sequelize ORM pe MySQL, cu migrații versionare și seeders. Autentificarea este JWT cu refresh tokens, iar upload-ul de imagini (poze profil, galerie servicii) folosește multer cu conversie HEIC→JPEG prin heic-convert pentru compatibilitate cross-platform. Notificările push sunt gestionate prin expo-server-sdk cu retry logic și logging. Aplicația client Expo (React Native) cu NativeWind și expo-router a fost publicată pe ambele store-uri după un proces de build cu EAS (Expo Application Services). Aplicația admin permite gestionarea rezervărilor, clienților și serviciilor direct de pe telefon.
Rezultate cheie
- Aplicație client publicată pe App Store și Google Play
- Aplicație admin publicată pe App Store și Google Play
- Sistem rezervări cu disponibilitate în timp real fără double-booking
- Notificări push funcționale pe iOS și Android
- Gamification cu puncte, niveluri și recompense
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.