Robinsock is a clone of Robinhood. On Robinsock you can see the prices and history of hundreds of stocks. You can create Watchlists and add stocks to those watchlists to better keep track of the movements of your assets or future assets. You can pretend to link a bank account, or several, and pull pretend money from those banks into your Robinsock account. Using the fake money you now have in your account, known as Buying Power, you can pretend to purchase stocks to add to your portfolio. Then later on when those assets increase, or more likely decrease, you can sell those assets to make a profit/loss. While you have assets you can see the performance of your own portfolio on your Dashboard as a graph similar to the one that shows you individual stock performances.
- Frontend:
- Javascript
- React
- Redux
- HTML/CSS
- Backend:
- Python
- Flask
- SQLAlchemy
From the splash page you can either sign up with the button in the center of the screen, or log in or sign up with the buttons in the top right of the navbar.
Users, once logged in, can view their portfolio from the home page. A graph showing their portfolio's performance over time is in the center of the screen. The time intervals of the graph can be changed from one day up to one year. On the right is your dashboard. The top of the dashboard is populated with the stocks you own and some brief metrics. Below the stocks you own are the watchlists you have created.
Clicking the "New Watchlist" button opens a modal that allows you to create a new watchlist with a custom name, as long as you don't have a watchlist with that name already
Clicking the plus symbol next to a watchlists name unveils an edit button and a delete button. The edit button opens a modal allowing you to change the name of that watchlist, and the delete button deletes that watchlist.
To add a bank account or transfer buying power from a bank to your account, you can either click the "Account" button in the top right corner and click "Transfers" in the dropdown menu, or you can click the "Buying Power" underneath the chart and then click "Deposit Funds".
From this page you can add a bank account, edit or delete that account, or use that bank account to add funds to your Robinsock account.
You can navigate to an individual stock page by either clicking on it in your dashboard or searching for it with the search bar. On the stock's page you can see a graph of its price over a period of time. Just like your portfolio chart you can switch the time range of the chart between one day up to one year. Below the chart are some more details about the company. On the right, if you own any, you can see how many shares of this stock you own. Also, there are buttons to add teh stock to one of your watchlists, buy the stock, sell the stock, and add buying power.
Clicking the "Add to Lists" button opens a modal that allows you to add the stock to a watchlist.
Clicking the buy or sell buttons opens their respective forms.
The "Buying Power" button works the same as on your portfolio.
-
Clone with
https://github.com/pierikm/robinhood-clone.git
-
Run
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
in the root directory to install dependencies -
Create a .env file in the root directory, and fill in the details using the .env.example
-
Create a user in postgres with the same name and password as in the .env file
CREATE <user> WITH PASSWORD <password> CREATEDB;
-
Create a database in postgres with the same name as in the .env
CREATE DATABASE <database> WITH OWNER <user>;
-
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
-
Open a seperate terminal then cd into the
react-app
folder and runnpm install
to install the dependencies for the frontend. -
Run
npm start
in thereact-app
folder to start the frontend server.