CampX
⭐Star our Repository
Introduction
CampX is a web application designed to help users discover and share campgrounds from around the world. Users can browse through a collection of campgrounds, read reviews, and contribute by adding their own. Each user has control over the campgrounds they add, with the ability to edit or delete them. The platform encourages a community-driven approach to exploring the great outdoors.
Table of Contents
Features
- Global Campground Discovery: Browse campgrounds from various locations worldwide.
- User-Generated Content: Users can add campgrounds and reviews.
- Edit and Delete Permissions: Only the original author of a campground can edit or delete their entry. Admins/Maintainers of CampX can edit or delete campgrounds and delete reviews upon spam detection.
- Interactive UI: Engaging interface built with HTML, CSS, and JavaScript.
Hosted Website
Visit the live version of CampX here: CampX Website
Tech Stack
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express.js
- Database: MongoDB Atlas
- Media Storage: Cloudinary
Installation
To set up the project locally, follow the steps mentioned in the INSTALLATION Guide.
Usage
- Adding a Campground: Users can submit new campgrounds by filling out a form with details such as location, description, and uploading images.
- Reviewing Campgrounds: Users can add reviews to any campground, sharing their experience and feedback.
- Editing/Deleting Campgrounds: Only the user who added a campground can edit or delete it.
Configuration
The application requires a few configurations to run:
- MongoDB Atlas: Set up a cluster and obtain the connection string.
- Cloudinary: Create an account to manage image uploads.
- Mapbox:Create an account and get the MAPBOX TOKEN.
Ensure that your environment variables are correctly set in the .env
file as shown in the Installation section.
Dependencies
Key dependencies used in the project include:
- Express - Fast, unopinionated, minimalist web framework for Node.js.
- Mongoose - Elegant MongoDB object modeling for Node.js.
- Cloudinary - Media management platform for image and video uploads.
- dotenv - Module to load environment variables from a
.env
file into process.env
.
You can view all dependencies in the package.json
file.
Contributing
We welcome contributions to CampX! To get started, follow the guidelines in the CONTRIBUTING file.
Contributors
Code of Conduct
We are committed to fostering a welcoming and inclusive environment for everyone. Please take a moment to review our Code of Conduct, which outlines our expectations for participant behavior and how we handle reports of misconduct.
By participating in this project, you agree to abide by our Code of Conduct.
License
This project is licensed under the MIT License. See the LICENSE file for more details.