Skip to content

Latest commit

 

History

History
92 lines (65 loc) · 3.57 KB

README.md

File metadata and controls

92 lines (65 loc) · 3.57 KB

Always. Be. On. Time.

User friendly scheduler at your convenience. Stay up to date with your work schedule, your time off requests and your team's schedule.


Check out the project: https://mighty-wildwood-15788.herokuapp.com

How it works:

Simply login and you have access to:

Submit availability

View you and your team's availability in ascending order of dates

Request off

Don't have an account?

Just click Sign Up and you can create an account.


Mobile friendly and you will always be on time!

How we authenticate the Sign In and Sign Up

In this application, we are using Passport. We use this tutorial as a guide. NOTE: it is a little outdated in regards Sequalize methods.

We have set Local Strategy with Passport to check for email and password from the database. Authentication is done with passport.authenticate() via its function of passport.use().

Passport.use() is configured by setting strategies on how to validate user's information when a user is signing back in or when a user is signing up.

Our strategy for when users are signing up, is to have Passport check the database with Sequalize ORM methods. If the user is not in database it will add the user. Also, along with bCrypt it will create a hashed password. When users are signing in, we have Passport with Sequalize ORM methods. It will verify the user's email and password from the database.

If authentication with Passport is successful, users gain access to rest of html pages (such as requesting time off).

Learn about Passport and bCrypt here:

How you can get started:

  1. Clone the repo on your local machine
git clone https://github.com/mhvue/project2.git 
  1. Open in your code editor the cloned repo (I am using Visual Studio Code (VSC) )
  2. Run "npm install" in the terminal of VSC to get all the required packages from package-lock.json
npm install

Setting up your database

  1. Since we are using Sequalize, make the following model in MySql workbench:
DROP DATABASE IF EXISTS abot_db;
CREATE DATABASE abot_db; 
  1. Update your MySQL credentials in config.json.

Running the server

  1. Run server.js in your terminal of VSC
node server.js
  1. Open the app via localhost (we have ours set as http://localhost:8080)
  2. You are free to explore, add, and make it your own!

Technologies used

Front End

  • HTML
  • CSS
  • JQuery
  • Bootstrap
  • Moment.js

Back End

  • Node.js
  • Express
  • Express-session
  • Passport.js
  • bCrypt
  • MySQL
  • Sequalize

Motivation

Learn more about our motivation and possible future developments: https://docs.google.com/presentation/d/1V575YpgOxrLqJHyG1Bb-LuMvrE7aMmrmb8zwXNq5Tto/edit?usp=sharing

Contributors:

Hallie Weintraub https://github.com/hallieraew
Alicia Forstner https://github.com/forsa9828
Mai Houa Vue https://github.com/mhvue