Skip to content

A simple banking system using MySQL, Python, and React, with facial ID login function.

Notifications You must be signed in to change notification settings

SumYg/COMP3278A-iKYC-Gp8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COMP3278A Group 8

Build

  1. To run this project, please install python and Node.js(https://nodejs.org/en/) first
  2. all required python package can be installed by running the below command
python -m pip install -r requirements.txt

If error occur when installing some packages in Windows, you may need to install Visual C++ in Visual Studio first image

Connect to the database

  1. As we use sophia.cs.hku.hk as the host, to connect the database, please connect to the HKUVPN first (https://www.its.hku.hk/documentation/guide/network/remote/hkuvpn2fa/windows)

Import database

  1. Or you can change the code in sqls.py (mysql.connector.connect(), in line 5-10) in order to use another host e.g. localhost:3356. You can import the table and record to your database by using the mysql command
# import from sql file
mysql> source h3566726.sql

Running Backend Server

  1. start the backend server
python server.py

after starting the server suvessfully, you will see the following output image

Running React App

  1. after starting the server, open another terminal and go to the directory of the Client folder, start the react app
COMP3278A-iKYC-Gp8-main> cd Client
Client> npm start

after starting the React App sucessfully, you will see the following output and the browser will automatically goto http://localhost:3000 image
if you see the error message "'react-scripts' is not recognized as an internal or external command" when starting the React App, you mau run the below command

npm install

IKYC System

after starting the backend server and React App, you can goto localhost:3000 start using our IKYC system image

Register an account

click the register button, input your unique username and your password, then click the button "Register your face" for registering your faceID. After clicked the button "Register your face", your device will try to open your camera and capture your face for training. Aftering training your face, you will automatically login the system
image image

Do transaction

after clicking the account button, you can see your saving, credit and investment account. Click any one of the account, you can see the transaction page. By clicking external in Saving account, you can transfer money to the saving accounts of other people. You can transfer money within your Saving/Investmnet/Credit account by internal transaction
image image image

Buy/Sell stock

in the stock page, you can view different stocks. And you can buy stock by using the money in your investment account, so please transfer money to your investment account from your saving/credit account by doing internal transaction first ;)
image image

Searching transaction history

you can search the transaction history by different selection option
(can leave some selection option to be empty e.g. transaction with amount <$1 in time period 12/11/2021-13/11/2021)
image

Demo

demo video: https://drive.google.com/drive/folders/1FV2h3xu1VhOoKSIShewkzHqVLPiPJEGF
guideline for Building: https://connecthkuhk-my.sharepoint.com/personal/edmundcy_connect_hku_hk/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fedmundcy%5Fconnect%5Fhku%5Fhk%2FDocuments%2FInstallation%20demo%2Emkv&parent=%2Fpersonal%2Fedmundcy%5Fconnect%5Fhku%5Fhk%2FDocuments

Features

  • Login Page
  • Redirect/Change to Home Page after the face of the user is recorgnised
  • Register Page
  • Show loading animation instead of camera capture when the server is training model
  • Turn off camera after capturing enough photos to train model in the server
  • Check for the existence of username and insert new user into the DB
  • Redirect/Change to the Home Page after the model is trained
  • Can login via both faceID or (username and password)
  • Home Page
  • Transaction Page
  • Stock Page

Transaction Page Features

  • Can show the balance of different account
  • Can do transaction to other users' saving account (External Transaction)
  • Can do transaction to other users' saving account (External Transaction)
  • Can do transaction to same user's other account (Internal Transaction)
  • Can search the transaction history by different selection option (can leave some selection option to be empty, or even use all the selection option)

Stock Page Features

  • Show details of all available stocks, such as stock code, current price
  • Can buy or sell stocks using investment account
  • % change: The percentage change between current price and closing price
  • Total spend: Total money spent on that stock
  • History Profit: Total amount that earned from that stock
  • Current Value: Current value of all owned stock

About

A simple banking system using MySQL, Python, and React, with facial ID login function.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published