{"repo":"Rapter1990/cleaning-booking-microservices","free":true,"listed":false,"github":"https://github.com/Rapter1990/cleaning-booking-microservices","clone":"git clone https://github.com/Rapter1990/cleaning-booking-microservices.git","description":"Case Study - Cleaning Booking Microservices (Java 25, Spring Boot Microservices, Postgre, Docker, Prometheus, Grafana, Sonarqube, Zipkin, Github Actions, Apache Kafka, Redis , JUnit, Flyway)","language":"Java","stars":13,"topics":["cicd","github-actions","grafana","intergration-test","jacoco","junit","kafka","mapstruct","prometheus","sonarqube"],"license":null,"category":"analytics","readme_excerpt":"Case Study - Cleaning Booking Microservices 📖 Information In this case study, cleaning professionals provide home-cleaning services to customers. Each professional belongs to a vehicle group, and the system must enforce booking constraints such as working hours, breaks between appointments, Friday restrictions, and same-vehicle assignment for multi-professional bookings. The project is built with Java and Spring Boot and exposes REST APIs through a central API Gateway. The requirements include availability checks, booking creation, booking updates, API documentation, and relational database persistence. The initial setup must include 5 vehicles and 5 cleaners per vehicle, for a total of 25 cleaners. --- Core Business Rules The booking domain follows these rules: Rule Description ------ ------------- Working days Cleaning professionals do not work on Fridays Working hours Working window is between 08:00 and 22:00 First appointment Cannot start before 08:00 Last appointment Must finish before 22:00 Break rule At least 30 minutes must exist between back-to-back appointments Vehicle grouping A vehicle serves for the whole day Cleaner assignment Each vehicle has 5 assigned cleaner professionals Duration A service can be only 2 or 4 hours Professional count A booking can request 1 , 2 , or 3 professionals Same vehicle rule If multiple professionals are assigned to one booking, they must belong to the same vehicle --- Booking Process 1. Availability Check Two types of availability ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Rapter1990","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Rapter1990/cleaning-booking-microservices/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}