Code Monkey home page Code Monkey logo

stockup's Introduction

$tock^

Stock Up is a simple stock trading app built for a technical assessment.

A user can create an account and portfolio, search for stocks by ticker symbol, purchase shares, and view a transaction record. The app uses Alpha Vantage Stocks API to fetch stock prices every 60 seconds and provide current prices for a dynamically rendered portfolio that displays ticker symbol, shares, and current stock price, colorized to indicate performance. The application uses authorization for a secure user experience. Due to frequency limitations from the stocks API, there are some loading issues if user activity is frequent or volumous. That issue and other needed refactors will be done at a future date.

Deployed Site

$tock^ - The Premiere Stock Portfolio Simulator

Screenshot

StockUp Screenshot

Author

Languages/Libraries:

Front End (Client):

  • HTML5 (JSX)
  • CSS3 (customized - no templates)
  • ES6 JavaScript
  • React ^16.13.1
  • React-Dom ^16.13.1
  • React-Redux ^7.2.0
  • React-Router ^5.2.0
  • React-Router-Dom ^5.2.0
  • React-Scripts ^3.4.0
  • Redux ^4.0.5
  • Redux-thunk ^4.0.5
  • Redux-Devtools-Extension ^2.13.8

Back End (API):

Ruby Version

  • ruby 2.6.1

Rails Version

  • rails ~> 6.0.1

Database

  • postgreSQL

Gem Dependencies

  • fast_jsonapi
  • rack-cors
  • bcrypt ~> 3.1.7
  • jwt ~> 2.2, >= 2.2.1
  • dotenv-rails

How To Install and Run

  1. fork (optional) then clone or download this repository to local machine

Back End (API)

  1. use text editor and/or terminal to navigate into stockup-api directory
  2. run bundle install (or bundle i) in terminal to install necessary dependencies
  3. run rails db:create in terminal to create database
  4. run rails db:migrate in terminal to initialize database
  5. create secret key:
    • create a .env file in root directory
    • write secret key for JWT in .env file:
      JWT_SECRET_KEY=KEY_HERE
      # see note below
      
  6. run rails s in terminal to run server in browser at http://localhost:3000/

*Note: KEY_HERE _should be characters of your choice. Always include .env file in .gitignore file.

Front End (Client)

  1. use text editor and/or terminal to navigate into stockup-client directory
  2. run npm install (or npm i) in terminal to install necessary dependencies
  3. create secret key:
    • create a .env file in root directory
    • write secret key for Alpha Vantage Stocks API in .env file:
      REACT_APP_API_KEY=KEY_HERE
      

*Note: KEY_HERE should be an individually assigned key from Alpha Vantage Stocks API._ Always include .env file in .gitignore file.

  1. run npm start in terminal to launch the app in browser

*Note: If backend server is already running, it will be running on http://localhost:3000/. After running npm start, follow prompt and enter y in terminal to run frontend on alternate port.

stockup's People

Contributors

dangrammer avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.