A production-ready Airbnb-like platform built with Spring Boot, PostgreSQL, JWT Security, and Stripe Payments.
Designed with scalability, concurrency safety, ACID compliance, and clean architecture in mind.
- 🔐 Authentication & Security – JWT-based authentication with role-based access (
USER,GUEST,HOTEL_MANAGER) - 🏨 Hotel & Room Management – Manage inventory, availability & surge pricing (Used Decorator pattern for the Pricing)
- 📅 Booking System – Safe booking flow with pessimistic locking +
@Transactionalto ensure atomicity & prevent race conditions - 💳 Stripe Integration – Secure checkout & webhook handling for payment confirmations
- ⏰ Scheduled Cron Jobs – Every 1 hour, cron jobs update room prices & apply surge factors dynamically
- 🛡 ACID Properties – Transactions guarantee consistency, isolation, and durability across concurrent bookings
- 👨💻 SOLID Principles – Codebase structured for maintainability and scalability
- 📑 API Documentation – Swagger UI available at
/api/v1/swagger-ui/index.html - ⚡ Scalable Architecture – Layered design (
Controller → Service → Repository) with DTO mapping




