A multilingual car rental web app built with Next.js 15, React 19, and Tailwind CSS 4. Compare, customize, and confirm rentals via WhatsApp.
Live Demo — Try it live
- Multi-language — English, French, Arabic (RTL)
- Car fleet — Browse, filter (category, transmission, seats, price), and sort
- Car comparison — Select up to 3 cars and compare side by side
- Booking flow — 4-step wizard (location → car → add-ons → review)
- WhatsApp integration — Auto-generates booking messages
- Google Sheets CMS — Manage cars, reviews, locations & pricing via spreadsheet
- Fully responsive — Mobile-first design
- Framer Motion — Smooth page transitions and micro-interactions
| English | Français | العربية |
|---|---|---|
![]() |
![]() |
![]() |
| Page | Screenshot |
|---|---|
| Cars Page | ![]() |
| Car Details | ![]() |
| Booking Flow | ![]() |
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| UI Library | React 19 |
| Styling | Tailwind CSS 4 |
| Motion | Framer Motion |
| i18n | next-intl |
| State | Zustand |
| Icons | Lucide React |
| CMS | Google Sheets (read-only) |
npm install
npm run dev
npm run build
npm startsrc/
├── app/[locale]/ # App Router pages (cars, booking, etc.)
├── components/
│ ├── layout/ # Navbar, Footer, WhatsAppButton
│ ├── sections/ # FleetGrid, Reviews, Newsletter, BookingFlow
│ └── ui/ # CarCard, Button
├── lib/ # Sheets API, utils, WhatsApp helpers
├── messages/ # en.json, ar.json, fr.json
└── types/ # TypeScript interfaces
Edit Google Sheet data via src/lib/sheets.ts — the app reads cars, reviews, locations, add-ons, and pricing from a shared sheet URL.
Live Demo · Built with Next.js · © FleetWise






