Skip to content

Feature/finance api : fast api 더미 api 구성 #8

Open
yunhalee05 wants to merge 1 commit into
developfrom
feature/finance-api
Open

Feature/finance api : fast api 더미 api 구성 #8
yunhalee05 wants to merge 1 commit into
developfrom
feature/finance-api

Conversation

@yunhalee05

Copy link
Copy Markdown
Collaborator

개요

▎ PostgreSQL 주가·재무 데이터를 조회하는 FastAPI 읽기 전용 API 계층을 구축합니다.

변경 사항

  • app/main.py — FastAPI 앱 엔트리포인트, RFC 7807 예외 핸들러, lifespan 훅 구현
  • app/core/ — pydantic-settings 설정(config.py), structlog 초기화(logging.py), 도메인
    예외(exceptions.py) 추가
  • app/apis/dtos/ — 응답 DTO 5종(SecurityResponse, PriceResponse, FinancialStatementResponse,
    DividendResponse, MetricResponse), 공통 Page[T] 및 쿼리 파라미터 정의
  • app/repositories/postgres/stock_repository.py — StockRepository Protocol 인터페이스 정의 (DB
    담당자와의 계약 지점)
  • app/repositories/postgres/stub_stock_repository.py — DB 연결 없이 동작하는 메모리 stub
    구현체 (DB 완성 시 교체)
  • app/services/stock_service.py — 심볼 존재 검증, 필터 조립 등 비즈니스 로직
  • app/apis/stocks.py — 8개 읽기 엔드포인트 구현 (종목·주가·재무·배당·지표), 페이지네이션·날짜
    범위 필터·OpenAPI 문서화 포함
  • tests/ — 단위 테스트 20개 + 통합 테스트 20개 (총 40개)
  • .gitignore — Python 빌드, 가상환경, 환경변수, 커버리지, IDE 항목 추가

관련 이슈

Closes #

테스트

  • 단위 테스트 통과 (pytest tests/unit/test_stock_service.py — 20/20)
  • 로컬 실행 확인 (uvicorn app.main:app, /docs Swagger UI 및 전 엔드포인트 curl 검증)

체크리스트

  • develop 브랜치 대상으로 PR을 올렸습니까? (hotfix는 main 가능)
  • 브랜치 이름이 네이밍 규칙을 따릅니까? (feature/finance-api)
  • 커밋 메시지가 Conventional Commits 형식입니까?
  • 불필요한 console.log / 디버그 코드를 제거했습니까?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants