How harshaansh/ridebookingappjava works
This is a Spring ride-booking backend. Passengers register or log in, request rides with pickup and destination details, and view or cancel their rides; drivers can browse available rides, accept assignments, advance ride status, and view history. Authentication uses password verification and JWTs, while ride services calculate estimated fares and persist ride state. The source index supports the main controller/service/repository calls; HTTP entry and database wiring are inferred from the framework structure, so those links are marked unverified where needed.
Main entry points: RideService.java Ride Lifecycle · UserRepository.java User Repository · entity Domain Entities · AuthenticationService.java Authentication
Components 21
HTTP API
- Authentication API
src/main/java/com/ridebooking/ride_booking_backend/controller/AuthController.java - User API
src/main/java/com/ridebooking/ride_booking_backend/controller/UserController.java - Ride API
src/main/java/com/ridebooking/ride_booking_backend/controller/RideController.java - Health API
src/main/java/com/ridebooking/ride_booking_backend/controller/HealthController.java
Identity and Security
- Authentication
src/main/java/com/ridebooking/ride_booking_backend/service/AuthenticationService.java - Account Service
src/main/java/com/ridebooking/ride_booking_backend/service/UserService.java - Security Configuration
src/main/java/com/ridebooking/ride_booking_backend/config/SecurityConfig.java - JWT Filter
src/main/java/com/ridebooking/ride_booking_backend/security/JwtAuthenticationFilter.java - JWT Service
src/main/java/com/ridebooking/ride_booking_backend/security/JwtService.java - User Details Loader
src/main/java/com/ridebooking/ride_booking_backend/security/CustomUserDetailsService.java
Ride Operations
- Ride Lifecycle
src/main/java/com/ridebooking/ride_booking_backend/service/RideService.java - Fare Estimator
src/main/java/com/ridebooking/ride_booking_backend/service/FareService.java - Ride Status
src/main/java/com/ridebooking/ride_booking_backend/enums/RideStatus.java
Domain and Persistence
- User Repository
src/main/java/com/ridebooking/ride_booking_backend/repository/UserRepository.java - Ride Repository
src/main/java/com/ridebooking/ride_booking_backend/repository/RideRepository.java - Driver Repository
src/main/java/com/ridebooking/ride_booking_backend/repository/DriverRepository.java - Vehicle Repository
src/main/java/com/ridebooking/ride_booking_backend/repository/VehicleRepository.java - Domain Entities
src/main/java/com/ridebooking/ride_booking_backend/entity
Other components
- Passenger
- Driver
- Relational Database
Connections 27
- Passenger → Authentication API: sends requests
- Driver → Authentication API: sends requests
- Passenger → User API: registers
- Passenger → Ride API: books rides
- Driver → Ride API: manages rides
- Authentication API → Authentication: delegates to
src/main/java/com/ridebooking/ride_booking_backend/controller/AuthController.java - User API → Account Service: delegates to
src/main/java/com/ridebooking/ride_booking_backend/controller/UserController.java - Ride API → Ride Lifecycle: delegates to
src/main/java/com/ridebooking/ride_booking_backend/controller/RideController.java - Account Service → User Repository: reads and writes
src/main/java/com/ridebooking/ride_booking_backend/service/UserService.java - Authentication → User Repository: looks up users
src/main/java/com/ridebooking/ride_booking_backend/service/AuthenticationService.java - Authentication → JWT Service: issues token
src/main/java/com/ridebooking/ride_booking_backend/service/AuthenticationService.java - Authentication → User Details Loader: loads identity
- Security Configuration → JWT Filter: registers filter
src/main/java/com/ridebooking/ride_booking_backend/config/SecurityConfig.java - JWT Filter → JWT Service: validates token
src/main/java/com/ridebooking/ride_booking_backend/security/JwtAuthenticationFilter.java - Ride Lifecycle → User Repository: looks up users
src/main/java/com/ridebooking/ride_booking_backend/service/RideService.java - Ride Lifecycle → Ride Repository: reads and writes rides
src/main/java/com/ridebooking/ride_booking_backend/service/RideService.java - Ride Lifecycle → Fare Estimator: calculates estimate
src/main/java/com/ridebooking/ride_booking_backend/service/RideService.java - Ride Lifecycle → Domain Entities: updates ride state
src/main/java/com/ridebooking/ride_booking_backend/service/RideService.java - Ride Lifecycle → Ride Status: checks transitions
src/main/java/com/ridebooking/ride_booking_backend/service/RideService.java - User Repository → Domain Entities: persists users
src/main/java/com/ridebooking/ride_booking_backend/repository/UserRepository.java - Ride Repository → Domain Entities: persists rides
src/main/java/com/ridebooking/ride_booking_backend/repository/RideRepository.java - Driver Repository → Domain Entities: persists drivers
src/main/java/com/ridebooking/ride_booking_backend/repository/DriverRepository.java - Vehicle Repository → Domain Entities: persists vehicles
src/main/java/com/ridebooking/ride_booking_backend/repository/VehicleRepository.java - User Repository → Relational Database: stores records
- Ride Repository → Relational Database: stores records
- Driver Repository → Relational Database: stores records
- Vehicle Repository → Relational Database: stores records