Vanlife is a van rental website built using React and Firebase, designed to provide users with an easy and convenient platform to rent vans for their travel adventures.
- User Authentication: Secure user authentication and authorization using Firebase Authentication.
- Van Listings: Browse and search for available vans to rent, with detailed information and photos.
- Booking System: Book vans for specific dates, manage bookings, and view rental history.
- Admin Dashboard: Admin panel for managing van listings, user bookings, and site settings.
- React: Frontend development framework
- Firebase: Backend services for user authentication, database, and hosting
- HTML/CSS: Frontend markup and styling
- JavaScript: Programming language for frontend logic
- Bootstrap: CSS framework for responsive design
To run the Vanlife project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/vanlife.git
-
Navigate to the project directory:
cd vanlife
-
Install dependencies:
npm install
-
Set up Firebase project and obtain credentials (see below)
-
Create
.env
file in the root directory and add Firebase config details: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
-
Run the development server: npm start
-
Open your browser and navigate to http://localhost:3000
- Create a new Firebase project on the Firebase Console.
- Enable Firebase Authentication and Firestore database for your project.
- Add web app to your project and obtain Firebase config details.
- Update .env file in your project with Firebase config details.
Contributions to Vanlife are welcome! If you encounter any issues or have suggestions for improvements, please submit a pull request or open an issue on GitHub. License
This project is licensed under the MIT License - see the LICENSE file for details. Contact
For any inquiries or feedback, feel free to contact the project maintainer at osama.f.mabkhot@gmail.com