AI-x-Car is a next-gen car marketplace where users can buy, sell, and book test drives effortlessly. Designed with speed, automation, and AI-powered precision, this platform leverages Gemini AI to completely transform the car-buying experience.
- ✅ Auto-Upload & Fetch Car Details → Upload an image, and Gemini AI automatically extracts car details (make, model, year, price, etc.).
- ✅ Reverse Image Search for Car Details → AI scans the Image to verify if the similar car exists, making searches more reliable.
- ✅ Smart Test Drive Booking → AI optimizes available slots to quickly schedule test drives with dealerships.
Built on Next.js, AI-x-Car delivers fast, interactive, and scalable experiences with Prisma ORM, Clerk authentication, and a PostgreSQL database for secure transactions.
🔹 Core Technologies
- Next.js → React framework for server-side rendering, routing, and API routes.
- React → UI library for building interactive user interfaces.
- Prisma ORM → Type-safe database access for PostgreSQL.
- PostgreSQL → Relational database for storing users, cars, bookings, etc.
- Clerk → Authentication and user management.
- Arcjet → Advanced security solution providing rate limiting, bot mitigation, spam prevention, and email validation
- Tailwind CSS → Utility-first CSS framework for rapid UI development.
- Lucide Icons → Modern SVG icons.
- Sonner → Toast notifications.
- date-fns → JavaScript date utility library.
- Vercel → Deployment platform (recommended).
🚀 AI-x-Car isn’t just another car marketplace—it’s an AI-driven revolution in automotive sales.
Whether you're buying, selling, or verifying listings, Gemini AI ensures accuracy, automation, and efficiency like never before.
This project is organized as follows:
.env— Environment variables (DB, API keys, etc.).gitignore— Git ignored filescomponents.json— Component registry/configurationeslint.config.mjs— ESLint configurationjsconfig.json— JavaScript config (paths/aliases)middleware.js— Next.js middleware for request handlingnext.config.mjs— Next.js configurationpackage.json— Project dependencies and scriptspostcss.config.mjs— PostCSS configuration for Tailwindtailwind.config.ts— Tailwind CSS configurationREADME.md— Project documentation (you're here)
admin.js— Admin-related actionscar-listings.js— Car listing CRUD & wishlist logiccars.js— Car data fetching & manipulationhome.js— Homepage data logicsettings.js— User settings actionstest-drive.js— Test drive booking logic
favicon.ico— Faviconglobals.css— Global CSSlayout.js— Root layout (header, footer, providers)
page.jsx— Car details page_components/car-details.jsx— Car details UI and logic_components/emi-calculator.jsx— EMI calculator component
header.jsx— App header (nav, auth, logo)/ui/— UI primitives (e.g., Button, Card, etc.)
- Custom React hooks (e.g.,
useFetch)
checkUser.js— User verification/creationhelper.js— Utility functions
index.jsedge.jsclient.jsdefault.js/runtime/
- Contains
schema.prismaand all migrations
- Images, logos, and other static content
- Auto-generated during build
app/layout.js: Root layout, includesHeader, global styles, and providers.components/header.jsx: Navigation bar with authentication, logo, and role-based links.actions/: Server-side logic for cars, admin, test drives, etc.lib/generated/prisma/: Prisma ORM client for database access (auto-generated).app/(main)/cars/[id]/_components/car-details.jsx: Car detail UI, wishlist, share, and quick stats.app/(main)/cars/[id]/page.jsx: Fetches car data and generates metadata for SEO.hooks/use-fetch.js: Custom hook for data fetching (not shown, but referenced).tailwind.config.ts: Tailwind CSS configuration for custom styles.next.config.mjs: Next.js configuration, including image domains and security headers.
- Install dependencies:
npm install --legacy-peer-deps