YelpCamp is a website where users can browse, create and review campgrounds. This project is part of The Web Developer Bootcamp course by Colt Steele in Udemy. It was developed using Node.js, Express, MongoDB & Bootstrap. Passport.js was used to handle user authentication.
- User registration & authentication
- Browse, create and edit campgrounds
- Submit campground reviews
- Node.js 14 or higher
- Local MongoDB (or set up and use Mongo Atlas)
- Cloudinary account
- Mapbox account
Start by cloning the repository
git clone https://github.com/felipebertocchi/yelpcamp-project
Then switch to the project's folder and install all dependencies
cd yelpcamp-project && npm install
To run this project, you need to create a .env file in the root of the project with the following parameters:
MONGODB_URI=mongodb://localhost:27017/yelpcamp
SESSION_SECRET=***********************
UNSPLASH_API_KEY=********************************************
CLOUDINARY_CLOUD_NAME=**********
CLOUDINARY_API_KEY=**********************
CLOUDINARY_SECRET=**********************************
MAPBOX_TOKEN=********************************************************************
Unsplash API key is only required for running the seeds file, while Mapbox is required to display the map and Cloudinary to upload images
If you prefer to use Mongo Atlas instead, you should replace MONGODB_URI string with the connection string provided by Mongo Atlas:
MONGODB_URI=mongodb+srv://<username>:<password>@cluster.******.mongodb.net/prod?retryWrites=true&w=majority
npm start
If all goes well, this should appear in the console:
[mongodb] database connected
Webserver running on http://localhost:3000
- Campgrounds index pagination
- Search campgrounds by name
- Sort campgrounds by price, rating, etc
- User profiles
- Campground bookmarks
- Search autocomplete/suggestions
Contributions, issues and feature requests are welcome
Don't foget to leave a star! ⭐
Felipe Bertocchi - fabertocchi@gmail.com