A modern, full-stack dealership website built for Car Planet, a premium pre-owned car showroom. The website allows customers to browse inventory, book test drives, explore insurance and finance options, and contact the dealership — with real-time WhatsApp notifications sent straight to the owner's phone.
- Home Page — Animated hero with featured inventory, insurance, finance and sell-car sections
- Inventory — Browse all cars with filters for fuel, transmission, and price range
- Car Detail Pages — Full specs, image gallery, pricing and enquiry options
- Book a Test Drive — Form with date/time selection (Mondays blocked), WhatsApp notification on submit
- Finance — EMI calculator and finance enquiry form
- Insurance — Instant insurance enquiry with zero-depreciation coverage info
- Sell Your Car — Form for customers to submit cars for valuation
- Contact — Business contact form with WhatsApp integration
- Admin Panel — Protected dashboard to add, edit, and delete cars from inventory
- Fully Responsive — Optimised for mobile, tablet, and desktop
- WhatsApp Notifications — All enquiries and bookings trigger live WhatsApp messages to the owner
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Database | Supabase (PostgreSQL) |
| Storage | Supabase Storage (car images) |
| Animations | GSAP + Lenis smooth scroll |
| Notifications | Meta WhatsApp Cloud API |
| Deployment | Vercel |
git clone https://github.com/VanshdeepSi/Car-Planet.git
cd Car-Planetnpm installCopy the example env file and fill in your credentials:
cp .env.example .env.localThen open .env.local and fill in:
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-keyYou can find all these keys in your Supabase project under Settings → API.
npm run devOpen http://localhost:3000 in your browser.
dealership/
├── app/
│ ├── admin/ # Protected admin panel
│ ├── api/ # API routes (WhatsApp, cars)
│ ├── contact/ # Contact page
│ ├── finance/ # Finance and EMI page
│ ├── insurance/ # Insurance enquiry page
│ ├── inventory/ # Car listing and detail pages
│ ├── sell-car/ # Sell your car page
│ ├── test-drive/ # Book a test drive page
│ └── page.tsx # Homepage
├── components/ # Reusable UI components
├── lib/ # Supabase client, types, utils
├── public/ # Static assets and images
└── tailwind.config.ts # Design tokens and theme
This project is deployed on Vercel. To deploy:
- Push your code to GitHub.
- Connect the repository to Vercel.
- Add the environment variables from
.env.localinto Vercel → Settings → Environment Variables. - Vercel will auto-deploy on every
git pushtomain.
All booking and enquiry forms send a real-time WhatsApp notification to the dealership owner's number via the Meta WhatsApp Cloud API. Make sure the WHATSAPP_API_TOKEN and WHATSAPP_PHONE_NUMBER_ID are configured in your environment variables for this to work.
This project is private and built exclusively for Car Planet. All rights reserved.