YelpCamp is a Yelp style website for campgrounds, where people can share campsites with photos and comment on others. This app supports user authentication, posts management (creating, editing, and deleting), image uploading, and responsive design, etc.
Try it: https://yelpcamp-k632.onrender.com/
- JavaScript
- EJS
- CSS
- Node.js
- Express
- Bootstrap v5.0
- MongoDB
- NPM tools:
- Mongoose
- Passport.js: handle authentication
- Joi: schema description & data validation
- helmet: helps secure the app by setting various HTTP headers
- express-mongo-sanitize: prevent MongoDB Operator Injection
- Cloudinary: store the images that users upload
- MongoDB Atlas: store the data of campground, reviews and users
- Mapbox: provide interactive maps to mark the locations of campgrounds
-
Clone this repository to the local computer
git clone https://github.com/Sonia-96/YelpCamp cd YelpCamp npm install
-
Install MongoDB
-
Create a Cloudinary account to get your cloud name, API Key and API Secret
-
Create a Mapbox account to get an API access token
-
Create an
.env
file in the root of this project and add following information:CLOUDINARY_CLOUD_NAME=<cloud name> CLOUDINARY_KEY=<API Key> CLOUDINARY_SECRET=<API Secret> MAPBOX_TOKEN=<API access token>
-
Run
mongod
, then runnode app.js
in the terminal -
Go to locohost:8080
This app is the capstone project of Colt Steele's course: The Web Developer Bootcamp 2021. Thanks for his creation of such a great course with comprehensive knowledge and this wonderful project.