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.
- 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.
- Node.js
- npm (Node Package Manager)
-
Clone the Repository:
git clone https://github.com/ravikant-diwakar/EasyDrive cd easydrive
-
Install Dependencies:
npm install
-
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
-
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
-
Start the Development Server:
npm start
-
Open the Application:
Visit http://localhost:3000 in your browser.
Refer to the Firebase Setup Documentation.
Refer to the Razorpay Documentation.
Contributions are welcome! Follow these steps to contribute:
-
Fork the Repository.
-
Create a New Branch:
git checkout -b feature/your-feature-name
-
Make Your Changes and Commit:
git commit -m "Add feature"
-
Push to the Branch:
git push origin feature/your-feature-name
-
Open a Pull Request on GitHub.
For any queries or feedback, contact us at [email protected]
├──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
🏍️ | 🚘 |
---|---|
⛍ | ✔ |
---|---|
Easydrive - Simplifying Vehicle Rentals!