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.

Home Page:https://www.yelpcamp.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🧭 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 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

πŸ”’ License

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

About

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://www.yelpcamp.app


Languages

Language:JavaScript 37.3%Language:EJS 30.4%Language:HTML 22.4%Language:CSS 9.9%