Quantara는 감정 분석과 양자역학적 연산을 결합한 창의적인 오픈소스 프로젝트입니다. 이 문서는 Quantara 프로젝트에 기여하고자 하는 개발자, 디자이너, 테스터 및 기타 커뮤니티 구성원을 위한 가이드라인을 제공합니다. 여러분의 기여는 프로젝트의 발전에 큰 도움이 됩니다!
Quantara 프로젝트에 기여할 수 있는 주요 방법은 다음과 같습니다.
- 버그 리포트: 애플리케이션의 버그를 발견한 경우 이를 보고하여 개선에 기여
- 기능 제안: 새로운 기능이나 개선 아이디어를 제안
- 코드 기여: 코드 수정, 신규 기능 구현, 성능 최적화 등
- 문서 개선:
README, 코드 주석,API문서 등의 문서를 개선 - 테스트: 테스트 케이스 작성 및 실행을 통해 안정성 향상
Quantara에 기여하기 위해 다음 환경을 준비해야 합니다.
- Java: JDK 21.0.8 이상
- 의존성:
Google Cloud Natural Language API클라이언트 라이브러리Strange및StrangeFX라이브러리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프로젝트의 주요 디렉토리 구조는 다음과 같습니다.
quantara/
├── src/ # 소스 코드
├── priv-resources/ # Google Cloud 키 파일 등 민감 정보
├── config.json # 애플리케이션 설정 파일
├── README.md # 프로젝트 개요
├── CONTRIBUTING.md # 이 문서
└── pom.xml # 빌드 설정 (Maven 사용)
기여를 시작하기 전에 GitHub 저장소에서 관련 이슈를 확인하거나 새 이슈를 생성하세요.
- 버그 리포트: 버그의 재현 단계, 예상 동작, 실제 동작, 환경 정보(Java 버전, OS 등)를 포함하세요.
- 기능 제안: 제안하는 기능의 목적, 예상 구현 방법, 사용자에게 미치는 영향을 설명하세요.
- 이슈 템플릿을 사용하여 표준화된 형식으로 작성하세요.
- Quantara 저장소를 자신의 GitHub 계정으로 포크합니다.
- 로컬에 저장소를 복제한 후, 새로운 브랜치를 생성합니다.
git checkout -b feature/[기능-이름] # 기능 추가 git checkout -b bugfix/[버그-이름] # 버그 수정
- 브랜치 이름은 작업의 목적을 명확히 반영해야 합니다(예:
feature/add-korean-support,bugfix/fix-ui-crash).
- 코드 스타일:
- Java 코드 스타일은 Google Java Style Guide를 따릅니다.
- 일관된 들여쓰기(4칸 스페이스)와 명확한 변수/메소드 이름을 사용하세요.
- 주석: 코드의 주요 로직에 대해 설명하는 주석을 추가하세요. 특히 양자역학 연산이나 감정 분석 로직은 상세히 주석 처리하세요.
- 테스트: 새로운 기능이나 수정 사항에 대해 단위 테스트를 작성하세요. 테스트는
src/test디렉토리에 추가합니다. - 의존성 관리: 새로운 의존성을 추가할 경우, 빌드 파일
pom.xml에 명시하고 이유를 이슈에 설명하세요.
- 커밋 메시지는 명확하고 간결하게 작성하세요. 예시는 다음과 같습니다.
feat: 한국어 프롬프트 지원 추가 fix: UI 크래시 버그 수정 - 변경 사항을 푸시하기 전에 로컬에서 테스트를 실행하여 빌드와 기능이 정상 작동하는지 확인하세요.
mvn clean test # Maven 사용 시
- 포크한 저장소에서 변경 사항을 푸시합니다.
git push origin feature/[기능-이름]
- GitHub에서 풀 리퀘스트를 생성하고, 다음 내용을 포함하세요.
- 관련 이슈 번호(예시:
Fixes #123) - 변경 사항의 간략한 설명
- 테스트 결과 또는 스크린샷(필요 시)
- 관련 이슈 번호(예시:
- PR은 최소 한 명의 리뷰어의 승인을 받아야 병합됩니다.
- 코드가 프로젝트의 기능적, 비기능적 요구사항을 충족하는지
- 코드 가독성과 유지보수 가능성
- 테스트 케이스의 충실성
- 기존 코드와의 호환성
- 모든 기여자는 Contributor Covenant Code of Conduct를 준수해야 합니다.
- 존중과 협력을 바탕으로 커뮤니티에 참여해주세요.
- 질문이나 논의는 GitHub 이슈 또는 Slack/Discord 채널을 통해 진행하세요.
- 한국어 지원: 현재 Quantara는 영어 프롬프트만 지원하지만, 한국어 지원을 위한 기여(번역 모듈 통합)는 높은 우선순위를 가집니다.
- 양자역학 연산: Strange 라이브러리 관련 기여는 양자 컴퓨팅에 대한 기본 이해가 필요합니다. 관련 자료는 Strange 문서와 StrangeFX 문서 를 참조하세요.
- 문서화: 문서 기여 시, 한국어 문법과 마크다운 형식을 준수하세요.
기여와 관련된 질문은 GitHub 이슈를 통해 제기하거나, 프로젝트의 공식 커뮤니티 채널로 연락주세요. 여러분의 기여를 환영합니다!