Skip to content

🧪 A hands-on project from the Udemy course - "The Web Developer Bootcamp" by Colt Steele. Refactored with ES6/ES7 syntax (eg: async/await) and added more features (upload image, "like" a post...).

License

Hsins-Lab/Yelp-Camp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Udemy Project: Yelp Camp

This is a hands-on project from the Udemy course - The Web Developer Bootcamp by Colt Steele.

Demo

You can see a complete working example here. Or you can run the demo on your local machine, please follow the instructions in Getting Started.

Features

  • Responsive web design (RWD)
  • User authentication (Login/Register/Logout) and authorization (Post/Like/Edit)
  • Flash messages responding to users' interaction
  • Refactored with ES6 and ES7 syntax (eg: async/await)
  • RESTful API
-------------------------------------------------------------------------
Normal Routes
-------------------------------------------------------------------------
[Method]  [Route]
GET       /                       Landing page
GET       /login                  Request the user login page
GET       /register               Request the user edit page

-------------------------------------------------------------------------
Users Route
-------------------------------------------------------------------------
[Method]  [Route]
GET       /users                  Fetch all users
POST      /users                  Create new user in database
GET       /users/new              Request the user register page
GET       /users/:id              Show the user information
PATCH     /users/:id              Update user information
DELETE    /users/:id              Delete user information
GET       /users/:id/edit         Request the user edit page

-------------------------------------------------------------------------
Sessions Route
-------------------------------------------------------------------------
[Method]  [Route]
POST      /sessions               Create a session (user login)
GET       /sessions/login         Request the user login page
DELETE    /sessions               Delete a session (user logout)

-------------------------------------------------------------------------
Campgrounds Route
-------------------------------------------------------------------------
[Method]  [Route]
GET       /campgrounds            Fetch all campgrounds
POST      /campgrounds            Create a new campground to database
GET       /campgrounds/new        Request the campground adding page
GET       /campgrounds/:id        Show the campground information
PUT       /campgrounds/:id        Update campground information (all)
PATCH     /campgrounds/:id        Update campground information (part)
DELETE    /campgrounds/:id        Delete a campground
GET       /campgrounds/:id/edit   Request the campground editing page
POST      /campgrounds/:id/likes  Like the campground

-------------------------------------------------------------------------
Comments Route
-------------------------------------------------------------------------
[Method]  [Route]
POST      /campgrounds/:id/comments       Create a new comment
PATCH     /campgrounds/:id/comments/:cid  Update comment
DELETE    /campgrounds/:id/comments/:cid  Delete comment

Technologies

Frontend

Backend

Check package.json file for more information.

Getting Started

Follow the instructions below to set up the environment and run this project on your local machine.

  1. Clone this repository.
# Clone repository
$ git clone https://github.com/Hsins/udemy_Yelp-Camp.git
  1. Install dependencies via NPM or Yarn
# Install dependencies via npm
$ npm install

# Install dependencies via yarn
$ yarn install
  1. Run the server with nodemon and open a browser to visit http://localhost:3000/.
# Run server
$ npm run dev

More Information

All the notes I took in Markdown (.md) format. You can find them in my Udemy-Notes repository. The note for this course is here.

License

Licensed under the MIT License, Copyright © 2017-present Hsins.

About

🧪 A hands-on project from the Udemy course - "The Web Developer Bootcamp" by Colt Steele. Refactored with ES6/ES7 syntax (eg: async/await) and added more features (upload image, "like" a post...).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published