- frontend: crypto.subtle(Secure Context 전용)을 Next.js Route Handler로 대체
- src/app/api/auth/login/route.ts 신규 생성
- Node.js crypto.createHash('sha256')로 서버사이드 해싱
- http://192.168.x.x 등 insecure HTTP 환경에서도 동작
- api.ts에서 클라이언트 사이드 hashPassword() 제거
- backend: UserResponse 응답 직렬화 시 500 에러 수정
- UserResponse.email을 EmailStr → str로 변경
- admin@local 처럼 TLD 없는 내부 이메일도 응답 가능
- UserCreate.email은 EmailStr 유지(입력 검증은 엄격하게)
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
58%
TypeScript
41.6%
CSS
0.2%
Dockerfile
0.1%