TradeTwits a full-stack application, is an online platform for users to discuss stocks and see real-time stock information.
Visit my wiki for more information.
-
Clone this repository
git clone https://github.com/w-duffy/TradeTwits
-
Install backend dependencies inside the python-project-starter directory
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
-
Install frontend dependencies inside the react-app directory
npm install
-
Create a .env file base on the .env.example given in the root directory. The API keys needed are from finnhub and Alpha Advantage
-
Setup your PostgreSQL user, password and database and make sure it matches your .env file
-
Migrate and seed the models into your database
pipenv run flask db upgrade
pipenv run flask seed all
-
Start the front end from the react-app directory
npm start
-
Start the backend from the python-project-starter
pipenv run flask run
- Logged in users can create a watchlist.
- Logged in users can view the stocks in their watchlist.
- Logged in users can delete stocks in their watchlist.
- Logged in users can post comments on a discussion page.
- Logged in users can edit their own comments.
- Logged in users can delete their own comments.
- Logged in users can reply to discussion comments.
- Logged in users can delete their replies.
- Logged in users can edit their replies.
- Logged in users can like discussion comments and replies.
- Logged in users can remove previous likes.
- Logged in users can follow other users.
- Logged in users can unfollow a user they are following.
- Logged in users can search for stocks to add to their watchlist.
- Logged in users can search for stocks to access the stock's discussion page.
Python | Javascript | React | Redux | SQLAlchemy | PostgreSQL | CSS | HTML / JSX | Git | Flask | Docker | React-Chartjs-2
While I am mostly happy with TradeTwit's functionality, there are a few additional features I would like to include in the future. I would like to add the ability to reference users and discussions via a hashtagging system (i.e. @user or #ticker). Additionally, I would like to expand the search and stock discussion features to include a broader range of stocks since I am currently limited to the S&P500.
Email - [email protected]
LinkedIn