Program Lucru
Sistem complet de pontaj și urmărire program de lucru cu backend Express/SQLite, frontend React și aplicație mobilă Expo cu notificări push și QR code scanning.
Stack principal
Provocarea
Sincronizarea pontajelor între aplicația mobilă (offline-first) și backend a necesitat un mecanism de conflict resolution pentru cazurile în care angajatul pontează offline și sincronizează ulterior. QR code scanning-ul trebuia să funcționeze atât în browser (web) cât și în aplicația nativă cu aceeași logică de business.
Soluția
Pontajele offline sunt stocate în AsyncStorage cu timestamp local și sincronizate la reconectare cu conflict resolution bazat pe timestamp (last-write-wins cu alertă pentru conflicte). QR scanning-ul este abstractizat într-un hook comun — pe web folosește @zxing/browser, pe native folosește expo-camera, cu aceeași interfață pentru logica de business.
Complexitate notabilă
Program Lucru este o aplicație de pontaj și gestiune program de lucru construită ca monorepo cu trei componente: un backend Express/TypeScript cu SQLite (better-sqlite3), un frontend React 19 cu Tailwind v4 și o aplicație mobilă Expo/React Native. Backend-ul folosește better-sqlite3 pentru performanță maximă pe operații sincrone și sql.js pentru portabilitate. Autentificarea este JWT cu bcrypt, iar notificările push sunt gestionate prin web-push (VAPID). Importul programelor de lucru din Excel se face prin exceljs, permițând managerilor să încarce foile de pontaj existente. Frontend-ul React 19 cu Tailwind v4 și shadcn/ui (Radix UI) oferă o interfață pentru manageri — vizualizare calendar cu programele tuturor angajaților, aprobare cereri de concediu, rapoarte ore lucrate și export. Folosește TanStack Query pentru data fetching și Vitest pentru teste. Aplicația mobilă Expo permite angajaților să vadă programul lor, să ponteze intrarea/ieșirea prin QR code scanning (@zxing/browser pe web, expo-camera pe mobile) și să primească notificări push pentru schimbări de program. NativeWind asigură consistența vizuală cu frontend-ul web.
Rezultate cheie
- Pontaj prin QR code funcțional pe web și mobile
- Sincronizare offline-first cu conflict resolution
- Import programe de lucru din Excel
- Notificări push pentru schimbări de program
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.