/ToTheMoon

Primary LanguagePython

🌕🚀: To The Moon 🚀🌕

Image from Gyazo

About

To The Moon is a clone of Robinhood. To The Moon is a site where you can buy and sell stock shares!

Features

With our application, you can simulate stock datas on different real stocks at a current value.

  • You can add funds to your wallet.
  • With sufficient funds in your wallet, you are able to browse through and select stocks you want to "purchase".
  • You can see a projection of the said data set in a projection of a year.
  • You can view all your assets that you have
  • You can view your history of all the transactions made in the application.

Technologies Used

Getting started

1. Clone this repository (only this branch)
git clone https://github.com/Fiasco071/ToTheMoon.git
  1. Install dependencies

    pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  2. Create a .env file based on the example with proper settings for your development environment

  3. Setup your PostgreSQL user, password and database and make sure it matches your .env file

  4. Get into your pipenv, migrate your database, seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  5. To run the React App in development, checkout the README inside the react-app directory.


IMPORTANT! psycopg2-binary MUST remain a dev dependency because you can't install it on apline-linux. There is a layer in the Dockerfile that will install psycopg2 (not binary) for us.



Helpful commands

Command Purpose
pipenv shell Open your terminal in the virtual environment and be able to run flask commands without a prefix
pipenv run Run a command from the context of the virtual environment without actually entering into it. You can use this as a prefix for flask commands
flask db upgrade Check in with the database and run any needed migrations
flask db downgrade Check in with the database and revert any needed migrations
flask seed all Just a helpful syntax to run queries against the db to seed data. See the app/seeds folder for reference and more details