wjloo95 / Trackr

Application to keep track of your stock portfolio and transactions

Home Page:https://stock-tracker-ttp.herokuapp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Keep track of your stock portfolio and audit your transactions.

Technologies-Used

Back-End

Front-End

Authentication

Existing Accounts

John Doe (Clean Slate)

E-mail: johndoe@gmail.com Password: johnpwd

Jane Doe (Full transactions and portfolio)

E-mail: janedoe@gmail.com Password: janepwd

User Stories:

As a user, I want to create a new account with my name, email, and password so that I can buy and trade stocks.

  • Default the user's cash account balance to $5000.00 USD.
  • A user can only register once with any given email.

As a user, I want to authenticate via email and passwords so that I can access my account.

  • E-mail/password authentication implemented.

As a user, I want to buy shares of stock at its current price by specifying its ticker symbol and the number of shares so that I can invest.

  • A user can only buy whole number quantities of shares.
  • A user can only buy shares if they have enough cash in their account for a given purchase.
  • A user can only buy shares if the ticker symbol is valid.

As a user, I want to view a list of all transactions I've made to date (trades) so that I can perform an audit.

  • Transactions page implemented.

As a user, I want to view my portfolio (a list of stocks I own along with their current values) so that I can review performance.

  • Portfolio page implemented.

As a user, I want to view my portfolio (a list of all the stocks I own along with their current values) so that I can review performance.

  • Current values should be based on the latest price and quantity owned for a given stock.
  • Each stock owned should only appear once.

As a user, I'd like to see the front color of stock symbols and current prices in my portfolio change dynamically to indicate performance.

  • Display red when the current price is less than the day's open price.
  • Display grey when the current price is equal to the day's open price.
  • Display green when the current price is greater than the day's open price.

Future Improvements

Developer Improvements

  • Addition of Redux to facilitate scalability of application
  • Add React Unit Testing
  • E2E testing with Cypress
  • CI/CD pipeline using Travis CI

Product Features

  • Sorting/Filtering options on Portfolio and Transactions
  • Suggested Stocks to purchase, based on current trends
  • D3.js graphics to display your portfolio over time

Get Started

  • Fork this repo and git clone your fork.
  • Install server and client dependencies with npm install.
  • Get IEXToken(IEX)
  • Create requisite .env files
  • In ./server run npm run start-dev
  • In ./client run npm run start

Example Environment Variables

server/.env

DB_USER=Mongo Atlas User
DB_USER_PWD=Mongo Atlas Passowrd
DB_CLUSTER=Mongo Atlas Cluster ID
SECRET=Secret for JWT signing

client/.env

REACT_APP_SERVER_URL=http://localhost:(your port or 3005)
REACT_APP_IEX_TOKEN=IEX Public Token
REACT_APP_IEX_TEXT=IEX Testing Token

Credits

React client bootstrapped with Create React App.

About

Application to keep track of your stock portfolio and transactions

https://stock-tracker-ttp.herokuapp.com


Languages

Language:TypeScript 50.0%Language:JavaScript 36.2%Language:CSS 11.8%Language:HTML 2.1%