Skip to content

Commit ec0fe6a

Browse files
authored
Create README.md
1 parent 98aa3b6 commit ec0fe6a

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

README.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# FOSSistant 🚀
2+
3+
FOSSistant는 **오픈소스 프로젝트 기여를 돕는 AI 기반 어시스턴트**입니다.
4+
GitHub 이슈 분석, 해결 방안 제시, 기여 가이드 제공을 통해 오픈소스 생태계 참여를 지원합니다.
5+
6+
## 📋 주요 기능
7+
8+
### 🔍 이슈 분석 & 요약
9+
- GitHub 이슈의 자동 분석 및 요약
10+
- LLM 기반 이슈 내용 이해 및 중요 포인트 하이라이팅
11+
- 프로젝트 컨텍스트를 고려한 맞춤형 해결 방안 제시
12+
13+
### 📚 기여 가이드
14+
- 프로젝트별 Contributing 가이드 연결
15+
- README.md, 이슈 템플릿 등 관련 문서 링크 제공
16+
- 디렉토리 구조 분석을 통한 코드 기여 가이드
17+
18+
### 🔐 사용자 인증
19+
- GitHub OAuth 2.0 연동
20+
- JWT 기반 토큰 인증
21+
- 사용자별 맞춤 서비스 제공
22+
23+
### 📊 모니터링
24+
- Spring Boot Actuator 기반 헬스체크
25+
- Redis 캐싱을 통한 성능 최적화
26+
27+
## 🛠 기술 스택
28+
29+
### Backend
30+
- **Java 17** - 언어
31+
- **Spring Boot 3.4.5** - 프레임워크
32+
- **Spring Security** - 보안
33+
- **Spring Data JPA** - 데이터 접근
34+
35+
### Database & Cache
36+
- **MySQL** - 주 데이터베이스 (Azure MySQL)
37+
- **Redis** - 캐싱 & 세션 관리
38+
39+
### AI & External APIs
40+
- **Google Gemini API** - LLM 기반 이슈 분석
41+
- **GitHub GrpahQLAPI** - 저장소 및 이슈 데이터 연동
42+
43+
### Infrastructure
44+
- **Docker** - 컨테이너화
45+
- **Docker Compose** - 로컬 개발 환경
46+
47+
### Documentation
48+
- **SpringDoc OpenAPI** - API 문서 자동 생성
49+
50+
51+
## 📁 프로젝트 구조
52+
53+
```
54+
src/main/java/Capstone/FOSSistant/
55+
├── FosSistantApplication.java # 메인 애플리케이션
56+
└── global/ # 전역 설정 및 공통 기능
57+
├── config/ # 스프링 설정
58+
├── security/ # 보안 설정
59+
├── domain/ # 엔티티 모델
60+
├── repository/ # 데이터 접근 계층
61+
├── service/ # 비즈니스 로직
62+
├── web/ # 웹 계층 (컨트롤러)
63+
├── apiPayload/ # API 요청/응답 DTO
64+
├── converter/ # 데이터 변환
65+
├── Validator/ # 입력값 검증
66+
└── aop/ # 관점 지향 프로그래밍
67+
```
68+
69+
## 🔧 주요 설정
70+
71+
### JVM 옵션
72+
```bash
73+
-Xmx512m -Xms256m # 메모리 제한 (Docker 환경)
74+
```
75+
76+
### Redis 설정
77+
```yaml
78+
# 최대 메모리: 256MB
79+
# 정책: allkeys-lru (가장 오래된 키 삭제)
80+
```
81+
82+
### 헬스체크
83+
- **엔드포인트**: `/actuator/health`
84+
- **간격**: 30초
85+
- **타임아웃**: 10초
86+
- **재시도**: 3회
87+
88+
## 📄 라이선스
89+
90+
이 프로젝트는 [라이선스 파일](LICENSE)에 명시된 조건에 따라 배포됩니다.
91+
92+
**FOSSistant**로 오픈소스 기여를 더 쉽고 즐겁게 만들어보세요! 🎉

0 commit comments

Comments
 (0)