Skip to content

Latest commit

 

History

History
113 lines (77 loc) · 3.79 KB

README.md

File metadata and controls

113 lines (77 loc) · 3.79 KB

CampQuest (Major Project)

A FullStack web application where users can EXPLORE, CREATE, and REVIEW campgrounds.


Deployment:

  • 🚀 Live Demo: Check out the live version of CampQuest here

CampQuest Features:

  • 🔑 User Authentication and Authorisation: Sign up and log in to manage your campgrounds and reviews.
  • 🏕 Campground Management: Create, edit, and delete campgrounds.
  • 🌟 Ratings and Reviews: Share your thoughts and rate campgrounds.
  • 🗺️ Map Integration: See campground locations on an interactive map (Maptiler).
  • 📷 Image Upload: Upload photos of campgrounds (Cloudinary).

Technologies Used:

Frontend:

  • HTML5: Structured the content web page.
  • CSS3: Styling for layout and design of web page.
  • Bootstrap: Front-end framework for responsive web development.
  • JavaScript: For client-side interactivity and dynamic content manipulation.
  • EJS: Embedded JavaScript
  • Maptiler: Interactive maps for displaying campground locations.

Backend:

  • Node.js: JavaScript runtime for back-end development.
  • Express.js: Web application framework for building RESTful APIs.
  • Mongoose: Creates a connection between MongoDB and the Node.js (ODM).
  • Passport.js: Middleware for user authentication and session management.
  • Helmet.js: Helps secure the app by setting various HTTP headers.
  • Express Sessions: Manages user sessions for persistent login functionality.

Database:

  • MongoDB: NoSQL database for storing campground and user data.
  • MongoDB Atlas: Cloud-hosted version of MongoDB for managing the database.

Others:

  • Cloudinary: Cloud-based image hosting and management for campground images.
  • Render: Cloud platform for deploying the application.

Screenshots:

HomePage home

Register page register

Showing All Campgrounds show show

Showing Single Campground show

New Campground new


How to run:

Prerequisites

Make sure you have the following installed:

  • Node.js (with npm)
  • MongoDB (Make sure MongoDB is running if you’re using a local instance)

Steps

  1. Clone the repository:

    git clone https://github.com/PrakharAgarwal135/CampQuest.git
    cd CampQuest
    
  2. Install dependencies:

    npm install
    
  3. Set up environment variables:

  • Create a .env file in the project's root directory.

  • Add the following variables, replacing the values with your own:

    CLOUDINARY_CLOUD_NAME=<your_cloud_name>
    CLOUDINARY_KEY=<your_cloudinary_key>
    CLOUDINARY_SECRET=<your_cloudinary_secret>
    MAPTILER_API_KEY=<your_maptile_api_key>
    DB_URL=<your_mongo_db_connection_string>
    SECRET=<your_secret_key>
    
  1. Run the application:

    node app.js
    
  2. The application should now be running on http://localhost:3000

Additional Notes

  • Ensure MongoDB is running locally, or use a cloud database provider like MongoDB Atlas.