A RESTful Node.js web application project that allows users to share their BBQ experience by uploading photos and comments.

Live Demo

To see the app in action, go to

Username: guest Password: guest


  • Authentication:
    • User login with username and password
    • Admin sign-up with admin code
  • Authorization:
    • One cannot manage posts and view user profile without being authenticated
    • One cannot edit or delete posts and comments created by other users
    • Admin can manage all posts and comments
  • Manage campground posts with basic functionalities:
    • Create, edit and delete posts and comments
    • Upload campground photos
    • Display campground location on Google Maps
    • Search existing campgrounds
  • Manage user account with basic functionalities: Password reset via email confirmation~~ (disabled)
    • Profile page setup with sign-up
  • Flash messages responding to users' interaction with the app
  • Responsive web design

Custom Enhancements

  • Update campground photos when editing campgrounds
  • Update personal information on profile page
  • Improve image load time on the landing page using Cloudinary
  • Use Helmet to strengthen security




What Next

  • Immigrate to AWS and DynamoDB
Xuanhao(Eric) Zhang
Software Engineer@

Half techs combined with half arts.