EasyBooking es un portal web de reservas turísticas que permite a los usuarios buscar y reservar hoteles/Airbnb y paquetes turísticos de forma fácil, moderna y segura.
Está diseñado con una arquitectura en capas (N-Capas) utilizando C#, ASP.NET MVC, Web API y SQL Server.
- 🌐 Características Principales
- 🏗️ Arquitectura del Proyecto
- 🛠️ Tecnologías Utilizadas
- ⚙️ Funcionalidades por Fases
- 🖼️ Capturas de Pantalla del Proyecto
- 🚀 Cómo Ejecutar el Proyecto
- 🙌 Autor
- 🔐 Autenticación y registro de usuarios
- 👤 Roles de usuario:
- Usuario: Puede buscar y reservar publicaciones.
- 🏖️ Secciones del portal:
- Paquetes turísticos
- Hoteles y Airbnb
- 📩 Envío de correos electrónicos para confirmaciones de reservas
- 💳 Sistema de pagos (próximamente)
- 📱 Diseño responsivo
El proyecto está estructurado en una arquitectura de capas (N-Capas):
Contiene la API RESTful encargada de exponer los endpoints que permiten la comunicación entre el frontend y el backend.
- Controladores HTTP (Endpoints para reservas, usuarios, publicaciones, etc.)
- Manejo de respuestas HTTP
- Inyección de dependencias
- Seguridad y autenticación (JWT)
📁 Estructura clave: Controllers/, Program.cs, appsettings.json
Contiene la lógica de negocio del sistema (servicios, validaciones, reglas, etc.).
- Interfaces de servicios (
Contracts/) - Servicios (
Services/) - DTOs (
Dtos/) - AutoMapper (
Mappings/) - Clases base (
Core/)
📁 Estructura clave: Contracts/, Services/, Dtos/, Mappings/, Core/
Define el modelo de dominio (clases y entidades centrales).
- Entidades (Usuario, Reserva, Hotel/Imágenes, PaqueteTurístico/Imágenes)
- Clases base
📁 Estructura clave: Entities/, Core/
Es la interfaz de usuario basada en ASP.NET MVC.
- Vistas Razor (HTML + C#)
- Controladores MVC
- API consumption con
HttpClienty AJAX - Diseño visual (Bootstrap + CSS)
- Interacciones con JS (scripts.js)
📁 Estructura clave: Views/, Controllers/, wwwroot/ └── css/ └── js/ └── scripts.js
Acceso a la base de datos mediante Entity Framework Core.
DbContext- Repositorios
- Excepciones personalizadas
- Interfaces
📁 Estructura clave: Context/, Models/, Repositories/, Interfaces/, Exceptions/
| Capa | Tecnologías |
|---|---|
| Frontend | ASP.NET MVC, Bootstrap 5, JavaScript ES6 |
| Backend | .NET 8.0, Web API, Entity Framework Core 7 |
| Base de Datos | SQL Server 2022, Migraciones Code-First |
| Seguridad | JWT, ASP.NET Identity, Hash con BCrypt |
- Estructura Ncapas
- Conexión a base de datos
- Autenticación inicial
- Gestión y CRUD de usuarios
- Visualización de hoteles
- Detalles de cada hotel
- Visualización de paquetes
- Sistema de reservas
- Pago inicial (validación de tarjeta)
- Integración con Stripe/PayPal
- Gestión de transacciones
- Confirmaciones por email
Desarrollado por:
👨💻 Ronny De León – Web Developer
📧 Email: dleonabreuronny@gmail.com
🔗 GitHub: github.com/Ronny-Abreu
- Clonar el repositorio:
git clone https://github.com/Ronny-Abreu/EasyBooking.git





