Thanks to visit codestin.com
Credit goes to github.com

Skip to content

“YelpCamp: A full-stack web app to discover, create, and review campgrounds with maps, images, and user authentication.”

Notifications You must be signed in to change notification settings

limited-manan/Yelp-Camp

Repository files navigation

🏕️ YelpCamp

YelpCamp is a full-stack web application that allows users to discover, create, and review campgrounds. Built with Node.js, Express, MongoDB, and EJS, it demonstrates modern web development practices including authentication, CRUD operations, and API integration.

🚀 Live Demo

Access the live application here: YelpCamp Live Demo: https://yelpcamp-y3bl.onrender.com

🧱 Features

User Authentication: Sign-up, login, and logout using Passport.js. CRUD Functionality: Create, read, update, and delete campgrounds and reviews. Image Upload: Upload images using Cloudinary. Interactive Maps: View campground locations with Mapbox. Responsive Design: Works well on mobile and desktop devices. Persistent Data: MongoDB for storing campgrounds, users, and reviews.

🛠️ Technology Stack

Frontend: HTML, CSS, Bootstrap 4, EJS Backend: Node.js, Express.js, MongoDB, Mongoose, Passport.js APIs/Services: Cloudinary (image hosting), MapTiler (maps & geolocation)

📦 Installation

Clone the repository

git clone https://github.com/limited-manan/Yelp-Camp.git cd Yelp-Camp

Install dependencies npm install

Set up environment variables

Create a .env file in the root directory and add: CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret MAPBOX_TOKEN=your_mapbox_token DB_URL=your_mongodb_connection_string SECRET=your_session_secret

Run the application npm start

Visit http://localhost:3000 to see it in action.

🧪 Usage

Browse campgrounds on the homepage. Create new campgrounds (login required). Leave reviews and ratings on campgrounds. Edit or delete your own campgrounds and reviews.

🤝 Contributing

Fork the repository Create a branch: git checkout -b feature-name Commit changes: git commit -am 'Add feature' Push to branch: git push origin feature-name Open a Pull Request

📄 License

This project is licensed under the MIT License – see the LICENSE file in the repository for details.

Releases

No releases published

Packages

No packages published