Skip to content

Ansh0305/CampGround

Repository files navigation

🌲 IndiCamp

A full-stack web application for exploring, creating, and reviewing campgrounds.

✨ Features

🔐 User Authentication – Secure login & signup with Passport.js

🏕 Campground Listings – Create, edit, and delete campgrounds

📸 Image Uploads – Store images on Cloudinary

🌍 Interactive Maps – MapTiler integration for location display

📝 Reviews System – Add, edit, and delete reviews

🛡 Security – Helmet & MongoDB sanitization to prevent attacks

🎥 Preview Home Page home page

Campground Details Campground Details

Reviews Section Map Integration Screenshot 2025-09-09 193434

🛠 Tech Stack

Frontend: EJS, EJS-Mate, Vanilla JS, CSS Backend: Node.js, Express.js Database: MongoDB, Mongoose Authentication: Passport.js (Local Strategy) Cloud Storage: Cloudinary + Multer Other Tools: MapTiler, Joi Validation, Method Override

📂 Project Structure CampGround-main/ │── app.js # Entry point

│── middleware.js # Custom middlewares

│── schemas.js # Joi validation schemas

│── package.json # Dependencies & scripts

├── controllers/ # Business logic

├── models/ # Mongoose models

├── routes/ # Express routes

├── views/ # EJS templates

├── public/ # Static assets (CSS, JS)

├── cloudinary/ # Cloudinary config

├── seeds/ # Sample DB seeds

└── Utilities/ # Helper utilities

⚡ Installation & Setup

1️⃣ Clone the repo git clone https://github.com/your-username/CampGround.git cd CampGround-main

2️⃣ Install dependencies npm install

3️⃣ Environment Variables

Create a .env file in the root directory and add:

CLOUDINARY_CLOUD_NAME=your_cloud_name

CLOUDINARY_KEY=your_api_key

CLOUDINARY_SECRET=your_api_secret

MAPTILER_API_KEY=your_api_key

MONGO_URI=your_mongodb_uri

SESSION_SECRET=your_secret_key

4️⃣ Run the application npm start

App will be live at 👉 http://localhost:3000

🎯 Future Improvements

📍 Geolocation search for campgrounds

⭐ Ratings system

📱 Mobile-friendly UI redesign

📨 Email verification & password reset

🤝 Contributing

Contributions are always welcome!

Fork the project

Create a feature branch (git checkout -b feature-name)

Commit your changes

Open a Pull Request 🚀

📜 License

This project is licensed under the MIT License.

About

A full-stack campground discovery platform where users can create, explore, and review camping sites. Features interactive maps, secure authentication, cloud image storage, and community reviews. Built with Node.js, Express, MongoDB, and modern web technologies.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors