Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yeungadrian/portfoliobuilder

Investment analytics app (FastAPI, Artifact Registry, Cloud Run)
https://github.com/yeungadrian/portfoliobuilder

fastapi google-cloud python

Last synced: about 2 months ago
JSON representation

Investment analytics app (FastAPI, Artifact Registry, Cloud Run)

Awesome Lists containing this project

README

        

# 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 --dev
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.