Skip to content

Latest commit

 

History

History
92 lines (86 loc) · 4.62 KB

File metadata and controls

92 lines (86 loc) · 4.62 KB

🚀 Getting Started

To run this project on your system:

  • Ensure that python3 and python3-pip are 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() below Initialize Schemas. Once the code runs and the you've verified the database exists, remove db.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 TABLE command (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
);

📣 Attribution

🔒 License

Copyright Notice and Statement: currently not offering any license. Permission only to view and download. Refer to choose a license for more info.