A full-stack vehicle rental application that allows users to browse available vehicles, like their favorites, filter the vehicles and manage their bookings easily. Built using the MERN stack (MongoDB, Express, React, Node.js) with seamless integration and user-friendly UI.
Includes a secure Admin Panel for managing vehicles, monitoring user activity, and overseeing the overall system.
/frontend → React frontend
/server → Node.js backend with Express
- 🧑💼 User Authentication (Google/JWT Auth)
- 🚘 View all available vehicles
- ❤️ Like & Unlike vehicles (user-based)
- 🔍 Filter and search vehicles
- 📦 Booking management (extendable)
- 🛠️ Admin Panel for vehicle management and monitoring
- 🎨 Responsive and intuitive UI with Tailwind CSS
- Frontend: React, Axios, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB (with Mongoose ODM)
- Deployment: Vercel (Frontend & Backend)
git clone https://github.com/sathishk-dev/vehicle-rental.git
cd vehicle-rentalcd server
npm installcd ../frontend
npm installInside the /server folder, create a .env file:
MONGO_URL=your_mongodb_connection_string
CLIENT_URL = "http://localhost:5173"
SERVER_URL = "http://127.0.0.1:3001"
EMAIL = your_email
APP_PASS = get your_email app password
GOOGLE_CLIENT_ID = Your_Google_Client_Id
JWT_ACCESS_KEY = your_access_key
JWT_REFRESH_KEY = your_refress_keyInside the /frontend folder, create a .env file:
VITE_SERVER_URL = "http://localhost:3001"
VITE_GOOGLE_ID = Your_Google_Id- Go to the Google Cloud Console.
- Create a new project or select an existing one.
- Navigate to APIs & Services > Credentials.
- Click Create Credentials > OAuth 2.0 Client ID.
- Select Web application, and provide a name.
- Under Authorized JavaScript origins, add:
http://localhost:5173(for development)
- Click Create and copy the Client ID.
- Paste it in your
.envasVITE_GOOGLE_IDandGOOGLE_CLIENT_ID.
cd server
npm startcd ../frontend
npm run devNow, navigate to http://localhost:5173 to view the app locally.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
Sathish Kumar
📧 LinkedIn
🌐 GitHub Profile