Skip to content

Responsive application for renting vehicles with user login, secure checkout, and booking history.

Notifications You must be signed in to change notification settings

ravikant-diwakar/EasyDrive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ezgif-7-03a726b6b6

EasyDrive : Car-Bike Rentals Application

Easydrive is a React-based car and bike rental application designed to provide a seamless vehicle rental experience. Users can easily register, log in, browse available vehicles, and make secure bookings through a user-friendly interface.

Features

  • User Authentication : Register and log in to access the platform.
  • Responsive Design : Seamless browsing on all devices.
  • Vehicle Booking : Select desired vehicle, specify rental duration, and proceed to checkout.
  • Payment Integration : Secure transactions via Razorpay, offering multiple payment options.
  • Booking History : Access details of previous rentals for reference and tracking.

Getting Started

Prerequisites

  • Node.js
  • npm (Node Package Manager)

Installation

  1. Clone the Repository:

    git clone https://github.com/ravikant-diwakar/EasyDrive
    cd easydrive
  2. Install Dependencies:

    npm install
  3. Configure Firebase:

    • Create a Firebase project and set up a web app.
    • Replace placeholders in src/config/firebase.js with your Firebase configuration.
    • Follow the instructions on the Firebase setup guide to create a project and obtain your Firebase configuration.
    • Create a .env file in the root directory and add your Firebase configuration.
      REACT_APP_FIREBASE_API_KEY=your_api_key
      REACT_APP_FIREBASE_AUTH_DOMAIN=your_auth_domain
      REACT_APP_FIREBASE_PROJECT_ID=your_project_id
      REACT_APP_FIREBASE_STORAGE_BUCKET=your_storage_bucket
      REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
      REACT_APP_FIREBASE_APP_ID=your_app_id
  4. Configure Razorpay:

    • Create a Razorpay account and obtain your API keys.
    • Replace placeholders in the payment integration code with your Razorpay API keys.
    • Follow the Razorpay documentation to create an account and obtain your API keys.
    • Add the Razorpay API keys to your .env file.
      RAZORPAY_KEY_ID=your_key_id
      RAZORPAY_KEY_SECRET=your_key_secret
  5. Start the Development Server:

    npm start
  6. Open the Application:

    Visit http://localhost:3000 in your browser.

Firebase Setup

Refer to the Firebase Setup Documentation.

Payment Integration

Refer to the Razorpay Documentation.

Contributing

Contributions are welcome! Follow these steps to contribute:

  1. Fork the Repository.

  2. Create a New Branch:

    git checkout -b feature/your-feature-name
  3. Make Your Changes and Commit:

    git commit -m "Add feature"
  4. Push to the Branch:

    git push origin feature/your-feature-name
  5. Open a Pull Request on GitHub.

Contact

For any queries or feedback, contact us at [email protected]

Folder Structure

├──src
├── admin
│   ├── contact-form-manager
│   │   └── contact-form-manager.jsx
│   ├── locations-manager
│   │   └── location-managers.jsx
│   ├── rentals-manager
│   │   └── rentals-manager.jsx
│   ├── users-manager
│   │   └── users-manager.jsx
│   ├── vehicles-manager
│   │   ├── vehicle-brands.jsx
│   │   ├── vehicle-cars.jsx
│   │   ├── vehicle-models.jsx
│   │   └── vehicles-manager.jsx
│   ├── admin-header.jsx
│   ├── admin-layout.jsx
│   └── admin.jsx
├── assets
│   └── images
├── components
│   ├── general
│   │   └── general-components.jsx
│   ├── about-section.jsx
│   ├── car-offers.jsx
│   ├── car-search.jsx
│   ├── contact-section.jsx
│   ├── customer-reviews.jsx
│   ├── features-section.jsx
│   ├── footer.jsx
│   ├── header.jsx
│   └── slider.jsx
├── config
│   ├── firebase.js
│   ├── general.js
│   └── ScrollToTop.js
├── DATA
│   ├── data.json
│   └── data.jsx
├── dev
│   ├── index.js
│   ├── palette.jsx
│   ├── previews.jsx
│   └── useInitial.js
├── guards
│   ├── AdminGuard.js
│   ├── AuthGuard.js
│   └── GuestGuard.js
├── hooks
│   ├── useAuthentication.js
│   └── useFetchData.js
├── pages
│   ├── about
│   │   └── about.jsx
│   ├── auth
│   │   ├── login.jsx
│   │   └── signup.jsx
│   ├── client
│   │   └── client.jsx
│   ├── contact
│   │   └── contact.jsx
│   ├── my-rentals
│   │   └── my-rentals.jsx
│   ├── services
│   │   └── services.jsx
│   └── vehicles
│       ├── vehicles.jsx
│       ├── car-detail.jsx
│       └── home.jsx
├── redux
│   ├── app
│   │   └── store.js
│   └── features
│       ├── ReserveSlice.js
│       └── UserSlice.js
├── styles
│   └── style.css
├── utils
│   └── demo-content.js
├── App.js
├── App.scss
├── App.test.js
├── index.css
├── index.js
├── reportWebVitals.js
└── setupTests.js
🏍️ 🚘
image image
image image

Easydrive - Simplifying Vehicle Rentals!

About

Responsive application for renting vehicles with user login, secure checkout, and booking history.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published