Yelpcamp is the famous massive full-stack project from Colt Steele's Web Devloper Bootcamp.
It is a campground website where users can register and then add, book and delete campsites while viewing their images,prices and locations on a map along with various other details presented with a beautiful and easy to use UI.
The application also takes care of some security issues like NoSQL injections and Cross-Site scripting.
- Users can create accounts and add or book campsites based on their price and location preferences.The campsite links are attached with images and their locations can be viewed on the map feature.
- Users can review campgrounds and update or remove them too.
- User profiles show some details of the user (full name, email, phone, join date), their campgrounds, and the option to edit their profile or delete their account.
- Search campgrounds by their names and locations.
- Sort campgrounds by highest rating, most reviewed, lowest price, or highest price.
-
Node.js for running server-side JavaScript. You can find instructions on how to download and install Node.js for your computer here
-
MongoDB (Community Edition preferrably) to store data. Instructions on downloading and installing MongoDB on your computer can be found here
-
A cloudinary account with an API key and secret code. The website can be accessed from here
- Install mongodb
- Create a cloudinary account to get an API key and secret code
- Install nodejs
- Clone this repository and install the required packages using npm.
git clone https://github.com/achyuthcodes30/Yelpcamp.git
cd yelpcamp
npm install
- Create a .env file (or just export manually in the terminal) in the root of the project and add the following:
DATABASEURL='<url>'
CLOUDINARY_CLOUD_NAME='<cloudinary name>'
CLOUDINARY_KEY='<key>'
CLOUDINARY_SECRET='<secret>'
MAPBOX_TOKEN='<token>'
NODE_ENV = '<mode>'
-
Run
mongod
in another terminal andnodemon app.js
in the terminal with the project. -
Then go to localhost:3000.
To get google maps working check this out.
- Node.js - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
- express - Fast, unopinionated, minimalist web framework for Node.js
- MongoDB - The database for modern applications
- Mongoose - Elegant MongoDB object modeling for Node.js
- Ejs - Embedded JavaScript templating
- Bootstrap - One of the most widely used CSS libraries