https://github.com/yeungadrian/portfoliobuilder
Investment analytics app (FastAPI, Streamlit, Cloud Run)
https://github.com/yeungadrian/portfoliobuilder
fastapi google-cloud python
Last synced: 3 months ago
JSON representation
Investment analytics app (FastAPI, Streamlit, Cloud Run)
- Host: GitHub
- URL: https://github.com/yeungadrian/portfoliobuilder
- Owner: yeungadrian
- Created: 2020-03-22T14:21:06.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-12-16T00:49:54.000Z (6 months ago)
- Last Synced: 2026-01-03T22:55:25.525Z (6 months ago)
- Topics: fastapi, google-cloud, python
- Language: Python
- Homepage: https://portfoliobuilder.streamlit.app
- Size: 16.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PortfolioBuilder

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
```mermaid
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
```
Note: Mermaid supported icons is very limited for now.