이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

버전 1 현재 »

/speckit.constitution 


# 프로젝트 원칙을 만들어줘.
- 코드 품질: 간결하고 읽기 쉬운 코드로 주석은 함수 단위로 간결하게 기록
- 테스트: 외부 API 막히지 않도록 잦은 반복 요청 자제하고 최대 1번 동작 가능 여부 테스트
- 테스트 환경: 최종 Azure 클라우드 서비스에 배포하는 것을 고려
- 사용자 경험: 직관적이고 빠른 인터페이스
- 성능: 불필요한 라이브러리 사용 금지, 최소한의 의존성으로 구현


/speckit.specify 

# 나의 관심 주식을 모아 주는 주식 앱을 만들어줘.

1. 사용자별로 개인화된 정보를 저장해야함 (관심종목, 뉴스, 포트폴리오)

2. 관심종목(워치리스트)
	•	WHAT: 심볼 검색→워치리스트 추가/삭제. 정렬·그룹·간단 지표 표시.
	•	WHY: 자주 보는 종목을 빠르게 모아봄
	•	성공 기준: 워치리스트 추가 후 3초 내 카드에 현재가/변동률 표시.

3. 시세 보기
	•	WHAT: 종목 상세에서 현재가/일 변동률/거래량/장상태(장중/마감) 표시. 준실시간임=일 단위로 표시
	•	WHY: 과도한 갱신 없이 핵심 정보만 명확히. 상세 시세의 경우 일단위의 Sparkline 캔틀 차트로 표시
	•	성공 기준: 95%의 조회가 1초 내 결과 노출(체감 기준).

4. 포트폴리오/보유종목
	•	WHAT: 로그인 사용자가 포트폴리오를 생성하고 종목(symbol, 수량, 평균단가)을 CRUD. 총평가·손익·수익률 집계.
	•	WHY: 보유 현황과 손익을 한 화면에서 빠르게 파악.
	•	성공 기준: 새 포트폴리오 생성~종목 1개 추가하거나 삭제하는데 2분 이내.

5. 데이터 수집
	•	WHAT: 외부 주식 API를 활용하여 데이터를 수집하지만, 다른 사용자가 같은 ticker를 호출할 때를 대비하여 5분간은 DB에 캐싱으로 저장해둔 데이터를 꺼내가도록 함
	•	WHY: 외부 주식 API가 빈번한 호출에 의해서 막히는 것을 방지하기 위함
	•	성공 기준: 티커로 주식 정보를 요청할 경우 최근 5분 이내 호출한 주식 정보는 바로 DB에서 꺼내 사용하고, 그렇지 않을 경우에 외부 API 호출하도록 함


/speckit.clarify 그냥 수행

중간에 기간 선택 옵션시

선택할 수 있는 옵션을 탭으로 제공하고, 클릭하면 그 기간에 맞게 그려주길 원해.
30m - 2d
1h - 1wk
1d - 6m
1wk - 2y
1mo - 7y

yfinace.download에 따르면, Date Open High Low Close Adj Close Volume 이 순서대로 값이 들어와서 캔들차트를 그릴 수 있을거야.



/speckit.clarify 그냥 수행


Follow instructions in speckit.plan.prompt.md.
• 개발: 인프라 IaC, 프론트엔드, 백엔드, DB(sql) 디렉토리 구분, 가상환경에서 각각 필요한 리소스 및 패키지 정의 및 실행
• 인프라: Azure 100% 활용
• 프론트엔드: Vue3 + Tabler(Dashboard) + ECharts(Chart) -> Blob Storage에 정적 배포
• 백엔드: python3 + FastAPI -> Azure Container Apps 로 배포
• DB: Azure MySQL 8.0 (Standard_B2s), 테스트 환경은 가상 환경에 MySQL 8.0으로 배포하여 테스트
• 실시간 시세: https://github.com/ranaroussi/yfinance API 활용하여 백엔드 API에서 호출하며 DB에 저장
• 인증: 이메일 + 패스워드 기반의 user 테이블 활용
• 데이터 모델 설계: 포트폴리오 테이블, 보유종목 테이블, 즐겨찾기 테이블, 사용자 테이블, 뉴스 테이블 (yfinance 스키마 호환)


Task 생성


✅ Phase 2 Implementation Tasks 생성 완료
생성된 작업 요약
총 19개 작업을 6개 카테고리로 구성했습니다:

Phase 2A: Infrastructure & Database (2 tasks)
INFRA-001: 로컬 개발 환경 설정 (2시간)
DB-001: 데이터베이스 스키마 구현 (4시간, Alembic 마이그레이션 6개)
Phase 2B: Backend API Development (5 tasks)
BACKEND-001: FastAPI 핵심 인프라 (6시간)
BACKEND-002: 인증 API (6시간, FR-001/FR-002)
BACKEND-003: 워치리스트 API (8시간, FR-003~FR-006)
BACKEND-004: 주식 데이터 API (12시간, FR-007~FR-010, yfinance 통합)
BACKEND-005: 포트폴리오 API (10시간, FR-013~FR-019)
Phase 2C: Frontend Development (5 tasks)
FRONTEND-001: Vue3 프로젝트 설정 & 라우팅 (4시간)
FRONTEND-002: 로그인/회원가입 페이지 (6시간)
FRONTEND-003: 워치리스트 페이지 (10시간, User Story 1)
FRONTEND-004: 주식 상세 페이지 (12시간, User Story 2, ECharts)
FRONTEND-005: 포트폴리오 페이지 (12시간, User Story 3)
Phase 2D: Testing & Quality Assurance (2 tasks)
TEST-001: 백엔드 통합 테스트 (8시간, Docker Compose)
TEST-002: 프론트엔드 E2E 테스트 (8시간, Cypress/Playwright)
Phase 2E: Deployment & DevOps (1 task)
DEPLOY-001: Azure 인프라 구축 (10시간, Bicep IaC + CI/CD)
Phase 2F: Documentation & Handoff (4 tasks)
DOC-001: API 문서화 & Postman 컬렉션 (4시간)
DOC-002: 배포 가이드 & 운영 런북 (4시간)
주요 특징
명확한 의존성 그래프: 작업 간 의존성을 명시하여 병렬 개발 가능
Constitution 준수: 모든 작업에 5가지 원칙 체크리스트 포함
성능 목표 명시: <200ms, <1s, <3s, <2min 타겟 포함
상세한 체크리스트: 각 작업마다 세부 단계 리스트
Acceptance Criteria: 완료 기준 명확히 정의
예상 소요 시간
총 예상 시간: 80-100시간
1명 개발자 기준: 2-3주
병렬 개발 가능: Backend + Frontend 동시 진행 시 1.5-2주


  • 레이블 없음