Time Tracker
Aplicație fullstack React + Express pentru înregistrarea orelor lucrate, cu rapoarte vizuale Recharts, autentificare JWT și suport PWA pentru utilizare offline.
Stack principal
Provocarea
Sincronizarea datelor între sesiunile offline (PWA) și server la revenirea conexiunii, fără conflicte sau pierderi de înregistrări.
Soluția
Workbox cu strategie NetworkFirst pentru API calls — încearcă serverul, cade pe cache la offline. Înregistrările create offline sunt stocate în IndexedDB prin Workbox Background Sync și trimise automat la server când conexiunea revine.
Complexitate notabilă
Time Tracker este o aplicație de pontaj construită cu React 19 pe frontend și Express pe backend, ambele în același repository cu Vite ca build tool. Utilizatorii înregistrează orele lucrate pe proiecte sau clienți, iar aplicația generează rapoarte vizuale prin Recharts. Autentificarea se face cu JWT — token-ul este stocat în localStorage și trimis ca Bearer header la fiecare request. Backend-ul Express validează token-ul și returnează datele utilizatorului curent. Aplicația este configurată ca PWA prin vite-plugin-pwa cu Workbox, permițând instalarea pe desktop/mobil și funcționarea offline pentru vizualizarea datelor deja încărcate. date-fns gestionează calculele de dată pentru rapoartele săptămânale și lunare. Recharts vizualizează distribuția orelor pe proiecte (pie chart), evoluția în timp (line chart) și comparații săptămânale (bar chart).
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.