Skip to content

A comprehensive vehicle rental platform built with React frontend and Express.js backend, featuring user authentication, vehicle management, booking system, and payment processing.

License

Notifications You must be signed in to change notification settings

Soumen044/Vehicle_Rental_Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vehicle Rental Platform

A comprehensive vehicle rental platform built with React frontend and Express.js backend, featuring user authentication, vehicle management, booking system, and payment processing.

🚀 Features

Backend Features

  • User Authentication: JWT-based authentication with role-based access control
  • Vehicle Management: Add, update, delete, and manage vehicle listings
  • Booking System: Complete booking lifecycle management
  • Payment Processing: Integration with payment gateways
  • Admin Dashboard: Comprehensive admin and super admin panels
  • API Documentation: Well-documented RESTful API endpoints

Frontend Features

  • Modern UI: Built with React, Vite, and Tailwind CSS
  • Responsive Design: Mobile-friendly interface
  • User Dashboard: Personal dashboard for users and renters
  • Vehicle Search: Advanced search with location-based filtering
  • Booking Management: Easy booking creation and management
  • Payment Integration: Secure payment processing

🛠️ Tech Stack

Backend

  • Node.js with Express.js framework
  • MongoDB with Mongoose ODM
  • JWT for authentication
  • bcrypt for password hashing
  • CORS for cross-origin requests

Frontend

  • React with Vite build tool
  • Tailwind CSS for styling
  • React Router for navigation
  • Axios for API calls
  • React Hot Toast for notifications

📁 Project Structure

Car_Rentals_2025/
├── back_end/                 # Backend server
│   ├── controllers/          # Route controllers
│   ├── models/              # MongoDB models
│   ├── routes/              # API routes
│   ├── middlewares/         # Authentication middleware
│   ├── utils/               # Utility functions
│   ├── db/                  # Database connection
│   ├── app.js               # Express app configuration
│   ├── index.js             # Server entry point
│   └── package.json         # Backend dependencies
├── front_end/               # React frontend
│   ├── src/
│   │   ├── components/      # Reusable components
│   │   ├── pages/          # Page components
│   │   ├── assets/         # Static assets
│   │   ├── App.jsx         # Main app component
│   │   └── main.jsx        # React entry point
│   └── package.json         # Frontend dependencies
└── README.md               # Project documentation

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (local or cloud instance)
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/Soumen044/Vehicle_Rental_Platform.git
    cd Vehicle_Rental_Platform
  2. Setup Backend

    cd back_end
    npm install
  3. Setup Frontend

    cd ../front_end
    npm install
  4. Environment Variables

    • Create .env file in back_end/ directory:
      PORT=2424
      DB_URL=mongodb://localhost:27017
      JWT_SECRET=your_jwt_secret_key
      CORS_ORIGIN=http://localhost:5173
      
  5. Start Development Servers

    • Backend: cd back_end && npm run dev
    • Frontend: cd front_end && npm run dev

📚 API Documentation

Detailed API documentation is available in API_DOCUMENTATION.md

🔐 User Roles

  • User: Can book vehicles and manage their bookings
  • Renter: Can list vehicles and manage their rentals
  • Admin: Can monitor platform activities and manage content
  • Super Admin: Full platform administration privileges

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📞 Support

For support and questions, please open an issue in the GitHub repository.

🎯 Roadmap

  • Mobile app development
  • Real-time notifications
  • Advanced analytics dashboard
  • Multi-language support
  • Enhanced payment gateway integration

About

A comprehensive vehicle rental platform built with React frontend and Express.js backend, featuring user authentication, vehicle management, booking system, and payment processing.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages