Shillings started as an intention to be the first story-based stock trading platform.
To be the complete playground for stock investor's worldwide
To empower stock investors globally by providing an immersive platform that offers a story-based approach to understanding the development and performance of businesses.
There was intention to create a Helm chart to deploy this distributed application on a Kubernetes platform. For now, the docker-compose.yml file in the root can be used.
This project contains 3 applications and a database management system. Within the file structure are the business plan documentation that inspires the project and scripts used to deploy the applications and the database management system.
Here's a breakdown,
-
Contains the single-page application written in VueJS
-
Contains the Node.js application that is used to gather stock information from sources such as Jamaica Stock Exchange
-
Contains the DotNet application that serves up a GraphQL API
-
Contains backup file of database containing stock information from 1998 to 2024. Also includes bash and T-SQL scripts used to maintain the database.
-
Contains kubernetes manifests to deploy the network of applications on a hosting platform. It also includes a docker compose manifest for simpler deployment without Kubernetes.
-
Contains Gimp files used to create logo
-
Contains NGINX file used to configure proxy pass for API on local shared hosting.
To install this distributed application perform the following command at the root folder,
docker compose up -d
After the docker virtual environment is up and running, the database will be empty. To fill the database consider restoring the backup file, stocks.bak. The scripts folder contains bash scripts that can be used to perform the restore (Use restore-db.sh).
N.B. Some troubleshooting maybe necessary to get the application function-ready.
N.B. Please see the IdentityService.cs to sign into the back-office at http://localhost:8080/login
The issues list in this repo speaks to the intention of this app in finer details. With that said, the most useful and practical feature is the portfolio statement report that is displayed on the Dashboard, which is the landing page. Once the database is up-to-date with the latest stock information, it shows the current standing of gain/loss of the investors portfolio.
I expect that certain code sharing etiquette will be observed. Contributors are expected to fork a clone of this repo and make changes in their own copy, then create a pull request if they wish to suggest changes to this repo.