YelpCamp is a Node.js express based web application with RESTful routing principals
Node | Express | MongoDB | ejs
The App is live at yelpcamp
Guest Role
- Login username: Guest
- Login password: Guest123
Admin Role
- Login username: Admin
- Login password: Admin123
npm install
node app.js
YelpCamp Functions
- Authentication:
- User / Admin signup
- User / Admin login
- Password reset
- Authorization:
- User cannot create new posts or view user profile without being authenticated
- User cannot edit or delete existing posts and comments created by other users
- Admin can manage all posts and comments
- Campgrounds:
- List all campgrounds in the database
- Search campgrounds by campground Name
- Create new campgrounds
- Upload a photo for campgrounds (uploaded to the cloudinary)
- Update campgrounds
- Delete campgrounds
- Calculate the average rating from the reviews for a campgrounds
- calculate likes for a campground
- Comments / Rating / Review:
- List all comments / rating / reviews on a campgrouns from database
- Create new comments / rating / review
- Update comments / rating / review
- Delete comments / rating / review
- Likes :
- List All Likes
- Like, Remove Like Functionality
- Security :
- Encrypt passwords and reset tokens
- Prevent NoSQL injections
- Add headers for security (helmet)
- Prevent cross site scripting - XSS
- Add a rate limit for requests of 100 requests per 10 minutes
- Protect against http param polution
- Use cors
- Campground location with Google Maps
- Pricing feature
- Display time since post was created with Moment JS
- Deployment