Homework from Harvard's Introduction to Computer Science CS50 hosted on eDX 🎓 Web Track - Finance
- Ensure that
python3andpython3-pipare installed on your system - In your terminal, navigate to the root project directory and run the following commands
- Activate the virtual environment
$ pipenv shell - Install the dependencies
$ pipenv install -r requirements.txt - You'll need to register for an API key in order to be able to query IEX’s data
- Register for an account
- Enter your email address and a password, and click “Create account”
- On the next page, scroll down to choose the Start (free) plan
- Once you’ve confirmed your account via a confirmation email, sign in to iexcloud.io
- Click API Tokens
- Copy the key that appears under the Token column (it should begin with pk_) into the
<value>in the next step
- Create a .env file and paste the following into it:
API_KEY=<value> - To start the web server, execute (without debugging):
$ python application.py - Alternatively, execute (with debugging):
$ export FLASK_APP=application.py $ flask run - Lastly, create a SQL database named
finances.db - To initialize the SQL database within application.py, add
db.create_all()belowInitialize Schemas. Once the code runs and the you've verified the database exists, removedb.create_all() - To initialize the SQL database in the python shell, execute:
$ python $ from application import db $ db.create_all() - To initialize the database with SQL command-line arguemnts (using MySQL syntax) run each
CREATE TABLEcommand (one at a time):
CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) UNIQUE, hash VARCHAR(200) NOT NULL, cash INTEGER ); CREATE TABLE portfolio ( id INTEGER PRIMARY KEY AUTO_INCREMENT, user_id INTEGER, symbol VARCHAR(5), current_shares INTEGER ); CREATE TABLE bought ( id INTEGER PRIMARY KEY AUTO_INCREMENT, buyer_id INTEGER, time VARCHAR(100), symbol VARCHAR(5), shares_bought INTEGER, price_bought FLOAT ); CREATE TABLE sold ( id INTEGER PRIMARY KEY AUTO_INCREMENT, seller_id INTEGER, time VARCHAR(100), symbol VARCHAR(5), shares_sold INTEGER, price_sold FLOAT ); - Stock prices pulled from IEX Stock Quote API
- Hat icon made by Alice Noir from the Noun Project
- Feather icon made by Jacopo Mencacci from the Noun Project
- Illustrations by Freepik Storyset
Copyright Notice and Statement: currently not offering any license. Permission only to view and download. Refer to choose a license for more info.