401 Final Project
Kenneth Edwards | Devon Hackley | Irvine Downing | Stephen Anderson
A REST API built to provide backend support to HomeSecure Client that utilizes facial recognition from the Kairos API as well as speech to text password recognition from the IBM Watson Devoloper Cloud to manage lock/unlocking. The front-end site provides administrative privileges to a user for interacting with the restful API to add a lock and manage enrollees to provide access. Information created by user is stored on the Google Cloud Platform with the Firebase API handling authentications.
- name
- String
- input, required
- password
- String
- input, required
- enrolleeID
- unique ID added by UUID, required
- image
- JPG or PNG
- input, required
- base64 image
- input, required
GET /api/login
- Requires basic auth with username:password
- Firebase provides JSON web token for requests requiring authorization
200 OK
401 Unauthorized
POST /api/enrollees
- Requires authorization
- authorization token provided by firebase
GET /api/enrollees
- Requires authorization
- authorization token provided by firebase
GET /api/enrollees/:id
- Requires authorization
- authorization token provided by firebase
- enrolleeID parameter
DELETE /api/enrollees/:id
- Requires authorization
- authorization token provided by firebase
- enrolleeID parameter
- Compares image/password sent by client to server
- Uses post request Enrollee post but with different end path
POST /api/unlock
- Requires enrolleeID parameter
- basic-auth-middleware
- implements firebase for user authentication
- bearer-auth-middleware
- implements firebase token authentication for POST, GET, and DELETE routes
- Handles login
- Handles token handshakes
- Handles logout
- Handles creation of new enrollees
- Performs get request to grab all enrollees
- Handles deletion of enrollees`
- Login splashpage using auth-service to reroute to dashboard if email and password combination is authorized
- Has two controllers
- login
- header
- Admin page that utilizes Enrollee-Service to create/delete/view enrollees
- Uses auth-service for logout
- Has three Controllers
- Enrollee-Create
- Enrollee-Item
- header
- Form requiring username/password for login
- Site banner
- Holds logout button
- Form for creating new enrollees
- Requires name, password, and image file to load
- Populates dashboard page
- Unique enrollees
- Delete button to remove enrollee