Verificat 2026-09-06HTTP 200 · 13 rute publice
Cosa c’era da risolvere
Un centro medico con un nomenclatore di centinaia di servizi tariffati aveva bisogno che ogni servizio fosse una propria pagina, reperibile nella ricerca, con prezzo e unità di misura — non un PDF con l’elenco dei prezzi. Inoltre, i prezzi e il personale cambiano, quindi la clinica doveva poterli modificare autonomamente, e le prenotazioni dovevano arrivare subito alla reception, non in una casella e-mail.
Cosa abbiamo costruito
Next.js 14.2.35 (App Router) con React 18, TypeScript e Tailwind. Ogni voce del nomenclatore medico è diventata una propria route statica: 521 file `page.tsx` in `src/app`, di cui 481 sotto `/servicii` — 184 fisioterapia, 122 servizi consultivi, 61 esami medici periodici, 27 ginecologia, 26 ozonoterapia, 23 pacchetti di trattamento, 18 medicina alternativa, 12 diagnostica, il resto per sezioni. La sitemap in produzione elenca 890 indirizzi. Il sito è bilingue ro/ru. I contenuti modificabili (medici, pacchetti, trattamenti, articoli, impostazioni, immagini) sono in un database SQLite locale tramite `better-sqlite3`, con journal WAL e chiavi esterne attive, gestito da `/admin` tramite 20 route API; l’autenticazione usa `jose` per la sessione e `bcryptjs` per la password, e la modifica della password invalida le sessioni esistenti. I moduli di prenotazione e contatto sono validati con `zod` + `react-hook-form` e inviano il messaggio formattato direttamente su Telegram, tramite Bot API. Esiste anche un calcolatore di prezzo su `calculator`.
Cosa si può verificare dall’esterno
- 890 indirizzi nella sitemap di produzione: `curl -s https:/`sitemap.xml` | grep -c '<loc>'` → 890 (2026-09-06).
- Attribuzione pubblica: il footer di `https://constructorul.md/` contiene «MegaPromoting» con link a `megapromoting.com` (2026-09-06); in storico, il commit `Add MegaPromoting link to footer` (2026-01-27).