Wanderlust is a comprehensive travel platform designed for adventurers and explorers who want to discover and share extraordinary places around the world. Built with the powerful MERN (MongoDB, Express, React, and Node.js) stack, Wanderlust offers a seamless and secure user experience for both casual travelers and serious wanderers.
Our platform allows users to:β¨
- Create and Manage Listings: Add new travel destinations with rich details and photos, and keep track of your own adventures.
- Explore Listings: Discover unique spots shared by other users, complete with interactive maps powered by Mapbox.
- Review and Rate Experiences: Share your thoughts on destinations you've visited or learn from the experiences of others through our review system.
- Secure Authentication: Enjoy a safe browsing and sharing environment with user authentication handled by Passport.
- Interactive Maps: Visualize locations effortlessly with Mapbox integration, making it easier to plan your next getaway.
Wanderlust is all about making travel planning fun, efficient, and collaborative. Whether youβre adding a hidden gem or exploring a bustling city, our platform connects you to a global community of travelers.βοΈ β¨
Live Link: https://wanderlust-2024-tkqf.onrender.com/listing
π Stars | π΄ Forks | π Issues | π Open PRs | π Closed PRs | π οΈ Languages | β Contributors |
---|---|---|---|---|---|---|
- π€ How to Contribute
- π οΈ How to Set Up the Project Locally
- π¬ Contact
- π Our Valuable Contributors
- β€οΈ Made with Love by Soujanya C
We welcome contributions to help improve Wanderlust 2024! π Hereβs how you can get involved:
-
Fork the Repository π΄
- Navigate to the Wanderlust 2024 GitHub page. π
- Click on the Fork button in the top-right corner of the page to create a copy of the repository in your GitHub account. β
-
Clone Your Forked Repository π
- After forking, clone the repository to your local machine:
git clone https://github.com/your-username/Wanderlust-2024.git
- Navigate to the project directory:
cd Wanderlust-2024
- After forking, clone the repository to your local machine:
-
Create a New Branch for Your Changes πΏ
- Create a new branch for your feature or fix:
git checkout -b feature/your-feature-name
- Create a new branch for your feature or fix:
-
Make Your Changes βοΈ
- Add your desired features, fix bugs, or improve documentation. π οΈ
-
Add Your Changes to the Staging Area π¦
- Stage the files you modified or created:
git add .
- Stage the files you modified or created:
-
Commit Your Changes π
- Commit your changes with a descriptive message:
git commit -m "Add [feature/fix] - description"
- Commit your changes with a descriptive message:
-
Push Your Changes β¬οΈ
- Push the changes to your forked repository:
git push origin feature/your-feature-name
- Push the changes to your forked repository:
-
Clone the Repository π
- Clone the repository to your local machine:
git clone https://github.com/your-username/Wanderlust-2024.git
- Clone the repository to your local machine:
-
Navigate to the Project Directory π
- Change to the directory where the project is located:
cd Wanderlust-2024
- Change to the directory where the project is located:
-
Set Up Your Mapbox Account π
- Go to Mapbox and sign up for a free account. π
- After logging in, navigate to the Tokens section under your account settings. π
- Create a new Access Token and copy it. You will need this for the
.env
file. π
-
Set Up Your Cloudinary Account βοΈ
- Go to Cloudinary and sign up for a free account. π
- After logging in, navigate to your Dashboard. π
- Copy your Cloud Name, API Key, and API Secret. You will need these for the
.env
file. π
-
Ensure
.env
andnode_modules/
Are in.gitignore
π‘οΈ- Before proceeding, ensure that both
.env
andnode_modules/
are added to your.gitignore
file to prevent sensitive information and large files from being uploaded to GitHub. π« - If they are not already there, add them:
echo .env >> .gitignore echo node_modules/ >> .gitignore
- Before proceeding, ensure that both
-
Create a
.env
File ποΈ- In the root directory of the project, create a
.env
file and add the following variables:MAP_TOKEN=your-mapbox-access-token ATLAS_DB_TOKEN=your-mongodb-connection-uri # mongodb://127.0.0.1:27017/wanderlust for running mongodb server locally SECRET=your-secret-key CLOUD_NAME=your-cloudinary-cloud-name CLOUD_API_KEY=your-cloudinary-api-key CLOUD_API_SECRET=your-cloudinary-api-secret PORT=8080 # Default port for the server
- In the root directory of the project, create a
-
Install Dependencies βοΈ
- Install the required Node.js dependencies:
npm install
- Install the required Node.js dependencies:
-
Start the Server π
- You have two options to start the server:
- Using
npx nodemon
for auto-restarting:npx nodemon
- Or using
node app.js
to start the server manually:node app.js
- Using
- You have two options to start the server:
-
Environment Setup π
- Ensure that the
.env
file is not uploaded to GitHub by checking that.gitignore
includes.env
. π The following code snippet prevents.env
from being deployed if you're running in development mode:if (process.env.NODE_ENV !== 'production') { require('dotenv').config(); }
- Ensure that the
-
Set Up Your Chatbase Account βοΈ
- Go to Chatbase.co and sign up for a free account. π
- After logging in, Create your chatbot. π
- Copy your Scrtpt code snippet, You will need theie for the Chat bot implementation in
boilerplate.ejs
file. π
We're excited to have you on board! Whether you're a seasoned developer or just starting out, your skills and ideas can make a significant impact on Wanderlust 2024. Hereβs how you can get involved:
- Share Your Ideas π‘: Have a feature in mind? Let us know!
- Fix Bugs π: Help us improve the project by identifying and fixing issues.
- Enhance Documentation π: Clear documentation helps everyone. Your contributions can make it even better!
Every contribution, big or small, is valued and appreciated. Together, we can create an amazing platform for travel enthusiasts! πβ¨
For questions or feedback, feel free to reach out via GitHub issues or contact the project maintainers. βοΈ