Skip to content

Investment analytics app (FastAPI, Streamlit, Cloud Run)

Notifications You must be signed in to change notification settings

yeungadrian/PortfolioBuilder

Repository files navigation

PortfolioBuilder

Test Build Deploy

View live API docs @ https://portfoliobuilder-jfv66mvjvq-ew.a.run.app/redoc

Goals:

  1. Minimalish but still effective FastAPI + Github Action setup
  2. Exploring severless with Google Cloud (Artifact Regsitry, Cloud Run)
  3. Refresh knowledge on portfolio optimisation

Quickstart

Run locally with uv

uv sync --all-extras
uv run uvicorn app.main:app --reload
uv run streamlit run streamlit_app.py

Run locally with docker

docker build -t portfoliobuilder .
docker run --rm -it -p 8000:8000/tcp portfoliobuilder:latest

Architecture

architecture-beta
    group github(cloud)[Github]
    service github_action(cloud)[Github Actions] in github


    group google_cloud(cloud)[Google Cloud]
    service artifact_registry(cloud)[Artifact Registry] in google_cloud
    service cloud_run(cloud)[Google Cloud Run] in google_cloud

    group StreamlitCloud(cloud)[Streamlit Cloud]
    service Streamlit(cloud)[Streamlit] in StreamlitCloud

    github_action:R --> L:artifact_registry
    github_action:R --> L:cloud_run
    artifact_registry:T --> B:cloud_run

    cloud_run:R --> L:Streamlit
Loading

Note: Mermaid supported icons is very limited for now.

About

Investment analytics app (FastAPI, Streamlit, Cloud Run)

Topics

Resources

Stars

Watchers

Forks