Hotel Paradise API es un sistema de gestión hotelera robusto, escalable y seguro. Esta plataforma integra una API RESTful con una interfaz de usuario moderna (SPA/Frontend) para ofrecer una experiencia completa tanto a administradores como a huéspedes.
El proyecto sigue una estructura modular y profesional, separando claramente responsabilidades:
API_Hotel/
├── assets/ # Recursos estáticos (Frontend)
│ ├── css/ # Estilos (styles.css)
│ └── js/ # Lógica de cliente (app.js)
├── config/ # Configuración del sistema
│ ├── config.json # Credenciales (NO subir a repo público en prod)
│ └── db.php # Singleton de conexión PDO
├── database/ # Migraciones y esquemas
│ └── schema.sql # Script de inicialización
├── includes/ # Componentes reutilizables (Header, Footer)
├── api.php # API Gateway (REST Controller)
├── index.php # Landing Page (Public)
└── admin.php # Panel Administrativo (Private)
- API RESTful Segura: Endpoints protegidos para operaciones CRUD.
- Autenticación: Sistema de login basado en sesiones y hashing con BCRYPT.
- Gestión de Base de Datos: Uso de PDO con sentencias preparadas para prevenir SQL Injection.
- Diseño Premium: Interfaz responsive con animaciones y UX cuidada.
- Transacciones Atómicas: Integridad de datos garantizada en operaciones críticas.
-
Clonar/Copiar Proyecto: Ubica la carpeta
API_Hotelen tu directoriohtdocs(ej:C:\xampp\htdocs\API_Hotel). -
Base de Datos:
- Abre tu gestor MySQL (phpMyAdmin).
- Importa el archivo
/database/schema.sql. - Esto creará la base de datos
hotel_webservicey las tablas necesarias.
-
Configuración: Verifica que
/config/config.jsoncoincida con tu entorno:{ "host": "localhost", "username": "webservice", "password": "webservice", "db": "hotel_webservice" } -
Ejecutar: Accede a
http://localhost/API_Hotel/.
| Método | Endpoint | Acción | Auth Requerida |
|---|---|---|---|
POST |
/api.php?action=login |
Iniciar Sesión | No |
GET |
/api.php |
Listar Reservas | Sí (Admin) |
POST |
/api.php |
Crear Reserva | No |
PUT |
/api.php |
Editar Reserva | Sí (Admin) |
DELETE |
/api.php |
Borrar Reserva | Sí (Admin) |
Para acceder al panel de administración:
- Usuario:
webservice@hotel.com - Contraseña:
webservice
Si al importar la base de datos recibes este error, significa que tu instalación de MySQL en XAMPP tiene archivos corruptos (común tras apagados inesperados).
Solución:
- En phpMyAdmin, importa el archivo
/database/repair_xampp.sql. - Si esto funciona, vuelve a importar
/database/schema.sql. - Alternativa rápida: Si no logras repararlo, edita
/config/config.jsony usa el usuarioroot(sin contraseña) y en/database/schema.sqlborra las líneas deCREATE USERyGRANT.
Desarrollado por Gabriel Daniel Manea & Álex Vicente López. Módulo: Desarrollo Web en Entorno Servidor