Cómo funciona
SportsMgnt es una aplicación web delante de una base de datos. Las mismas reglas sirven a las páginas web, a la aplicación instalable y a la API.
Las partes
Aplicación web
Escrita en PHP 8.3 sobre el marco CodeIgniter 4. Las páginas se generan en el servidor y funcionan sin JavaScript; los scripts solo añaden comodidades.
Base de datos
MariaDB guarda todo en unas cien tablas. El dinero se guarda en centavos enteros, las horas en UTC, y la propia base de datos rechaza una segunda reserva de la misma franja de una instalación.
API
Una API JSON en /api/v1 con tokens de acceso personal, permisos y límites de solicitudes, documentada con un archivo OpenAPI 3.1.
Aplicación web instalable
Un manifiesto de aplicación web y un service worker hacen que el sitio se pueda instalar y mantienen el calendario del hogar disponible sin conexión.
Módulos
El código se divide en un núcleo y cuatro módulos: inscripciones, instalaciones, oficina administrativa y este sitio de la plataforma. Los módulos se conectan a registros compartidos de menús, permisos, datos de ejemplo, la API, ajustes y contenido de ayuda, de modo que cada uno se puede crear y probar por separado.
Qué pasa cuando un residente se inscribe
- La búsqueda del catálogo lee las sesiones publicadas y el hogar del residente.
- El motor de cuotas calcula cada línea a partir de reglas y reparte cada centavo entre centros de costos.
- El pago bloquea las filas de la sesión, comprueba las plazas y los conflictos de horario, y registra las exenciones firmadas.
- El procesador de pagos de demostración aprueba o rechaza un medio de pago de ejemplo; no existe ningún número de tarjeta.
- Las inscripciones, las líneas del pedido, los pagos y los asientos contables equilibrados se escriben en una sola transacción.
- El correo con el recibo queda en la Bandeja de salida de la demostración y el calendario se actualiza.
El restablecimiento nocturno
Cada noche a las 3:15 a. m., hora del Pacífico, la demostración reconstruye sus datos de ejemplo a partir de una semilla fija, así cada visitante empieza desde el mismo punto. Las solicitudes de presentación y la cuenta del propietario se conservan.
Alojamiento
La demostración funciona en un único servidor operado por WeldonPC, con un certificado de Let's Encrypt. No hace solicitudes a otros sitios web: las fuentes, los iconos y los gráficos se sirven desde el mismo servidor.
Documentación
El repositorio del proyecto incluye guías de arquitectura, modelo de datos, operación e implementación. Pida una presentación para verlas. Solicitar una presentación