- Add pykrx-openapi dependency - New krx_client.py wrapper module - ETFCollector: Open API bulk fetch + pykrx fallback - ETFPriceCollector: Open API date-based bulk + pykrx fallback - StockCollector: Open API base_info + daily_trade + pykrx fallback - PriceCollector: Open API date-based bulk + pykrx fallback - ValuationCollector: pykrx retained (Open API has no PER/PBR) - generate_snapshots.py: Open API + pykrx fallback - Auto-switch based on KRX_OPENAPI_KEY env var - All 278 tests passing
Galaxis-Po
Integrated Quant Portfolio Management Application
Tech Stack
- Backend: FastAPI, Python 3.12, SQLAlchemy, PostgreSQL
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Infrastructure: Docker, Docker Compose, uv
Development
Prerequisites
- Docker & Docker Compose
- Python 3.12
- Node.js 24
- uv (Python package manager)
Quick Start
# Start all services
docker-compose up -d
# Backend only (development)
cd backend
uv sync
uv run uvicorn app.main:app --reload
# Frontend only (development)
cd frontend
npm install
npm run dev
Project Structure
galaxis-po/
├── backend/ # FastAPI backend
├── frontend/ # Next.js frontend
├── docker-compose.yml
└── docs/plans/ # Implementation plans
Description
Languages
Python
56.5%
TypeScript
43.1%
CSS
0.2%
Dockerfile
0.1%