AntonioooJ
ChatContactar
← cd ../proyectos
Web + backend PHP · 2026

Web de restaurante con reservas

Carta dinámica, estado «abierto ahora» y reservas online con control de aforo real.

sector
Demo · Hostelería
año
2026
tipo
Web + backend PHP
stack
HTML · CSS · JavaScript · PHP

// el problema

Un restaurante que gestiona las reservas por teléfono pierde llamadas en pleno servicio, sufre solapamientos y no tiene una carta online fácil de actualizar ni con información de alérgenos.

// la solución

Web con carta por categorías y filtro de alérgenos, horario que indica en vivo si está abierto, y un sistema de reservas en PHP que calcula las horas libres según el aforo y la duración de cada mesa. Incluye una API REST y un panel de administración con login para ver y cancelar reservas.

// lo más destacado

  • Aforo controlado por solapamiento de mesas
  • Reservas atómicas: sin overbooking con peticiones simultáneas
  • Panel de administración con CSRF y sesión segura
  • Sin base de datos ni dependencias

// un vistazo al código

api/lib.phpphp
/** Comensales que ocupan el local a una hora concreta de un día. */
function ocupacion(array $reservas, string $fecha, int $minuto, int $duracion): int
{
    $total = 0;
    foreach ($reservas as $r) {
        if ($r['fecha'] !== $fecha || ($r['estado'] ?? '') === 'cancelada') {
            continue;
        }
        if (abs(aMinutos($r['hora']) - $minuto) < $duracion) {
            $total += (int) $r['personas'];
        }
    }
    return $total;
}

// más proyectos