LakeView is a robust, enterprise-grade hotel management system built with Spring Boot 3.3.4 and Java 21. It provides comprehensive APIs for hotel operations, room management, and booking services with a focus on scalability, security, and performance.
- Implemented a modular, scalable architecture using Spring Boot 3.x
- Achieved clean separation of concerns with layered architecture
- Integrated comprehensive logging and monitoring capabilities
- Implemented JWT-based authentication with role-based access control
- Secured endpoints with Spring Security
- Integrated email verification system
- Protected against concurrent booking conflicts using distributed locking
- Implemented Redis-based distributed locking for concurrent bookings
- Optimized database queries for room availability checks
- Utilized connection pooling for improved database performance
- Implemented asynchronous operations for non-blocking operations
- Hierarchical room classification system
- Dynamic pricing models
- Real-time availability tracking
- Multi-floor support
- Concurrent booking handling
- Automated confirmation emails
- Flexible payment status tracking
- Guest management
- Backend: Spring Boot 3.3.4
- Database: MySQL 8.0
- Cache: Redis with Redisson
- Documentation: OpenAPI/Swagger
- Testing: Python Testing Suite
- Container: Docker & Docker Compose
- Build: Gradle
- Docker and Docker Compose
- JDK 21
- Python 3.x (for testing)
-
Clone the repository
git clone https://github.com/yourusername/lakeview.git cd lakeview -
Configure environment variables
cp .env.example .env # Edit .env with your configurations -
Start the application
docker-compose up --build
Access points:
- API: http://localhost:8080
- API Documentation: http://localhost:8080/swagger-ui.html
Comprehensive API documentation is available through Swagger UI after starting the application. The documentation includes:
- Detailed endpoint descriptions
- Request/Response schemas
- Authentication requirements
- Testing examples
The application includes a comprehensive Python testing suite. For VS Code users, install:
littlefoxteam.vscode-python-test-adapterhbenl.vscode-test-explorer
The application is containerized and can be deployed to any Docker-compatible environment. Production deployment uses:
- Render [https://render.com/]
- Redis.io [https://redis.io/]
- Aiven for MySQL [https://aiven.io/]
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
M. Ali Farhan
- LinkedIn: olifarhaan
- Email: alifarhan231087@gmail.com
Made with ❤️ by M. Ali Farhan