codecentric /
spring-boot-admin
Admin UI for administration of spring boot applications
Loading repository data…
RightMeProve / repository
A Spring Boot + PostgreSQL backend clone of Airbnb with hotel, room, booking, guest, payment, and inventory management. Includes entity relationships, role-based authentication, and system design documentation.
A backend system that mimics the core functionality of Airbnb: managing hotels, rooms, bookings, guests, inventory, and payments.
Hotel & Room management
Guest management
User authentication with roles (HotelManager, Guest)
Booking system with guests and payments
Inventory tracking with surge pricing
Payment integration (Stripe)
Enum-based Role & Status management
Dynamic Pricing Engine (Strategy Pattern)
Scheduled Price Updates
You can test all backend APIs using the provided Postman collection.
AirBnb.postman_collection.json (included in this repository)
AirBnb.postman_collection.json.POST /api/v1/admin/hotels → Create HotelGET /api/v1/admin/hotels → Get All HotelsGET /api/v1/admin/hotels/{hotelId} → Get Hotel By IDPUT /api/v1/admin/hotels/{hotelId} → Update HotelDELETE /api/v1/admin/hotels/{hotelId} → Delete HotelPATCH /api/v1/admin/hotels/{hotelId}/activate → Activate HotelGET /api/v1/admin/hotels/{hotelId}/bookings → Get All Bookings for HotelGET /api/v1/admin/hotels/reports → Generate ReportPOST /api/v1/admin/hotels/{hotelId}/rooms → Create RoomGET /api/v1/admin/hotels/{hotelId}/rooms → Get All Rooms in a HotelGET /api/v1/admin/hotels/{hotelId}/rooms/{roomId} → Get Room By IDPUT /api/v1/admin/hotels/{hotelId}/rooms/{roomId} → Update RoomGET /api/v1/hotels/search → Search HotelsGET /api/v1/hotels/{hotelId}/info → Hotel DetailsPOST /api/v1/bookings/init → Initialize BookingPOST /api/v1/bookings/{bookingId}/addGuests → Add Guests to BookingPOST /api/v1/bookings/{bookingId}/payments → Initialize PaymentPOST /api/v1/bookings/{bookingId}/cancel → Cancel BookingPOST /api/v1/auth/signup → User SignupPOST /api/v1/auth/login → User LoginPOST /api/v1/auth/refresh → Refresh JWT TokenGET /api/v1/admin/inventory/rooms/{roomId} → Get Inventory By Room IDPATCH /api/v1/admin/inventory/rooms/{roomId} → Update InventoryGET /api/v1/users/profile → Get My ProfilePATCH /api/v1/users/profile → Update My Profile💡 Notes:
Clone the repository
git clone https://github.com/RightMeProve/airBnbApp.git
cd airBnbApp
Configure Database
Edit src/main/resources/application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/airbnb
spring.datasource.username=postgres
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Run the application
./mvnw spring-boot:run
controller, service, repository, dto, exception, security, configHotel, Room, User, Booking, Inventory, etc.OneToMany, ManyToOne, etc.Implement services for core business logic
Write controllers (HotelController, RoomController)
Implement exceptions:
ResourceNotFoundExceptionApiError, ApiResponseGlobalExceptionHandler, GlobalResponseHandlerInventory logicHotelBrowseControllerDecorator Design Pattern for dynamic pricing strategies:
⚠️ Note: @NoArgsConstructor cannot be used with private final PricingStrategy
UserDetails in User entity (getAuthorities(), getUsername())security package for JWT, filters, and configJWTService and JWTAuthFilter are generic and reusablelogin, signup, refreshTokenHotelBookingControllerapplication.propertiesfindAndReserveInventory and BookingsRestControllerAdviceSelected from shared topics, language and repository description—not editorial ratings.
codecentric /
Admin UI for administration of spring boot applications
langchain4j /
LangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers and vector stores, and makes implementing tool calling (including MCP support), agents and RAG easy. It integrates seamlessly with enterprise Java frameworks like Quarkus and Spring Boot.
lihengming /
:seedling::rocket:一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目~
hansonwang99 /
Spring Boot 系列实战合集
ZHENFENG13 /
:palm_tree::octocat:A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
szerhusenBC /
A demo for using JWT (Json Web Token) with Spring Security and Spring Boot 2