/gp-penguin

Primary LanguageJavaScriptMIT LicenseMIT

PENGUIN PLANNER

Purpose

The purpose of this project is to build a full-stack-web-application where users can easily find a time when a group of people can get together. This site is built completely from scratch and is deployed to Heroku. The application follows the MVC paradigm in its architectural structure, using Handlebars.js as the templating language, Sequelize as the ORM, and the express-session npm package for authentication. It also utilizes SendGrid, a cloud-based SMTP (Simple Mail Transfer Protocol) provider that sends emails withoug having to maintain email servers.

Requirements

MySQL server if installed locally, or JawsDB if deploying to Heroku

Installation and Usage

  1. Install node.js

  2. Clone or download the source code from GitHub to your local machine:

git@github.com:stuart-rickard/gp-penguin.git
  1. Navigate to the root of the downloaded code by typing:
cd gp-penguin
  1. Install required dependencies by opening a terminal and on command line type:
npm init -y (set "main": "server.js", "start": "node server.js")
npm install express sequelize mysql2
npm install dotenv
  1. Create the .env file and open the file by typing:
touch .env
code .env
  1. Add the following to the .env file:
DB_NAME='penguin_db'
DB_USER=''
DB_PW=''
  1. Navigate to the MySQL shell and enter:
mysql -u root -p
  1. Enter the password for MySQL

  2. Create the database, then exit MySQL by typing:

source db/schema.sql
exit
  1. To test your routes in Insomnia, seed the database and start the server:
npm run seed
npm start

Screenshot

penguin planner

Deployed Demo

https://penguin-planner.herokuapp.com/

Built With

HTML

CSS

Javascript

Technologies

Node.js

npm

mysql2

Sequelize

SendGrid

License

License: MIT

Contribution

Made with ❤️ by Joanne Chun Chance Crawford Brian Esparza Noah Fabric VJ Mariano David Reys Santoyo Stuart Rickard Kevin Rivera