
Aggiornato
Un'offerta coinvolge più persone
NearYou mette in contatto le persone in Romania con le attività locali e le loro offerte. Le pagine pubbliche permettono di esplorare categorie, promozioni e profili. Dietro questo percorso ci sono aree di lavoro separate per clienti, titolari delle attività e amministratori.
Per capire l'architettura basta seguire un'offerta. Un'attività la crea, un cliente la richiede e il personale ne convalida l'utilizzo. Ogni interfaccia deve riflettere lo stesso stato.
Next.js gestisce interfaccia e API
NearYou usa Next.js e React per l'interfaccia, con TypeScript in tutta l'applicazione. Il backend Node.js è implementato nei route handler di Next.js. Si tratta di un'applicazione con rotte server, affiancata da processi Node.js dedicati ai worker e alle attività pianificate.
Prisma collega l'applicazione a MySQL. Redis e BullMQ gestiscono le code per notifiche e campagne email. MinIO conserva i file multimediali, che l'applicazione distribuisce attraverso le proprie rotte. Stripe gestisce i pagamenti degli abbonamenti, con l'elaborazione dei webhook nel backend.
Questa struttura mantiene interfacce e regole delle offerte nello stesso codice, lasciando le operazioni in background a processi dedicati.

Il catalogo pubblico, acquisito il 19 settembre 2026.
Richiedere un'offerta è un'operazione del server
Quando un cliente richiede un'offerta, il backend verifica autenticazione, requisiti e limiti. Impedisce al titolare di richiedere un'offerta della propria attività. Una chiave di idempotenza può identificare una richiesta ripetuta.
I controlli decisivi vengono ripetuti in una transazione del database con un blocco sulla riga interessata. È un dettaglio importante quando arrivano due richieste quasi contemporaneamente: la decisione deve basarsi sullo stato attuale del database.
Anche l'utilizzo del voucher ha un passaggio di stato controllato. L'attività può scansionare il codice QR oppure inserire il codice a mano. Il backend registra la convalida e usa una chiave di deduplicazione nell'assegnazione dei punti fedeltà. Questi meccanismi gestiscono gli invii ripetuti nel punto in cui i dati cambiano.
Ogni ruolo ha la propria area
I clienti gestiscono i voucher richiesti, seguono le attività e consultano punti e notifiche. Le attività curano profili e offerte, controllano le richieste, convalidano i voucher e leggono le statistiche. Gli amministratori approvano le attività e gestiscono utenti, categorie, contenuti, campagne e assistenza.

La pagina pubblica per le attività contiene un'anteprima del pannello. La schermata proviene da quella pagina, non da un account privato.
I dati condivisi collegano queste aree. Al cliente serve un voucher utilizzabile, all'attività la conferma della sua validità e all'amministratore gli strumenti per gestire la piattaforma.
Le operazioni in background hanno processi dedicati
L'invio di una campagna o delle notifiche non deve occupare la richiesta che mostra una pagina. NearYou esegue worker e attività pianificate separatamente dal processo web. I webhook di pagamento prevedono anche verifica della firma e registrazione dello stato di elaborazione per gestire le consegne duplicate.
La complessità del sistema nasce da questi flussi collegati. Next.js e Node.js danno struttura all'applicazione; transazioni, controlli dei ruoli e worker ne definiscono il comportamento durante l'uso.
Esplora NearYou · Scopri il progetto
I dettagli architetturali derivano dal codice del progetto. Le schermate mostrano il sito pubblico.