A van rental platform built with React + TypeScript + Vite.
Browse available vans with type-based filtering (simple, luxury, rugged). Filter state is persisted in URL search params.
View detailed information about each van with back-navigation that preserves the current filter state.
Login system with localStorage-based auth persistence and route protection via React Router loaders.
Host hub showing earnings summary, review score, and listed vans with quick links to management.
Full CRUD interface for managing vans with nested tabs for Info, Pricing, and Photos.
- React 19 with TypeScript
- React Router 7 (data layer API with loaders/actions)
- Firebase (Firestore for data persistence)
- MirageJS (mock server for development)
- Vite (build tool)
- react-icons (icon library)
npm install
npm run devCreate a .env file with your Firebase config:
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
npm run dev— Start development servernpm run build— Type-check and build for productionnpm run preview— Preview production buildnpm run lint— Run ESLint