YelpCamp is a review website for campsites, allowing users to create, review, and interact with campgrounds. Key features include user authentication, an admin role, MapBox API integration, and full CRUD capabilities for campgrounds, comments, and reviews. This project is part of Colt Steele's Web Development Bootcamp course on Udemy.
- Account Creation: Users can sign up and log in. Admin role is included.
- Campground Management: Users can create, edit, update, and delete campgrounds they have uploaded, complete with photos.
- Review System: Users can leave reviews per campground, with ratings between 1 and 5 stars.
- Map Integration:
- Cluster maps embedded on the main campground listing page using MapBox API.
- Pinned maps embedded on detailed campground pages using MapBox API.
- Image Management: Cloudinary is used for image hosting.
- Deployment: The app is deployed to Render, with the database hosted on MongoDB Atlas.
- Clone the repository:
- Install dependencies:
- Configure environment variables: Create a .env file in the root directory and add your environment variables.
- Run the application:
git clone https://github.com/FCimendere/yelp-camp.git
cd yelp-camp
npm install
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_KEY=your_cloudinary_key
CLOUDINARY_SECRET=your_cloudinary_secret
MAPBOX_TOKEN=your_mapbox_token
DATABASE_URL=your_database_url
USERNAME = your_cloudinary_name
SECRET = your_session_password
npm start
- Register an account or log in.
- Create new campgrounds: Add details and images of your favorite camping spots.
- Review campgrounds: Leave reviews and rate campgrounds you've visited.
- Explore: Browse and comment on campgrounds created by other users.
- Colt Steele for the comprehensive web development bootcamp.
- Udemy for providing the platform to learn and build this project.
- Mapbox for the map integration.
- Cloudinary for image storage and management.
Happy Camping! 🌲🏕️🌟