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.
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.
- Introduction
- Features
- Hosted Website
- Tech Stack
- Installation
- Usage
- Configuration
- Dependencies
- Contributing
- Contributors
- Troubleshooting
- Help And Support
- License
- 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.
Visit the live version of CampX here: CampX Website
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express.js
- Database: MongoDB Atlas
- Media Storage: Cloudinary
To set up the project locally, follow the steps mentioned in the INSTALLATION Guide. Also you can follow from here :-
To set up this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/your-username/CampX.git
- Navigate to the project directory:
cd CampX
- Install dependencies:
npm install
- Run the project:
npm start
- 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.
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.
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 intoprocess.env
.
You can view all dependencies in the package.json
file.
We welcome contributions to CampX! To get started, follow the guidelines in the CONTRIBUTING file.
We truly appreciate your time and effort to help improve our project. Happy coding! π
Here are some common issues and their solutions:
-
Problem: Unable to install dependencies. Solution: Make sure you have the latest version of Node.js and npm installed.
-
Problem: Styling not displaying correctly. Solution: Clear your browser cache or use a private/incognito window.
This project is licensed under the MIT License. See the LICENSE file for more details.
We truly appreciate your time and effort to help improve our project. Feel free to reach out if you have any questions or need guidance. Happy coding! π