Verificat 2026-09-06HTTP 200 · 13 rute publice
Qué había que resolver
Un centro médico con un nomenclátor de cientos de servicios tarifados necesitaba que cada servicio fuera una página propia, localizable en la búsqueda, con precio y unidad de medida — no un PDF con la lista de precios. Además, los precios y el equipo cambian, así que la clínica debía poder editarlos por sí sola, y las programaciones debían llegar a recepción de inmediato, no a una bandeja de correo electrónico.
Qué construimos
Next.js 14.2.35 (App Router) con React 18, TypeScript y Tailwind. Cada posición del nomenclátor médico se convirtió en una ruta estática propia: 521 archivos `page.tsx` en `src/app`, de los cuales 481 bajo `/servicii` — 184 fisioterapia, 122 servicios consultivos, 61 exámenes médicos periódicos, 27 ginecología, 26 ozonoterapia, 23 paquetes de tratamiento, 18 medicina alternativa, 12 diagnóstico, el resto por secciones. El sitemap de producción enumera 890 direcciones. El sitio es bilingüe ro/ru. El contenido editable (médicos, paquetes, tratamientos, artículos, ajustes, imágenes) está en una base SQLite local mediante `better-sqlite3`, con journal WAL y claves foráneas activas, administrada desde `/admin` mediante 20 rutas API; la autenticación usa `jose` para la sesión y `bcryptjs` para la contraseña, y el cambio de contraseña invalida las sesiones existentes. Los formularios de programación y de contacto se validan con `zod` + `react-hook-form` y envían el mensaje formateado directamente a Telegram, mediante Bot API. También existe una calculadora de precio en `calculator`.
Qué se puede verificar desde fuera
- 890 direcciones en el sitemap de producción: `curl -s https:/`sitemap.xml` | grep -c '<loc>'` → 890 (2026-09-06).
- Atribución pública: el pie de página en `https://constructorul.md/` contiene «MegaPromoting» con enlace a `megapromoting.com` (2026-09-06); en el historial, el commit `Add MegaPromoting link to footer` (2026-01-27).