Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jacobgrisham/yelpcamp

Monolithic model-view-controller full-stack web application built with Node.js, Express.js, MonogDB, Jest, EJS, and Bootstrap. Integration-tested with Jest. Server hosted on Heroku with CircleCI CI/CD, Database hosted on MongoDB Atlas, served over Cloudflare CDN with Google Domains as DNS provider.
https://github.com/jacobgrisham/yelpcamp

bootstrap4 circleci cloudflare css expressjs full-stack-web-development google-lighthouse-audit google-maps-api heroku html inkscape integration-tests javascript jest model-view-controller mongo-db mongodb mongodb-atlas monolith-architecture nodejs

Last synced: about 4 hours ago
JSON representation

Monolithic model-view-controller full-stack web application built with Node.js, Express.js, MonogDB, Jest, EJS, and Bootstrap. Integration-tested with Jest. Server hosted on Heroku with CircleCI CI/CD, Database hosted on MongoDB Atlas, served over Cloudflare CDN with Google Domains as DNS provider.

Awesome Lists containing this project

README

        


YelpCamp logo

# [YelpCamp](https://www.yelpcamp.app/)
![Website](https://img.shields.io/website?down_color=red&down_message=offline&up_color=brightgreen&up_message=online&url=https%3A%2F%2Fyelpcamp.app)
![Security Headers](https://img.shields.io/security-headers?url=https%3A%2F%2Fwww.yelpcamp.app)
[![Maintainability](https://api.codeclimate.com/v1/badges/5db672c308be3e556462/maintainability)](https://codeclimate.com/github/JacobGrisham/YelpCamp/maintainability)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/6272d48144774479b06e9b4b2caea0d6)](https://www.codacy.com/manual/JacobGrisham/YelpCamp?utm_source=github.com&utm_medium=referral&utm_content=JacobGrisham/YelpCamp&utm_campaign=Badge_Grade)
[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/6272d48144774479b06e9b4b2caea0d6)](https://www.codacy.com/gh/JacobGrisham/YelpCamp/dashboard?utm_source=github.com&utm_medium=referral&utm_content=JacobGrisham/YelpCamp&utm_campaign=Badge_Coverage)
[![CircleCI](https://img.shields.io/circleci/build/github/JacobGrisham/YelpCamp)](https://app.circleci.com/pipelines/github/JacobGrisham/YelpCamp)
![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/jacobgrisham/YelpCamp)
![GitHub all releases](https://img.shields.io/github/downloads/jacobgrisham/yelpcamp/total)

## 🧭 Folder/File Structure
(ignoring image and SEO files)
```
|-- README.md
|-- app.js
|-- globalConfig.json
|-- index.test.js
|-- jest-mongodb-config.js
|-- jest.config.js
|-- middleware
| `-- index.js
|-- models
| |-- campground.js
| |-- comment.js
| |-- review.js
| `-- user.js
|-- package-lock.json
|-- package.json
|-- public
| `-- stylesheets
| |-- analytics.js
| |-- main.css
|-- routes
| |-- campgrounds.js
| |-- comments.js
| |-- index.js
| `-- reviews.js
`-- views
|-- campgrounds
| |-- edit.ejs
| |-- index.ejs
| |-- new.ejs
| `-- show.ejs
|-- comments
| |-- edit.ejs
| `-- new.ejs
|-- landing.ejs
|-- login.ejs
|-- partials
| |-- footer.ejs
| `-- header.ejs
|-- register.ejs
|-- reviews
| |-- edit.ejs
| |-- index.ejs
| `-- new.ejs
`-- users
`-- show.ejs
```

## 🚀 Getting Started
### To run this project on your system:
Create an .env file and add values to the following variables:
```
GEOCODER_API_KEY=
API_KEY=
DATABASEURL=
PASSPORT_SECRET=
ADMIN_CODE=
```
Make sure you have [MongoDB](https://docs.mongodb.com/manual/installation/) installed on your system
In a terminal window, initialize a MongoDB Database
```
$ ./mongod
```
In a second terminal window, access the MongoDB Database with Mongoose
```
$ mongoose
```
In a third terminal window, install dependencies using npm:

```
$ npm install
```
And then run the application with
```
$ npm start
```
or for hot reloading (recommended)
```
$ nodemon app.js
```

## 📐 Tests
To run the tests:
```
$ npm test
```

## 📣 Acknowledgments
- The skeleton of this project was based on [Colt Steele's YelpCamp](https://github.com/Colt/yelp-camp-refactored) during the Web Development Bootcamp.

## 🔒 License
Copyright Notice and Statement: currently not offering any license. Permission only to view and download.