Case study

NoteSync

Un'app React Native in produzione per iOS e Android. Sincronizzazione in tempo reale fra dispositivi, persistenza offline-first, autenticazione biometrica e notifiche push tramite un'API REST in Laravel.

NoteSync — App mobile

In breve

Anno
2024
Ambito
App iOS e Android, API, pubblicazione sugli store
Il mio ruolo
Progettazione, back-end, app mobile, rilascio
Tecnologie
React NativeExpoLaravel APIRedisMySQLRabbitMQDockerCI/CD

Case study

01Il problema

Gli appunti devono restare modificabili senza campo — in metropolitana, in aereo, in cantiere — e quando la connessione torna le modifiche fatte su telefono e tablet devono ricomporsi in una sola versione senza perdere testo. Il classico «vince l'ultimo che scrive» cancella in silenzio il lavoro di chi usa l'app, e in un'app per appunti è l'unico errore che non viene perdonato.

02Che cosa ho costruito

  • Un database locale sul dispositivo è la fonte di verità: l'interfaccia non aspetta mai la rete e il salvataggio è immediato, con o senza campo.
  • Le modifiche entrano in coda e partono via RabbitMQ appena la connessione torna; la coda sopravvive al riavvio dell'app.
  • L'unione avviene campo per campo invece che per nota intera, così due paragrafi diversi modificati in parallelo non generano conflitto.
  • Sblocco biometrico e notifiche push sono serviti da un'unica API Laravel per entrambe le piattaforme.

03Che cosa fa adesso

  • Uso offline reale: l'app resta utilizzabile con zero campo e la sincronizzazione recupera da sola.
  • Un solo codice serve App Store e Google Play: una correzione si rilascia una volta, non due.
  • I rilasci passano da CI/CD in Docker, quindi pubblicare una nuova versione non richiede passaggi manuali.

04Perché questo stack

React Native con Expo, perché due basi di codice native con questo budget avrebbero significato metà funzionalità per piattaforma. Laravel sull'API, perché code, autenticazione e notifiche ci sono già e sono collaudate.

Tutti i lavori
Cominciamo

Hai un progetto in mente?

Descrivilo in poche righe: rispondo entro 24 ore con un preventivo gratuito e una proposta di stack.