How codewithnaveed01/apex-fullstack works
APEX is a car-rental marketplace with customer booking and payment flows plus an operations panel for fleet, owner applications, verification, and administration. Customers browse fleet availability, submit bookings and documents, then provide payment receipts; admins verify payments and manage operational records. The Java HTTP layer serves the customer/admin SPA and API, with services enforcing pricing, booking, and payment rules over PostgreSQL repositories. README documents broader capabilities not fully represented in sampled source; those branches are shown at subsystem level.
Main entry points: BookingRepo.java Repositories · Router.java Router and auth · controllers Other resource APIs · Main.java Server startup
Components 21
Web experience
- Customer SPA
frontend/customer.js - Served web assets
backend/src/com/apex/web/StaticHandler.java
HTTP API
- Server startup
backend/src/com/apex/Main.java - Router and auth
backend/src/com/apex/web/Router.java - Booking API
backend/src/com/apex/web/controllers/BookingController.java - Fleet API
backend/src/com/apex/web/controllers/FleetController.java - Review API
backend/src/com/apex/web/controllers/ReviewController.java - Other resource APIs
backend/src/com/apex/web/controllers
Domain services
- Authentication
backend/src/com/apex/service/AuthService.java - Booking rules
backend/src/com/apex/service/BookingService.java - Server pricing
backend/src/com/apex/service/PricingService.java - Payment verification
backend/src/com/apex/service/PaymentService.java - Document uploads
backend/src/com/apex/service/UploadService.java - Admin state sync
backend/src/com/apex/service/StateService.java - Other services
backend/src/com/apex/service
Persistence
- Repositories
backend/src/com/apex/dao/BookingRepo.java - DB client
backend/src/com/apex/db/Database.java
Other components
- Customer
- Operations admin
- PostgreSQL
- Private documents
Connections 29
- Customer → Customer SPA: uses
- Operations admin → Customer SPA: uses
- Customer SPA → Router and auth: API requests
- Server startup → Router and auth: registers routes
- Server startup → Served web assets: serves assets
- Router and auth → Booking API: dispatches
- Router and auth → Fleet API: dispatches
- Router and auth → Review API: dispatches
- Router and auth → Other resource APIs: dispatches
- Router and auth → Authentication: validates sessions
- Booking API → Booking rules: creates and updates
- Booking API → Repositories: reads bookings
- Fleet API → Repositories: manages fleet
- Review API → Repositories: manages reviews
- Other resource APIs → Authentication: authenticates
- Other resource APIs → Payment verification: payment actions
- Other resource APIs → Document uploads: uploads documents
- Other resource APIs → Admin state sync: syncs admin state
- Other resource APIs → Other services: resource operations
- Booking rules → Server pricing: computes charges
- Booking rules → Repositories: reads and writes
- Payment verification → Repositories: updates payments
- Document uploads → Repositories: stores metadata
- Document uploads → Private documents: stores files
- Admin state sync → Repositories: syncs records
- Authentication → Repositories: reads sessions/users
- Repositories → DB client: executes SQL
- DB client → PostgreSQL: queries
- Server startup → Other services: seeds startup data