Ir al contenido principal
Volver a proyectos

Sitio Web Restaurante De La Finca

Restaurante
Duración: 4 semanas + evolución continuaEstado: En producción
Captura de Sitio Web Restaurante De La Finca

Sitio web en producción del restaurante De La Finca (Quepos, Costa Rica), bilingüe ES/EN, con menú por categorías exportable a PDF, galería editorial, reseñas reales de Google y reservas que se envían por WhatsApp validadas en hora de Costa Rica y quedan registradas para el restaurante. Incluye un panel de administración propio para las reservas, el menú, las imágenes del sitio y la galería, protegido con contraseña y doble factor (TOTP), sesiones revocables y límite de intentos en Postgres. En 2026 pasó por una auditoría de seguridad, accesibilidad y rendimiento: CSP sin unsafe-eval, datos estructurados, imágenes renderizadas en el servidor y 36 dependencias sin uso eliminadas.

Tecnologías

  • Next.js 14
  • TypeScript
  • Tailwind CSS
  • Drizzle ORM
  • PostgreSQL (Supabase)
  • Supabase Storage
  • jose (JWT)
  • TOTP
  • Google Places API
  • Framer Motion
  • Zod
  • Vitest
  • Vercel Cron

Funcionalidades

  • Sitio bilingüe ES/EN con detección automática del idioma del navegador
  • Menú por categorías en orden fijo, con exportación a PDF y categorías vacías ocultas
  • Galería con su propia tabla: categorías, pie de foto ES/EN, filtros y lightbox con teclado y swipe
  • Reservas por WhatsApp validadas en hora de Costa Rica: sin horas pasadas, última a las 9:30 PM y almuerzo o cena según la hora
  • Panel /admin/reservas: cada reserva queda registrada para confirmarla o cancelarla; las reglas se validan igual en el formulario y en el servidor, y se borran a los 90 días
  • Reseñas reales de Google Places en caché de 12 h para no pagar cada visita
  • Panel admin: menú (crear, reordenar, activar), imágenes del sitio y galería con subida múltiple
  • Login del admin con contraseña (scrypt) + doble factor TOTP de un solo uso
  • Sesiones revocables ('cerrar todas') y límite de intentos por IP y global en Postgres
  • Subidas validadas por los bytes reales del archivo, no por la extensión
  • CSP endurecida (sin unsafe-eval), HSTS y datos estructurados JSON-LD de restaurante
  • Imágenes de la home renderizadas en el servidor con caché; assets de 57 a 20 MB
  • Monitoreo de errores propio sin servicios externos y cron diario de mantenimiento
  • Correcciones de accesibilidad WCAG (contraste, foco, etiquetas) y SEO con sitemap y Open Graph
  • Pruebas con Vitest del horario, las reglas de reserva y la validación de subidas