Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

slotguard

SlotGuard es un sistema fullstack de reservas de salas con soporte para concurrencia. Utiliza React, FastAPI y PostgreSQL para gestionar reservas de forma segura.

Ficha actualizada 23 sept 2026, 13:36 · upstream 23 sept 2026, 13:19 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es slotguard

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

SlotGuard permite que dos personas vean una sala abierta simultáneamente y ambas puedan hacer clic en 'Reservar'. SlotGuard hace visible el éxito, la conflictividad y el siguiente paso del proceso —sin deshabilitar un botón. El sistema utiliza PostgreSQL para proteger las reservas mediante exclusiones de intervalo, no mediante botones inactivos.

El proyecto incluye: tarjetas de salas con agenda semanal y diseño móvil; gestión de reservas, cancelaciones y alternativas de conflicto; sesiones de miembros y administradores con contraseñas encriptadas y cookies HttpOnly revocables; reintentar una solicitud sin crear otra reserva (con registro idempotente); creación de salas por administrador con auditoría transaccional; y el desafío de concurrencia de dos solicitudes concurrentes.

La interfaz actualiza tras mutaciones, al enfocar la ventana o manualmente. No es un feed en tiempo real. Se ofrecen sugerencias basadas en la vista renovada que se revisan antes de enviar. Alternativas a las sugerencias están disponibles y son verificables.

El demo local requiere Docker con Compose. Se pueden configurar usuarios personalizados, variables de entorno y solucionar problemas. El código nativo para Windows PostgreSQL se prueba localmente; el CI build y smoke test Compose se ejecutan separadamente. Verifica los resultados del workflow actual antes de asumir que todo funciona.

La arquitectura y sus tradeoffs están detalladas en docs/architecture.md. No se garantiza exactamente-once para efectos externos.

CASOS DE USO
  • Gestionar reservas de salas con concurrencia real
  • Proteger contra doble-reserva mediante exclusiones de intervalo en PostgreSQL
  • Soporte para múltiples usuarios (miembros y administradores)
  • Reintentos idempotentes sin crear reservas duplicadas
  • Auditoría transaccional de creación y cancelación de salas
PUNTOS DESTACADOS
  • Demo local con dos solicitudes concurrentes que muestran éxito, conflicto y confirmación en PostgreSQL
  • Exclusion constraint en PostgreSQL para evitar intervalos superpuestos sin bloquear botones
  • Idempotencia por actor + clave + payload normalizada: mismo resultado para misma solicitud repetida
  • Sesión de administrador con roles y transacciones para auditoría
  • Reactividad del UI tras mutaciones, enfocamiento o manual
PRECAUCIONES
  • No ofrece garantía de exactamente-once para efectos externos
  • El demo local no incluye sincronización con calendario externo ni pagos
  • No hay notificaciones automáticas en segundo plano
  • La disponibilidad es advisory: la DB arbitra conflictos, el API devuelve 409
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

SlotGuard concept artwork: one slot, two requestsActual SlotGuard room planner with synthetic dataActual two-request challenge: one HTTP 201, one HTTP 409 and one confirmed row
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Requiere Docker Compose. Copia .env.example a .env y configura POSTGRES_PASSWORD con valor aleatorio largo. Ejecuta `docker compose up --build`. El demo funciona en localhost:8000. PostgreSQL no tiene puerto publicado ni host. Se recomienda usar un contenedor de base de datos separado o configurar un volumen persistente para persistencia de datos. Para desarrollo local, usa usuarios personalizados y variables de entorno; el CI build y smoke test se ejecutan separadamente.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsReactNode.jsFastAPIPython
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
8000
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.