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
Simply login and you have access to:
View you and your team's availability in ascending order of dates
Just click Sign Up and you can create an account.
Mobile friendly and you will always be on time!
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:
- Clone the repo on your local machine
git clone https://github.com/mhvue/project2.git
- Open in your code editor the cloned repo (I am using Visual Studio Code (VSC) )
- Run "npm install" in the terminal of VSC to get all the required packages from package-lock.json
npm install
- Since we are using Sequalize, make the following model in MySql workbench:
DROP DATABASE IF EXISTS abot_db;
CREATE DATABASE abot_db;
- Update your MySQL credentials in config.json.
- Run server.js in your terminal of VSC
node server.js
- Open the app via localhost (we have ours set as http://localhost:8080)
- You are free to explore, add, and make it your own!
- HTML
- CSS
- JQuery
- Bootstrap
- Moment.js
- Node.js
- Express
- Express-session
- Passport.js
- bCrypt
- MySQL
- Sequalize
Learn more about our motivation and possible future developments: https://docs.google.com/presentation/d/1V575YpgOxrLqJHyG1Bb-LuMvrE7aMmrmb8zwXNq5Tto/edit?usp=sharing
Hallie Weintraub https://github.com/hallieraew
Alicia Forstner https://github.com/forsa9828
Mai Houa Vue https://github.com/mhvue