API RESTful para sistema de reservas de cabañas.
src/
├── config/ # Configuraciones (base de datos, variables de entorno)
├── controllers/ # Controladores de la aplicación
├── middleware/ # Middlewares personalizados
├── models/ # Modelos de la base de datos
├── routes/ # Rutas de la API
├── services/ # Servicios y lógica de negocio
└── utils/ # Utilidades y helpers
- Node.js >= 14
- MariaDB
- npm o yarn
- Clonar el repositorio
- Instalar dependencias:
npm install
- Configurar variables de entorno:
- Copiar
.env.example
a.env
- Configurar las variables necesarias
- Copiar
npm run dev
npm start
POST /api/auth/register
- Registro de usuarios{ "first_name": "Nombre", "last_name": "Apellido", "email": "usuario@ejemplo.com", "password": "contraseña123", "telefono": "1234567890" }
POST /api/auth/login
- Inicio de sesión{ "email": "usuario@ejemplo.com", "password": "contraseña123" }
GET /api/auth/profile
- Obtener perfil del usuario (requiere autenticación)
GET /api/health
- Health checkGET /api/users
- Gestión de usuariosGET /api/cabins
- Gestión de cabañasGET /api/bookings
- Gestión de reservasGET /api/payments
- Gestión de pagosGET /api/images
- Gestión de imágenes
- ✅ Autenticación JWT
- ✅ Rate limiting
- ✅ Seguridad con Helmet
- ✅ Logging con Morgan
- ✅ Validación de datos
- ✅ Manejo de archivos con Multer
- ✅ Integración con AWS S3
- ✅ Generación de PDFs
- ✅ Envío de emails con SendGrid
AlduinoCalderon - GitHub