top of page

YelpCamp

What is YelpCamp?

A web platform designed for camping enthusiasts, YelpCamp features user-friendly authentication, reviews, and effortless campground management. This website is a code-along project built as part of the Web Developer BootCamp Course by Colt Steele on Udemy.

How it all started?

I've always been curious about how websites work behind the scenes. In order to gain more understanding of it, I took the full-stack development course. During this course, I gained a comprehensive understanding of how websites function on both the client and server sides, how different languages are used, how packages and APIs are utilized, how data is created, stored, and managed, how errors are handled and more. As a student of business, I was able to see how technology is used to create business solutions. As someone who has studied UX design, I also understood how a design is converted into a fully functioning website, as well as the complexity involved in development.

Technologies and frameworks:

Node.js, Express, MongoDB, EJS, and Bootstrap.

Features

CRUD Functionalities:

  • Individuals can register themselves.

  • Once registered, users can create their own campgrounds.

  • They can also view campgrounds created by other users and add reviews to them.

  • Users can update or delete their campgrounds if required.

Authentication and Authorization:

  • Passport.js was used to handle authentication.

  • Users can only create a campground if they are logged in.

  • Users can only edit or delete their campgrounds; they can only view others' campgrounds.

  • Users can leave a review for others' campgrounds, and only they can delete their reviews. The campground owner cannot delete other users' reviews.

Validations:

  • Added client-side form validations, ensuring users create campgrounds in the specified format.

  • Added server-side form validations utilizing the Joi data validator.

Session and Flash:

  • Implemented session management through express-session, enabling users to remain logged in for a specified duration, eliminating the need to log in upon closing and reopening the window.

  • Set up flash messages using connect-flash to show success or error notifications during user actions such as registration, login, logout, campground or review creation, updates, or deletion.

Gallery

bottom of page