YelpCamp is a full-stack web-based application using RESTful APIs and MongoDB database, which promotes crowd-sourced reviews and photos about local campgrounds.
Node.js, Express.js, MongoDB
- Run
npm install
to download all dependencies from package.json. - Recreate a
.env
file in the root of project directory, template code is given in.env-template
. - Ensure that the database cluster is active in MongoDB.
- User login with username and password
- Admin sign up with admin code
- One cannot manage posts and without being authenticated
- One cannot edit or delete posts and comments created by other users
- Admin can manage all posts and comments
- View campgrounds available
- Sign up account with credentials
- Login with credentials
- Create, post, edit, and comment on campgrounds
- Remove own posts and comments
- Reset password through a link sent to user's email
- Look up campgrounds using fuzzy search box
- View user profiles
- Flash messages responding to users' interaction with the app
- View a variety of campgrounds on home page
- Select individual campgrounds for further information
- Each campground has a name, author, description, image, location, price, timestamp since created, and associated comments
- Each campsite location is rendered using a Google Maps API plugin
- Responsive web design that automatically adjusts for different screen sizes
- GoormIDE - an online integrated development environment
- Heroku - a cloud platform that runs apps in virtual containers
- JavaScript - high-level, interpreted programming language
- HTML - standard markup language for creating web pages and web applications
- CSS - style sheet language used for describing the presentation of a document written in a markup language like HTML
- EJS - templating language that generates HTML markup with plain JavaScript
- Bootstrap 4 - an open-source toolkit for developing with HTML, CSS, and JS
- jQuery - cross-platform JavaScript library designed to simplify the client-side scripting of HTML
- Node.js - JavaScript run-time environment that executes JavaScript code server-side
- Express.js - minimalist web framework for Node.js
- mongoDB - open-source cross-platform document-oriented database program
- mongoose.js - MongoDB object modeling for Node.js
- moment.js - parse, validate, manipulate, and display dates and times in JavaScript
- node-geocoder - Node.js library for geocoding and reverse geocoding
- express-session - session middleware for Express.js
- passport.js - authentication for Node.js
- connect-flash - flash message middleware for Connect and Express.js
- body-parser - Node.js body parsing middleware
The Web Developer Bootcamp on Udemy by Colt Steele and Ian Schoonover