A 50.003, IBM proposed project to implement a form of Know-your-customer(KYC). A Web application to allow company to verify the identification of a person with confidence.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Clone a copy of the repository
$ git clone https://github.com/dhritiwasan14/data_integ
- Install nodejs and npm on your terminal - refer to installation for help
To check if you have node and npm installed, run the following
$ node -v
$ npm -v
To install node.js on your terminal, run the following
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs
Update your npm with
$ npm install npm@latest -g
Run the following on terminal
$ cd data_integ/app
$ npm install
After installation, run the following
$ npm start
The application will be running on
http://localhost:3000
In the testing folder, there are java programs (running Selenium) that test the site.
$ cd data_integ/testing
DamoclesSTest.java test links on the dashboard
DamoclesRegistrationTest.java inputs random values into the registration page to ensure that the registration does not go through with random values.
DamoclesWrongPassTest.java is similar to the one above, but test that on the login page instead
DamoclesAdminTest.java test links for the admin dashboard
Firstly, ensure you have the chromedriver in the testing folder, and ensure that the path to the driver is correct. (i.e. for windows, add .exe after chromedriver in each .java file)
Next, run the following in the testing folder
$ javac *.java
Once the java files are compiled, run the programs by using
$ java <file-you-want-to-run>
For the facial recognition part, we used Mocha test framework to test the functions that we are using.
In order for these test to not interfere with our live database, we isolated and edited these test such that they run locally.
$ cd data_integ/testing/frtest
$ npm install
To run the test, run
$ npm test
It runs the following test base on the files that we feed into the functions
-
Predict with a valid face
-
Predict with no face input (which results in error)
-
Runs a test on training the model without any face (which results in error)
-
Runs a test on training the model with a valid face
- node.js
- Express
- face-recognition.js - facial recognition library used
- opencv4nodejs - additional facial recognition library to convert image files
- bcrypt - hashing for data transfer
- express-session
- Nano - Database functionality
- Mocha - Testing framework
- Selenium - Testing framework
- Dhriti Rangannagowda Wasan
- Lee Jimin Daniel
- Ronald Heng Seng Poo
- Chang Jun Qing
See the LICENSE.md file for details
- justadudewhohacks for both repo of facial recognition
- Cloudant was the database we stored our data on