An AirBnB-esque web application... but for parking, where users search for available parking permits/spaces that other's have posted. It is web application using a MySQL database to store the user data, Sequelize as the ORM, Node & Express to run the server and app, and Handlebars as the templating engine.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
In order to install and run ParkEazy you will need the following:
Node.js
Express.js
Sequelize
MySQL
Handlebars
You will need to do the following steps after cloning the repo to your device in order to ensure that it works properly.
To ensure Node.js is running within the package and configure all modules for use:
npm install (or npm install -y)
This should install all the requisite modules, but just in case, you will need:
Dependencies:
express (npm install -s express)
handlebars (npm install -s express-handlebars)
mysql2 (npm install -s mysql2)
sequelize (npm install -s sequelize)
body-parser (npm install -s body-parser)
dotenv (npm install -s dotenv)
Dev Dependencies:
chai (npm install --save-dev chai)
chai-http (npm install --save-dev express-handlebars)
eslint (npm install --save-dev eslint)
eslint-config-prettier (npm install --save-dev eslint-config-prettier)
eslint-plugin-prettier (npm install --save-dev eslint-plugin-prettier)
mocha (npm install --save-dev mocha)
nyc (npm install --save-dev nyc)
prettier (npm install --save-dev prettier)
Explain how to run the automated tests for this system
Explain what these tests test and why
Give an example
Explain what these tests test and why
Give an example
The Sequel is run locally using Node.js, but first you must load the MySQL database, which can be done a number of ways. The file to create the database is inside the 'db' folder, so it can be opened and run in a MySQL GUI to set up the database, or you can path into the 'db' folder and run it from the MySQL command line (after logging in) using:
source schema.sql
Once the database has been set up, you can then begin the server simply by path into the root folder for the application and running:
node server.js
This starts the server which is currently set to run at PORT 8080 (http://localhost:8080/), at the same time the model 'listing.js' will create, via Sequelize, the pertinent tables for the application to use. That is really all there is to starting the application running, after that everything else is run in your browser.
To Come...
- Node.js - Runtime Environment
- MySQL - Database
- Sequelize - ORM
- Handlebars - Templating Engine
- Express.js - Web Framework
- Bootstrap - CSS Framework
- gitignore.io - For creating the .gitignore
- WebStorm - JavaScript IDE
- DataGrip - Database IDE
- Dalton Ricker - SasquatchXYZ
- Eric Remoroza - ericremoroza
- Rodney Stephenson - RodneyGT2018
- Matt Crowe - mjcr223
- Many thanks to my instructors & TAs, as well as the O'Reilly reference books.