https://github.com/mohammedjawwad/yelpcamp-project
YelpCamp is a web app where users can explore and review campgrounds across the globe. Built with Node.js, Express, MongoDB, and Bootstrap, it provides a seamless experience for outdoor enthusiasts.
https://github.com/mohammedjawwad/yelpcamp-project
cloudinary expressjs geocoding javascript mongodb mongoose nodejs passportjs rest-api session-cookie
Last synced: 4 months ago
JSON representation
YelpCamp is a web app where users can explore and review campgrounds across the globe. Built with Node.js, Express, MongoDB, and Bootstrap, it provides a seamless experience for outdoor enthusiasts.
- Host: GitHub
- URL: https://github.com/mohammedjawwad/yelpcamp-project
- Owner: MohammedJawwad
- Created: 2024-07-15T13:11:30.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-08T20:32:03.000Z (over 1 year ago)
- Last Synced: 2025-02-08T14:45:29.559Z (over 1 year ago)
- Topics: cloudinary, expressjs, geocoding, javascript, mongodb, mongoose, nodejs, passportjs, rest-api, session-cookie
- Language: EJS
- Homepage:
- Size: 3.19 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# YelpCamp: Create and Review Campgrounds


**YelpCamp** is a website where users can create and review campgrounds. To review or create a campground, you must have an account. This project was part of Colt Steele's Web Development Course on Udemy.
## Features
- **Create, edit, and remove campgrounds**: Users can manage their own campground listings.
- **Review campgrounds**: Users can leave one review per campground, with options to edit or remove their review.
- **User profiles**: Displays detailed user information (full name, email, phone, join date) and their listed campgrounds. Users can also edit their profile or delete their account.
- **Search functionality**: Search campgrounds by name or location.
- **Sorting options**: Sort campgrounds by highest rating, most reviews, lowest price, or highest price.
## Technologies Used
- **Backend**: Node.js, Express
- **Frontend**: HTML, CSS, Bootstrap
- **Database**: MongoDB
- **Authentication**: Passport.js
- **Cloud Storage**: Cloudinary (for image uploads)
- **Maps Integration**: Google Maps / Mapbox
## Installation
### 1. Clone the repository
```bash
git clone https://github.com/MohammedJawwad/YelpCamp-project.git
cd yelpcamp
npm install
```
### 2. Environment Variables
Create a `.env` file in the root directory and add the following:
```bash
DATABASEURL=''
API_KEY=''
API_SECRET=''
```
### 3. Run the project locally
- Install [MongoDB](https://www.mongodb.com/try/download/community).
- Create a [Cloudinary](https://cloudinary.com/) account to get an API key and secret.
- In one terminal, run MongoDB:
```bash
mongosh
```
- In another terminal, start the application:
```bash
node app.js
```
- Visit `localhost:3000` in your browser.