Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tushar-indurjeeth/yelp-camp

A Node.js web app project done from the Udemy course: The Web Developer Bootcamp 2021 by Colt Steele.
https://github.com/tushar-indurjeeth/yelp-camp

bootstrap5 cloudinary-api ejs express-session expressjs helmet heroku-deployment javascript joi mapbox-api method-override mongodb mongoosejs nodejs passport passport-local passport-local-mongoose sanitize-html

Last synced: 18 days ago
JSON representation

A Node.js web app project done from the Udemy course: The Web Developer Bootcamp 2021 by Colt Steele.

Awesome Lists containing this project

README

        

# Yelp-Camp 2021
A Node.js web app project done from the Udemy course: [The Web Developer Bootcamp 2021 by Colt Steele](https://www.udemy.com/course/the-web-developer-bootcamp/).

## Live Demo
[Yelp Camp Demo](https://blooming-harbor-56083.herokuapp.com/)

## Features
- Authentication:
- User login with username and password

- Authorisation:
- User can not edit/delete campgrounds and comments created by other users
- User can not add/delete campgrounds if not signed in

- CRUD functionality:
- Add, delete, update campgrounds
- Add and delete reviews
- Upload campground photos
- Users can view all campgrounds posted

- Flash messages responding to the user's interaction with the web app
- View cluster map of the campgrounds
- View map of where an individual campground is located when viewing the campground
- Used Helmet to strengthen security
- Responsive web design

## Built using

### APIs used
- [Cloudinary API](https://cloudinary.com/)
- [Mapbox Api](https://www.mapbox.com/)

### Front-end
- [HTML 5](https://en.wikipedia.org/wiki/HTML5)
- [CSS 3](https://en.wikipedia.org/wiki/CSS)
- [Javascript](https://en.wikipedia.org/wiki/JavaScript)
- [Bootstrap 5](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
- [EJS](https://ejs.co/)

### Back-end
- [Node.js](https://nodejs.org/en/)
- [express.js](https://expressjs.com/)
- [mongooseJs](https://mongoosejs.com/)
- [joi](https://joi.dev/)
- [sanitize-html](https://www.npmjs.com/package/sanitize-html)
- [helmet](https://helmetjs.github.io/)
- [ejs-mate](https://github.com/JacksonTian/ejs-mate)
- [passport](http://www.passportjs.org/)
- [passport-local](http://www.passportjs.org/packages/passport-local/)
- [passport-local-mongoose](https://www.npmjs.com/package/passport-local-mongoose)
- [method-override](https://github.com/expressjs/method-override)
- [connect-flash](https://github.com/jaredhanson/connect-flash)
- [dotenv](https://www.npmjs.com/package/dotenv)
- [express-session](https://www.npmjs.com/package/express-session)
- [cloudinary](https://cloudinary.com/)

### Databases
- [MongoDB](https://www.mongodb.com/)
- [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)

### Platform
- [Heroku](https://www.heroku.com/)

## License
Code released under the [MIT License](https://github.com/Tushar-Indurjeeth/Yelp-Camp/blob/master/LICENSE).