Skip to content

Krish-9441/Yelpcamp

Repository files navigation

🌄 YelpCamp

A full-stack web application for discovering, creating, and reviewing campgrounds. Users can explore campgrounds, share experiences, and manage their own listings.

🔗 Live Demo: https://yelpcamp-k843.onrender.com/ 📂 GitHub Repo: https://github.com/Krish-9441/Yelpcamp


🚀 Features

  • 🔐 Secure user authentication (Register/Login/Logout)
  • 🏕️ Create, edit, and delete campgrounds
  • ⭐ Add, edit, and delete reviews
  • 📍 Interactive maps with location data (MapTiler)
  • 🖼️ Image uploads via Cloudinary
  • 🔒 Authorization (only owners can modify content)
  • ⚠️ Server-side validation & flash messaging

🛠️ Tech Stack

  • Frontend: HTML, CSS, Bootstrap
  • Backend: Node.js, Express.js
  • Database: MongoDB (Mongoose)
  • Authentication: Passport.js
  • Cloud Storage: Cloudinary
  • Maps & Geolocation: MapTiler

✨ Enhancements by Me

  • Improved form validation and error handling
  • Optimized route structure for better readability
  • Enhanced UI responsiveness
  • Added additional authorization checks
  • Refactored code for maintainability

📸 Screenshots

image image image

⚙️ Installation & Setup

  1. Clone the repository
git clone https://github.com/your-username/yelpcamp.git
cd yelpcamp
  1. Install dependencies
npm install
  1. Create a .env file:
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_KEY=your_key
CLOUDINARY_SECRET=your_secret

MAPBOX_TOKEN=your_mapbox_token

DB_URL=your_mongodb_url
SECRET=your_session_secret
  1. Run the application
node app.js
  1. Open: http://localhost:3000

📚 Key Learnings

  • Designed and implemented RESTful APIs
  • Understood authentication & session management using Passport.js
  • Integrated third-party services (Cloudinary & Mapbox)
  • Managed database relationships using MongoDB & Mongoose
  • Improved debugging and backend structuring skills

🙏 Acknowledgment

This project is based on the YelpCamp project from Colt Steele’s Web Developer Bootcamp. All enhancements and implementations were done independently as part of my learning.

👨‍💻 Author

Krish GitHub: https://github.com/Krish-9441

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors