Skip to content

Latest commit

 

History

History
129 lines (96 loc) · 6.02 KB

File metadata and controls

129 lines (96 loc) · 6.02 KB

Quantara 프로젝트 기여 가이드라인

Quantara는 감정 분석과 양자역학적 연산을 결합한 창의적인 오픈소스 프로젝트입니다. 이 문서는 Quantara 프로젝트에 기여하고자 하는 개발자, 디자이너, 테스터 및 기타 커뮤니티 구성원을 위한 가이드라인을 제공합니다. 여러분의 기여는 프로젝트의 발전에 큰 도움이 됩니다!

기여 방법

Quantara 프로젝트에 기여할 수 있는 주요 방법은 다음과 같습니다.

  • 버그 리포트: 애플리케이션의 버그를 발견한 경우 이를 보고하여 개선에 기여
  • 기능 제안: 새로운 기능이나 개선 아이디어를 제안
  • 코드 기여: 코드 수정, 신규 기능 구현, 성능 최적화 등
  • 문서 개선: README, 코드 주석, API 문서 등의 문서를 개선
  • 테스트: 테스트 케이스 작성 및 실행을 통해 안정성 향상

시작하기

1. 개발 환경 설정

Quantara에 기여하기 위해 다음 환경을 준비해야 합니다.

  • Java: JDK 21.0.8 이상
  • 의존성:
    • Google Cloud Natural Language API 클라이언트 라이브러리
    • StrangeStrangeFX 라이브러리
    • JavaFX SDK
  • IDE: IntelliJ IDEA, Eclipse 등 Java(및 JavaFX) 개발에 적합한 IDE
  • Git: 코드 버전 관리를 위한 Git 설치
  • Google Cloud 계정: 감정 분석 API를 테스트하려면 Google Cloud 서비스 계정 키 필요(자세한 설정은 README.md 참조)

프로젝트를 로컬 환경에 복제하려면 다음 명령어를 실행하세요.

git clone https://github.com/Quant-Off/quantara.git
cd quantara

2. 프로젝트 구조

프로젝트의 주요 디렉토리 구조는 다음과 같습니다.

quantara/
├── src/                    # 소스 코드
├── priv-resources/         # Google Cloud 키 파일 등 민감 정보
├── config.json             # 애플리케이션 설정 파일
├── README.md               # 프로젝트 개요
├── CONTRIBUTING.md         # 이 문서
└── pom.xml                 # 빌드 설정 (Maven 사용)

기여 절차

1. 이슈 생성

기여를 시작하기 전에 GitHub 저장소에서 관련 이슈를 확인하거나 새 이슈를 생성하세요.

  • 버그 리포트: 버그의 재현 단계, 예상 동작, 실제 동작, 환경 정보(Java 버전, OS 등)를 포함하세요.
  • 기능 제안: 제안하는 기능의 목적, 예상 구현 방법, 사용자에게 미치는 영향을 설명하세요.
  • 이슈 템플릿을 사용하여 표준화된 형식으로 작성하세요.

2. 저장소 포크 및 브랜치 생성

  1. Quantara 저장소를 자신의 GitHub 계정으로 포크합니다.
  2. 로컬에 저장소를 복제한 후, 새로운 브랜치를 생성합니다.
    git checkout -b feature/[기능-이름]  # 기능 추가
    git checkout -b bugfix/[버그-이름]   # 버그 수정
  3. 브랜치 이름은 작업의 목적을 명확히 반영해야 합니다(예: feature/add-korean-support, bugfix/fix-ui-crash).

3. 코드 작성 가이드라인

  • 코드 스타일:
    • Java 코드 스타일은 Google Java Style Guide를 따릅니다.
    • 일관된 들여쓰기(4칸 스페이스)와 명확한 변수/메소드 이름을 사용하세요.
  • 주석: 코드의 주요 로직에 대해 설명하는 주석을 추가하세요. 특히 양자역학 연산이나 감정 분석 로직은 상세히 주석 처리하세요.
  • 테스트: 새로운 기능이나 수정 사항에 대해 단위 테스트를 작성하세요. 테스트는 src/test 디렉토리에 추가합니다.
  • 의존성 관리: 새로운 의존성을 추가할 경우, 빌드 파일 pom.xml에 명시하고 이유를 이슈에 설명하세요.

4. 커밋 및 푸시

  • 커밋 메시지는 명확하고 간결하게 작성하세요. 예시는 다음과 같습니다.
    feat: 한국어 프롬프트 지원 추가
    fix: UI 크래시 버그 수정
    
  • 변경 사항을 푸시하기 전에 로컬에서 테스트를 실행하여 빌드와 기능이 정상 작동하는지 확인하세요.
    mvn clean test  # Maven 사용 시

5. 풀 리퀘스트(PR) 제출

  1. 포크한 저장소에서 변경 사항을 푸시합니다.
    git push origin feature/[기능-이름]
  2. GitHub에서 풀 리퀘스트를 생성하고, 다음 내용을 포함하세요.
    • 관련 이슈 번호(예시: Fixes #123)
    • 변경 사항의 간략한 설명
    • 테스트 결과 또는 스크린샷(필요 시)
  3. PR은 최소 한 명의 리뷰어의 승인을 받아야 병합됩니다.

코드 리뷰 기준

  • 코드가 프로젝트의 기능적, 비기능적 요구사항을 충족하는지
  • 코드 가독성과 유지보수 가능성
  • 테스트 케이스의 충실성
  • 기존 코드와의 호환성

커뮤니티 규칙

추가 참고사항

  • 한국어 지원: 현재 Quantara는 영어 프롬프트만 지원하지만, 한국어 지원을 위한 기여(번역 모듈 통합)는 높은 우선순위를 가집니다.
  • 양자역학 연산: Strange 라이브러리 관련 기여는 양자 컴퓨팅에 대한 기본 이해가 필요합니다. 관련 자료는 Strange 문서StrangeFX 문서 를 참조하세요.
  • 문서화: 문서 기여 시, 한국어 문법과 마크다운 형식을 준수하세요.

문의

기여와 관련된 질문은 GitHub 이슈를 통해 제기하거나, 프로젝트의 공식 커뮤니티 채널로 연락주세요. 여러분의 기여를 환영합니다!