Skip to content

Containerized tool designed to automate and streamline the management and analysis of investment portfolios.

Notifications You must be signed in to change notification settings

StanislawHornaGitHub/Investment

Repository files navigation

Investment

The Investment project is a powerful, containerized tool designed to automate and streamline the management and analysis of investment portfolios. At its core, the project provides robust functionality for handling investment configurations and updating fund quotations, ensuring that financial data is consistently up-to-date and accurate. Users can quickly configure investments, retrieve and update quotations, and visualize the results on Grafana dashboards. One application instance can handle many investment owners with multiple investment wallets for each owner.

Sample Dashboards

Presented dashboards are automatically provisioned in Grafana instance.

Wallet View

image image

Management View

image

Management view allows to manually trigger fund quotation download and investment result re-calculation. As the data kept in a database like quotation and investment results is full recoverable, there are also buttons to delete quotation and results in order to perform all calculation steps from scratch in case of any errors.

Consists of following components:

  • PostgreSQL - Database to store fund quotation and investment results
  • Flask - Backend app which downloads fund quotation from Analizy.pl and calculates investment results
  • Grafana - Visualization of the results
  • Checker - On startup imports investment configuration to the system. During the system runtime it is responsible for checking if there are new fund quotation available, triggers Flask to download them, and recalculate the results.
  • Loki - Log server to capture logs from application components.
  • Promtail - Log scraper, scrapes logs generated by apps and send them to Loki.

Getting Started

Run Re-build_from_scratch.sh script, which will build docker images, and start docker compose. During the application startup sample investment config will be inserted to the system, and fund quotation will be downloaded from Analizy.pl to calculate refunds.

Alternatively you can run following steps to build and start containers:

  1. docker compose build
  2. docker compose up -d

Important

Application data files are stored locally at ./APP_DATA and ./APP_LOG. To re-deploy application from scratch you need to remove them.

Grafana UI

Grafana will be available at: http://localhost:3000/login.

Default credentials:

  • username: admin
  • password: admin

About

Containerized tool designed to automate and streamline the management and analysis of investment portfolios.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published