Raccolta punti, appuntamenti e promozioni in una sola app web installabile
Un’attività con clienti abituali voleva gestire la raccolta punti dal telefono. Ho costruito una Progressive Web App con backend Laravel e frontend React: punti, appuntamenti e promozioni nello stesso sistema, con notifiche push per chi le autorizza sui dispositivi compatibili. Il progetto non richiede pubblicazione sugli store.
1 appweb con codice condiviso, senza pubblicazione sugli store
Il software all’opera
Le schermate
01 / 01 schermate
Il problema
Il cliente voleva una raccolta punti accessibile dal telefono, con appuntamenti e promozioni nello stesso posto. La scelta era come distribuire e mantenere il prodotto. Le app native erano una possibilità, non un obbligo: per le funzioni richieste ho scelto una PWA, così da usare un codice web condiviso senza gestire la pubblicazione sugli store.
Cosa è stato costruito
Una Progressive Web App che il cliente aggiunge alla schermata Home sui dispositivi compatibili. Da lì gestisce punti, appuntamenti e promozioni; se autorizza le notifiche, il sistema può inviargli avvisi tramite Web Push. Su iPhone sono richiesti iOS 16.4 o successivo e l’app aggiunta alla Home. Non serve pubblicare sugli store, ma restano manutenzione, test sui browser e dipendenze dai servizi push.
In breve
- Cliente: un'attività con clienti abituali.
- Esigenza: gestire raccolta punti, appuntamenti e promozioni dal telefono.
- Cosa ho costruito: una Progressive Web App con codice web condiviso e notifiche push sui dispositivi compatibili.
- Risultato: le funzioni richieste in un solo prodotto, senza pubblicazione sugli store. Restano i costi di hosting, manutenzione e dei servizi eventualmente utilizzati.
Perché ho scelto una PWA
Per questo progetto non servivano due applicazioni distribuite tramite store. Ho scelto un'app web che il cliente può aggiungere alla schermata Home: il backend Laravel gestisce i dati e il frontend React presenta punti, appuntamenti e promozioni.
Il codice condiviso semplifica il lavoro sugli aggiornamenti, ma non elimina i test su Android, iPhone e browser diversi. Una PWA non sostituisce qualunque app nativa: la scelta dipende dalle funzioni richieste.
Cosa fa l'app
- Raccolta punti: il cliente consulta e utilizza i punti dal telefono.
- Appuntamenti: prenotazioni e promemoria nello stesso sistema.
- Promozioni: l'attività le gestisce dal pannello e può inviare avvisi agli utenti che li hanno autorizzati.
Notifiche: consenso e compatibilità
Il sistema utilizza Web Push e chiavi VAPID per identificare il mittente delle richieste. La consegna passa dai servizi push del browser o del sistema operativo: non richiede uno store, ma non è priva di infrastrutture terze.
Su iPhone il Web Push richiede iOS 16.4 o successivo, la PWA aggiunta alla schermata Home e il permesso dell'utente. Sugli altri dispositivi si verifica il supporto del browser. Connessione, permessi e impostazioni del telefono possono influire sulla ricezione: non prometto consegna immediata o garantita.
Le scelte del progetto
| Aspetto | Soluzione adottata |
|---|---|
| Distribuzione | app web aggiunta alla Home, senza pubblicazione sugli store |
| Codice | base web condivisa, con test sui dispositivi supportati |
| Notifiche | Web Push con autorizzazione dell'utente |
| Gestione | punti, appuntamenti e promozioni nello stesso pannello |
Cosa si porta a casa un'altra attività
Un canale proprietario per gestire la relazione con i clienti abituali, senza far dipendere il progetto dalla distribuzione sugli store. Le funzioni vanno scelte e verificate sui dispositivi del proprio pubblico: il vantaggio è avere un sistema adatto al lavoro, non promettere che una PWA faccia sempre tutto. Lavoro di persona a Bari, Monopoli, Conversano, Polignano a Mare, Locorotondo e Fasano, e da remoto in tutta Italia.
Hai un problema simile?
Rispondo entro un giorno lavorativo, sempre io. Se non sono la persona giusta te lo dico subito e ti indico chi lo è.
Su questo lavoro
Domande
No. Aggiungono il sito alla schermata Home sui dispositivi compatibili. Le notifiche richiedono un'autorizzazione separata.

