Skip to content

API 구현 계획 #18

@jjaegii

Description

@jjaegii

메인 이슈: Muscle Memory API 구현

프로젝트의 CLI 기능들을 REST API로 제공하기 위한 구현

하위 이슈들:

  1. 프로젝트 기본 설정
  • FastAPI 프로젝트 구조 설정
  • 의존성 패키지 설정 (requirements.txt)
  • 환경 설정 (config.py)
  • CORS 및 기본 미들웨어 설정
  1. 인증/인가 시스템 구현
  • JWT 기반 인증 시스템 구현
  • 사용자 인증 미들웨어 구현
  • API 키 인증 구현
  1. 프로젝트 관리 API 구현 (/projects)
  • 프로젝트 목록 조회 (GET /)
  • 새 프로젝트 생성 (POST /)
  • 프로젝트 정보 조회 (GET /{project_name})
  • 프로젝트 삭제 (DELETE /{project_name})
  1. 잠금 관리 API 구현 (/locks)
  • 작업 시작/잠금 설정 (POST /{project_name})
  • 작업 완료/잠금 해제 (DELETE /{project_name})
  1. 파일 관리 API 구현 (/files)
  • 파일 추가 (POST /{project_name}/add)
  • 변경사항 등록 (POST /{project_name}/enroll)
  1. 버전 관리 API 구현 (/versions)
  • 최신 버전 조회 (GET /{project_name}/latest)
  • 버전 히스토리 조회 (GET /{project_name}/history)
  • 특정 버전 조회 (GET /{project_name}/{version})
  • 버전 롤백 (POST /{project_name}/rollback)
  1. 테스트 코드 작성
  • 단위 테스트 구현
  • 통합 테스트 구현
  • API 테스트 구현
  1. 문서화
  • API 문서 자동화 (Swagger/ReDoc)
  • README 업데이트
  • API 사용 가이드 작성

우선순위

  1. 프로젝트 기본 설정 (CLI vs REST API #1)
  2. 프로젝트 관리 API (Demo : Muscle terraform deploy scenario #3)
  3. 잠금 관리 API (Docs README.md file update for beta #4)
  4. 파일 관리 API (Unit Test, Integrity Test 설계 #5)
  5. 버전 관리 API (Test Issue #6)
  6. 인증/인가 시스템 (tfstate files backend service. how to deal with it #2)
  7. 테스트 코드 (tfstate 파일 잠금 및 동시성 제어 기능 구현 #7)
  8. 문서화 (사용자 등록 로직 구현 #8)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions