How karthikchejarla/cars-rental works
This repository implements a car-rental booking platform with a React client and Spring backend. Users register or log in, browse cars and availability, create bookings, and review or cancel their bookings; administrators manage cars and review or update bookings. The sampled services show date-overlap checks, booking totals and role checks backed by repositories. The tree and UI text identify additional client areas, but their source was not sampled, so detailed component-to-endpoint wiring is not asserted.
Main entry points: App.jsx Application shell · UserService.java Accounts and roles · api.js HTTP client · CarService.java Car availability/admin
Components 17
Rental client
- Application shell
car/frontend/src/App.jsx - Sign in/register
car/frontend/src/components/Auth.jsx - Car browsing/admin
car/frontend/src/components/Cars.jsx - Customer bookings
car/frontend/src/components/Bookings.jsx - Admin bookings
car/frontend/src/components/AdminBookings.jsx - HTTP client
car/frontend/src/api.js
HTTP API
- Authentication API
car/src/main/java/com/rental/car/controller/AuthController.java - Cars API
car/src/main/java/com/rental/car/controller/CarController.java - Bookings API
car/src/main/java/com/rental/car/controller/BookingController.java
Rental services
- Accounts and roles
car/src/main/java/com/rental/car/service/UserService.java - Car availability/admin
car/src/main/java/com/rental/car/service/CarService.java - Booking lifecycle
car/src/main/java/com/rental/car/service/BookingService.java
Persistence
- Car repository
car/src/main/java/com/rental/car/repository/CarRepository.java - Booking repository
car/src/main/java/com/rental/car/repository/BookingRepository.java - User repository
car/src/main/java/com/rental/car/repository/UserRepository.java
Other components
- Customer or admin
- Password encoder
Connections 20
- Customer or admin → Application shell: uses
- Application shell → Sign in/register: renders
- Application shell → Car browsing/admin: renders
- Application shell → Customer bookings: renders
- Application shell → Admin bookings: renders
- Sign in/register → HTTP client: calls
- HTTP client → Authentication API: HTTP requests
- HTTP client → Cars API: HTTP requests
- HTTP client → Bookings API: HTTP requests
- Authentication API → Accounts and roles: calls
- Cars API → Car availability/admin: calls
- Bookings API → Booking lifecycle: calls
- Accounts and roles → User repository: reads/writes
- Accounts and roles → Password encoder: encodes/checks
- Car availability/admin → Accounts and roles: checks roles
- Car availability/admin → Car repository: reads/writes
- Car availability/admin → Booking repository: checks availability
- Booking lifecycle → Accounts and roles: checks users
- Booking lifecycle → Car repository: loads cars
- Booking lifecycle → Booking repository: reads/writes