Experience luxury and convenience with our modern, full-stack car rental solution
Features • Tech Stack • Installation • Documentation • License
BookForDrive is a production-ready, full-stack car rental platform built with modern web technologies. Designed for scalability, performance, and exceptional user experience, it provides everything needed to run a professional car rental business online.
- 🎯 Modern Architecture - Built with Next.js 14 App Router and NestJS
- 🔐 Secure Authentication - JWT-based auth with refresh tokens and OAuth support
- 📱 Responsive Design - Beautiful UI that works seamlessly on all devices
- ⚡ High Performance - Optimized for speed with server-side rendering
- 🎨 Premium UI/UX - Crafted with Tailwind CSS and shadcn/ui components
- 🔄 Real-time Updates - Live booking status and notifications
- 📊 Analytics Dashboard - Comprehensive insights for business decisions
- 🔍 Advanced Search - Filter by location, date, car type, and price
- 🚘 Premium Fleet - Browse luxury and economy vehicles with detailed specs
- 📅 Easy Booking - Intuitive booking flow with real-time availability
- 🚚 Delivery Service - Optional car delivery to your location
- ⭐ Reviews & Ratings - Share experiences and read verified reviews
- 💳 Secure Payments - Multiple payment methods with Stripe integration
- 📱 User Dashboard - Manage bookings, reviews, and preferences
- 🔔 Notifications - Stay updated on booking status and promotions
- 📊 Analytics Dashboard - Revenue, bookings, and user metrics
- 🚗 Fleet Management - Add, edit, and manage vehicle inventory
- 📍 Location Management - Configure pickup/delivery locations
- 👥 User Management - Manage customers and permissions
- 💰 Booking Management - Track and update booking status
- 📝 Review Moderation - Approve and manage customer reviews
- 📈 Reports - Generate detailed business reports
- 🔐 JWT Authentication - Secure token-based authentication
- 🔄 OAuth Integration - Google and Facebook login support
- 📧 Email Notifications - Automated booking confirmations
- 🗄️ Database ORM - Type-safe queries with Prisma
- 🎨 Dark Mode - System-aware theme switching
- 📱 PWA Support - Install as a mobile app
- 🔍 SEO Optimized - Server-side rendering for better rankings
- 🧪 Type Safety - Full TypeScript coverage
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui, Radix UI
- State Management: Zustand
- Data Fetching: TanStack Query (React Query)
- Forms: React Hook Form + Zod
- Animations: Framer Motion
- Icons: Lucide React
- Framework: NestJS 10
- Language: TypeScript
- Database: SQLite (Prisma ORM)
- Authentication: Passport.js (JWT, OAuth)
- Validation: class-validator
- API Documentation: Swagger/OpenAPI
- Security: Helmet, CORS, Rate Limiting
- Version Control: Git
- Package Manager: npm
- Code Quality: ESLint, Prettier
- API Testing: Swagger UI
- Development: Hot Module Replacement
- Node.js 18+ and npm
- Git
- Clone the repository
git clone https://github.com/jaiyan-th/Car-Rent-Main.git
cd Car-Rent-Main- Backend Setup
cd backend
npm install
cp .env.example .env
# Edit .env with your configuration
npx prisma migrate dev
npx prisma db seed
npm run start:dev- Frontend Setup
cd frontend
npm install
cp .env.example .env.local
# Edit .env.local with your configuration
npm run dev- Access the Application
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001/api
- API Documentation: http://localhost:3001/api/docs
setup.batchmod +x setup.sh
./setup.shCar-Rent-Main/
├── backend/ # NestJS backend application
│ ├── src/
│ │ ├── modules/ # Feature modules
│ │ │ ├── auth/ # Authentication & authorization
│ │ │ ├── users/ # User management
│ │ │ ├── cars/ # Vehicle management
│ │ │ ├── bookings/ # Booking system
│ │ │ ├── reviews/ # Review & rating system
│ │ │ ├── payments/ # Payment processing
│ │ │ ├── analytics/ # Analytics & reporting
│ │ │ └── locations/ # Location management
│ │ ├── common/ # Shared utilities
│ │ └── main.ts # Application entry point
│ ├── prisma/ # Database schema & migrations
│ └── package.json
│
├── frontend/ # Next.js frontend application
│ ├── src/
│ │ ├── app/ # App Router pages
│ │ ├── components/ # React components
│ │ │ ├── layout/ # Layout components
│ │ │ ├── sections/ # Page sections
│ │ │ └── ui/ # UI components
│ │ ├── services/ # API services
│ │ ├── store/ # State management
│ │ ├── types/ # TypeScript types
│ │ └── lib/ # Utilities
│ └── package.json
│
├── docs/ # Additional documentation
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── INSTALLATION.md # Detailed installation guide
├── TROUBLESHOOTING.md # Common issues & solutions
└── README.md # This file
POST /api/v1/auth/register- User registrationPOST /api/v1/auth/login- User loginPOST /api/v1/auth/refresh- Refresh access tokenGET /api/v1/auth/google- Google OAuth login
GET /api/v1/cars- List all carsGET /api/v1/cars/:id- Get car detailsGET /api/v1/cars/featured- Get featured carsPOST /api/v1/cars- Create car (Admin)
POST /api/v1/bookings- Create bookingGET /api/v1/bookings/user/my-bookings- User's bookingsPATCH /api/v1/bookings/:id- Update bookingGET /api/v1/bookings/admin/all- All bookings (Admin)
POST /api/v1/reviews- Create reviewGET /api/v1/reviews/car/:carId- Car reviewsGET /api/v1/reviews/user/my-reviews- User's reviewsDELETE /api/v1/reviews/:id- Delete review
Modern, responsive homepage with hero section, featured cars, and testimonials.
Advanced filtering and sorting with beautiful card layouts.
Intuitive multi-step booking process with real-time availability.
Comprehensive dashboard for managing bookings and reviews.
Powerful admin interface for managing the entire platform.
DATABASE_URL="file:./dev.db"
JWT_SECRET="your-secret-key"
JWT_REFRESH_SECRET="your-refresh-secret"
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
FRONTEND_URL="http://localhost:3000"NEXT_PUBLIC_API_URL="http://localhost:3001/api/v1"
NEXT_PUBLIC_APP_NAME="BookForDrive"
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="your-maps-api-key"cd backend
npm run test
npm run test:e2ecd frontend
npm run testcd frontend
vercel deploy --prodcd backend
# Configure your deployment platform
# Set environment variables
# DeployWe welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Jaiyan - Initial work - @jaiyan-th
- Next.js team for the amazing framework
- NestJS team for the robust backend framework
- shadcn for the beautiful UI components
- All contributors who help improve this project
For support, email support@bookfordrive.com or open an issue on GitHub.
- Mobile app (React Native)
- Advanced analytics dashboard
- Multi-language support
- Payment gateway integration (Stripe, PayPal)
- Real-time chat support
- AI-powered car recommendations
- Loyalty program
- Fleet tracking with GPS
Made with ❤️ by the BookForDrive Team
⭐ Star us on GitHub — it motivates us a lot!