How sugan1605/fleetops works
FleetOps is a rental-operations API and domain application. Its visible API workflow serves vehicle queries and creates or retrieves reservations; reservation creation looks up customer and optional vehicle records, constructs a reservation, and persists it. The wider documented lifecycle includes rental assignment, extensions, returns, employee check-in and vehicle preparation. The API-to-reservation path is excerpted; rental services are indexed as read but not shown in full, so their connections are limited to indexed references and documented capabilities.
Main entry points: routes/reservation.py Reservation routes · reservation_repository.py Reservation repository · models/reservation.py Reservations · vehicle.py Vehicle availability
Components 20
API
- FastAPI app
app/main.py - Health route
app/api/routes/health.py - Reservation routes
app/api/routes/reservation.py - Vehicle routes
app/api/routes/vehicle.py - Reservation schema
app/api/schemas/reservation.py - Vehicle schema
app/api/schemas/vehicle.py
Rental domain
- Customer validation
app/models/customer.py - Vehicle availability
app/models/vehicle.py - Reservations
app/models/reservation.py - Rental lifecycle
app/models/rental.py - Reservation logic
app/services/reservation_service.py - Vehicle logic
app/services/vehicle_service.py - Rental operations
app/services/rental_service.py
Persistence
- Repository wiring
app/dependencies.py - Customer repository
app/repositories/customer_repository.py - Vehicle repository
app/repositories/vehicle_repository.py - Reservation repository
app/repositories/reservation_repository.py - Database connection
app/database.py
Other components
- API client
- PostgreSQL
Connections 34
- API client → FastAPI app: sends requests
- FastAPI app → Health route: registers route
app/main.py - FastAPI app → Reservation routes: registers route
app/main.py - FastAPI app → Vehicle routes: registers route
app/main.py - Reservation routes → Reservation schema: uses schema
app/api/routes/reservation.py - Vehicle routes → Vehicle schema: uses schema
app/api/routes/vehicle.py - Reservation routes → Repository wiring: injects repositories
app/api/routes/reservation.py - Vehicle routes → Repository wiring: injects repository
app/api/routes/vehicle.py - Reservation routes → Customer repository: looks up customer
app/api/routes/reservation.py - Reservation routes → Vehicle repository: looks up vehicle
app/api/routes/reservation.py - Reservation routes → Reservations: constructs reservation
app/api/routes/reservation.py - Reservation routes → Reservation repository: persists or retrieves
app/api/routes/reservation.py - Repository wiring → Customer repository: creates instance
app/dependencies.py - Repository wiring → Vehicle repository: creates instance
app/dependencies.py - Repository wiring → Reservation repository: wires instance
app/dependencies.py - Reservation repository → Customer repository: loads customer
app/repositories/reservation_repository.py - Reservation repository → Vehicle repository: loads vehicle
app/repositories/reservation_repository.py - Customer repository → Customer validation: maps records
app/repositories/customer_repository.py - Vehicle repository → Vehicle availability: maps records
app/repositories/vehicle_repository.py - Reservation repository → Reservations: maps records
app/repositories/reservation_repository.py - Customer repository → Database connection: queries database
app/repositories/customer_repository.py - Vehicle repository → Database connection: queries database
app/repositories/vehicle_repository.py - Reservation repository → Database connection: queries database
app/repositories/reservation_repository.py - Database connection → PostgreSQL: opens connection
app/database.py - Rental operations → Rental lifecycle: uses rental model
app/services/rental_service.py - Rental operations → Reservations: uses reservation model
app/services/rental_service.py - Reservation logic → Reservations: uses reservation model
app/services/reservation_service.py - Reservation logic → Vehicle availability: uses vehicle model
app/services/reservation_service.py - Vehicle logic → Vehicle availability: uses vehicle model
app/services/vehicle_service.py - Rental lifecycle → Customer validation: holds customer
app/models/rental.py - Rental lifecycle → Vehicle availability: updates vehicle
app/models/rental.py - Reservations → Customer validation: holds customer
app/models/reservation.py - Reservations → Vehicle availability: may hold vehicle
app/models/reservation.py - Rental lifecycle → Vehicle availability: check-in marks dirty
app/models/rental.py