Skip to content
/ project2 Public

Always. Be. On. Time. (ABOT) is a scheduling application for small businesses to help their employees build a work schedule.

Notifications You must be signed in to change notification settings

mhvue/project2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Always. Be. On. Time. (ABOT) is a scheduling application for small businesses to help their employees build a work schedule.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •