Web de restaurante con reservas
Carta dinámica, estado «abierto ahora» y reservas online con control de aforo real.
// 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
/** 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
Web de servidor de GTA - FiveM
Web y panel de jugadores de un servidor de rol: login con Discord, sugerencias con votos, postulaciones y estado en vivo.
- HTML
- CSS
- JavaScript
- FiveM API
Portal inmobiliario
Buscador avanzado, favoritos, calculadora de hipoteca y valoración automática de viviendas.
- HTML
- CSS
- JavaScript