- Initialize npm project
- Setup express, ejs & body-parser
- Create landing view
- Add campgrounds view
- Add new campground view
- Create header and footer partials
- Import Bootstrap (4.3.1)
- Add nav bar to all page
- Style the campground view
- Style the add new campground view
- Connect to MongoDB Atlas
- Setup Campground model
- Use compground model in existing routes
- Restful
- Re-define schema, add description
- Add view details button on index view
- Add campground details view
- Refactor app.js, seperate the mongoose models
- Setup Comment model
- create a seed script to populate data into database
- Update show view to display user's comment
- Add campgrouds views folder and comments views folder
- Add NEW route for creating new comment
- Add new view for submitting new comment
- Add CREATE route for comment
- Add add new comment button
- Style show campground view
- Add authentication related dependencies
- Define User model
- Configure passport
- Add register view
- Add register route
- Add login view
- Add login route
- Add logout route
- Prevent user from adding a comment if not signed in
- Add auth links to navbar
- Show/hide nav links according to user login status
- Refactoring Routes, seperate index routes
- Refactoring Routes, seperate campground routes
- Refactoring Routes, seperate comment routes
- Associate users and comments
- Save author's name when a comment is created
- Diaplay author's name in campground show view
- Modify campground schema to include author info
- Prevent an unauthenticated user from creating a campground
- Save user's informtion to newly created campground
- Display user's name on campground show view
- add edit button to campground show page
- add edit route for campgrounds
- add campground edit view
- add update route for campgrounds
- add delete button to campground show page
- add destroy route for campgrounds
- fix the bug that when a campground is deleted, its associated comments are not removed
- add authorization feature so that user can only edit/delete the campgrounds he/she created
- hide/show edit and delete button according to user's ownership
- add edit button to comment
- add edit route for comments
- add comment edit view
- add update route for comments
- add delete button to comment
- add destroy route for comments
- add authorization feature so that user can only edit/delete the comments he/she created
- hide/show edit and delete button according to user's ownership
- refactor authentication and authorization middlewares
- fixed the bug where when a comment is deleted, its refernce is not removed in the campground document
- install and configure connect-flash
- include flash message in header template
- add error message for login required operations
- add error message for unauthorized campground operations
- add error message for unauthorized comment operations
- add success/error messages based on login result
- add sucess message when a user logs out
- add signup error message
- style landing page
- add slideshow animation
- style login page
- style signup page
- add sucess message for signup
- untrack node_modules folder
- add start script
- deploy web application to heroku
- change port number to environment variable
- add price information in campground schema
- show relative time in comments
- improve mobile experience
- better error handling
- add location information
- redesign show page
Follows RESTful API