How guneshsiripuram/crazy-cars-rental works
Crazy Cars Rental is a self-drive car rental website with a public fleet, gallery, location and contact experience, plus an admin CMS. Customers browse vehicles and submit booking enquiries; admins sign in to manage bookings, cars, gallery content and website settings. The main page and API routes are sampled, but several section components and the database implementation are only partially shown, so the graph omits uncertain internal wiring. Storage supports Supabase with a local JSON fallback, and image upload can use Supabase Storage.
Main entry points: app/page.tsx Home Page · admin/page.tsx Admin Dashboard · db.ts Data Access · route.ts Bookings API
Components 25
Customer Website
- Home Page
src/app/page.tsx - Navigation
src/components/Navbar.tsx - Hero
src/components/Hero.tsx - Vehicle Ticker
src/components/LiveVehicleTicker.tsx - Why Choose Us
src/components/WhyChooseUs.tsx - Fleet Section
src/components/FleetSection.tsx - Gallery Section
src/components/GallerySection.tsx - Location
src/components/LocationSection.tsx - Contact Section
src/components/ContactSection.tsx - Footer
src/components/Footer.tsx - Booking Modal
src/components/BookingModal.tsx
Admin CMS
- Admin Dashboard
src/app/admin/page.tsx
API
- Admin Sign-in API
src/app/api/auth/route.ts - Bookings API
src/app/api/bookings/route.ts - Cars API
src/app/api/cars/route.ts - Gallery API
src/app/api/gallery/route.ts - Settings API
src/app/api/settings/route.ts
Data and Integrations
- Session Tokens
src/lib/auth.ts - Admin Guard
src/lib/requireAdmin.ts - Data Access
src/lib/db.ts - JSON Store
data/db.json - Supabase
src/lib/supabase.ts
Other components
- Customer
- Supabase Storage
- Administrator
Connections 36
- Customer → Home Page: opens
- Home Page → Cars API: fetches cars
- Home Page → Settings API: fetches settings
- Home Page → Gallery API: fetches gallery
- Home Page → Navigation: renders
- Home Page → Hero: renders
- Home Page → Vehicle Ticker: renders
- Home Page → Why Choose Us: renders
- Home Page → Fleet Section: renders
- Home Page → Gallery Section: renders
- Home Page → Location: renders
- Home Page → Contact Section: renders
- Home Page → Footer: renders
- Home Page → Booking Modal: renders
- Vehicle Ticker → Booking Modal: selects car
- Fleet Section → Booking Modal: starts booking
- Booking Modal → Bookings API: submits enquiry
- Administrator → Admin Dashboard: uses
- Admin Dashboard → Admin Sign-in API: signs in
- Admin Sign-in API → Session Tokens: creates token
- Admin Dashboard → Cars API: manages cars
- Admin Dashboard → Bookings API: manages bookings
- Admin Dashboard → Gallery API: manages gallery
- Admin Dashboard → Settings API: manages settings
- Admin Dashboard → Supabase Storage: uploads images
- Bookings API → Admin Guard: checks admin
- Cars API → Admin Guard: checks admin
- Gallery API → Admin Guard: checks admin
- Settings API → Admin Guard: checks admin
- Bookings API → Data Access: reads/writes
- Cars API → Data Access: reads/writes
- Gallery API → Data Access: reads/writes
- Settings API → Data Access: reads/writes
- Data Access → JSON Store: fallback storage
- Data Access → Supabase: uses when configured
- Admin Dashboard → Bookings API: updates status