Online Banking System - Team 1
This project provides an online web interface for creating accounts that can buy and sell stocks. Each account can access the current value of their account, the current value of all stocks, and the quantity of stocks they own.
The bank has its own account from which stocks are sold to normal users. The bank account can view logs of all transactions. Use the admin account <admin,admin> to enter the bank account.
Team Members:
- Alain Garcia
- Georgia Hayes
- Spencer Wong
- Abhi Kante
Deployed here, thought it is less stable than the localhost build.
Video for milestone 3 in the root directory and is named milestone3.mp4.
Installation
- Install Python 3.x
- Use the
requirements.txt
file and package manager pip to install the following Python 3 packages:- pytest
- pylint
- mysql-connector-python
- flask
- pandas
- gunicorn
pip install -r requirements.txt
Usage
python webclient.py
The web service should then be hosted on localhost using port 5000.
Setup Overview
We used Python for this entire project. The flask
library was used to set up the web service. We used MySQL databases hosted by Google Cloud to store the web application's data. We interface with those databases through the mysql-connector-python
library. The pandas
library was used very briefly for CSV handling. The gunicorn
library was used for heroku integration.
Testing was done with the help of the pytest
library. Linting was done with the help of the pylint
library. Authentication was completed by using a custom module which very simply checks for plain text user data.
Resources Used
Continuous Integration Service: Travis CI
Version Control: Github
MySQL Server Hosting: Google Cloud
Deployment: Heroku
API Documentation: Swagger
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.