A professional-grade, scalable car rental web application that allows users to book vehicles, manage bookings, and for admins to manage inventory and operations. Built with performance, security, and user experience in mind.
- Secure user sign-up and login system
- JWT-based authentication for stateless and secure sessions
- Users can browse available cars
- Filter by location, pickup dates, and vehicle specifications
- Select pickup and return dates
- Book cars directly with live availability and confirmation
- View and manage personal bookings
- Add, edit, and delete car listings
- Monitor bookings, revenue, and system metrics
- Update booking statuses (pending, confirmed, completed)
- Optimized image storage and delivery using ImageKit
- High-quality and fast-loading car images
/client # Frontend (React or Next.js)
/server # Backend (Express.js / Node.js)
/uploads # Local image storage (if applicable)
/config # DB, ImageKit, JWT config
.env # Environment variables
package.json
README.md
- Frontend: React / Next.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB / PostgreSQL
- Authentication: JWT (JSON Web Tokens)
- Image Hosting: ImageKit
- Deployment: Vercel (Frontend), Render/Heroku (Backend)
git clone https://github.com/sumu9897/car-rental.git
cd car-rental
cd server
npm install
cd ../client
npm install
Create a .env file in both server/ and client/ directories.
Example .env for server:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
IMAGEKIT_PUBLIC_KEY=your_key
IMAGEKIT_PRIVATE_KEY=your_key
IMAGEKIT_URL_ENDPOINT=https://ik.imagekit.io/your_id
- Register & Login with JWT
- Protect routes using middleware
- Browse cars by category: Luxury, Economy, SUV, etc.
- View detailed specs: seating, transmission, fuel type, price
- Real-time availability check
- Booking summary with dates, locations, and pricing
- "My Bookings" page to track status
- Add/Edit/Delete cars with full specs
- Manage and approve/cancel bookings
- View revenue reports & booking logs
- Responsive, mobile-friendly design
- Customer testimonials
- Subscription section for latest deals
- Clean navigation and call-to-action flows
BMW X5 (SUV 2022)
💺 5 Seats | ⚙️ Automatic | ⛽ Gas
📍 Location: Dhaka
💵 ৳4500/day