Ecosistema backend de alto rendimiento para gestión de alquileres
Rent-it Pro es un ecosistema backend de alto rendimiento desarrollado con Java 21 y Spring Boot 3, diseñado bajo una arquitectura de capas que implementa un modelo de seguridad Stateless mediante JWT y MFA con autorización granular (RBAC) para la delegación de permisos a perfiles administrativos y empresariales.
El sistema garantiza la integridad de los datos y la trazabilidad mediante un motor de persistencia en PostgreSQL con auditoría automática, gestión de borrado lógico (Soft Delete) y el uso de @Transactional para asegurar la atomicidad en flujos financieros complejos que integran la API de Stripe para pagos simulados.
La plataforma está optimizada para la alta concurrencia mediante caché distribuida con Redis, paginación de datos y un manejo global de excepciones, operando bajo un entorno contenedorizado con Docker y versionado de base de datos con Flyway para asegurar despliegues robustos y escalables.
| Categoría | Tecnología |
|---|---|
| Lenguaje | Java 21 |
| Framework | Spring Boot 3.5 |
| Base de Datos | PostgreSQL 16 |
| Caché | Redis |
| Migraciones | Flyway |
| Contenedores | Docker & Docker Compose |
| Pagos | Stripe API |
| Seguridad | Spring Security + JWT + MFA |
- 🔐 Seguridad Stateless - Autenticación JWT con soporte MFA
- 👥 RBAC - Control de acceso basado en roles granular
- 📊 Auditoría Automática - Trazabilidad completa de operaciones
- 🗑️ Soft Delete - Borrado lógico para preservar integridad
- 💳 Integración Stripe - Procesamiento de pagos simulados
- ⚡ Alta Concurrencia - Caché distribuida con Redis
- 📄 Paginación - Manejo eficiente de grandes volúmenes de datos
- 🚨 Manejo Global de Excepciones - Respuestas de error consistentes
- 🐳 Contenedorizado - Despliegue con Docker
- 🔄 Migraciones Flyway - Versionado de esquema de BD
src/
├── main/
│ ├── java/com/orlando/java1/
│ │ ├── persistence/
│ │ │ ├── entities/
│ │ │ └── repositories/
│ │ └── presentation/
│ │ └── controllers/
│ └── resources/
│ ├── db/migration/
│ ├── application.properties
│ └── application.yml
└── test/
└── java/
- Java 21+
- Docker & Docker Compose
- Maven 3.8+
-
Clonar el repositorio
git clone https://github.com/0RLAND0-AV/Rent-it_Pro.git cd JAVA1 -
Iniciar los contenedores
docker-compose up -d
-
Ejecutar la aplicación
./mvnw spring-boot:run
La API estará disponible en http://localhost:8080
| Variable | Descripción | Valor por Defecto |
|---|---|---|
POSTGRES_DB |
Nombre de la base de datos | JAVA1_database |
POSTGRES_USER |
Usuario de PostgreSQL | orlando |
POSTGRES_PASSWORD |
Contraseña de PostgreSQL | admin123 |
./mvnw testEste proyecto está bajo desarrollo.
⭐ Rent-it Pro - Desarrollado con ❤️ por Orlando