You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+91-31Lines changed: 91 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,20 @@
1
-
# PortfolioIQ - GitHub Repository Quality Analysis Service
1
+
# PortfolioIQ
2
2
3
3
## 📋 프로젝트 개요
4
4
### PortfolioIQ = Portfolio + IQ (Insight & Quality)
5
5
6
6
> **“당신의 포트폴리오에 인사이트와 품질을 더하다."**
7
+
> GitHub Repository Quality Analysis Service
7
8
8
9
**PortfolioIQ**는 GitHub 저장소의 품질을 AI 기반으로 자동 분석하고 평가하는 웹 서비스입니다. <br />
9
10
개발자들이 포트폴리오로 사용하는 저장소의 README 품질, 테스트 구성, 커밋 이력, CI/CD 설정 등을 종합적으로 분석하여 객관적인 점수와 구체적인 개선 방향을 제시합니다.
10
11
11
12
### 🎯 프로젝트 목표
12
-
취업 및 이직을 준비하는 개발자들은 포트폴리오로 GitHub 저장소를 제출하지만, 객관적인 피드백을 즉시 받기 어렵습니다. 멘토나 현직자에게 리포지토리 검토를 요청하기에는 시간과 비용이 많이 들고, 스스로 점검하기에는 무엇을 개선해야 할지 판단하기 어렵습니다.
13
13
14
-
본 프로젝트는 사용자가 GitHub 저장소 URL만 입력하면 AI가 README 품질, 코드 구조, 커밋 패턴, 문서화 수준 등을 종합 분석하여 점수화하고, "README에 설치 방법이 없습니다", "테스트 코드를 추가해 보세요"와 같은 구체적이고 실질적인 개선 방향을 제시하는 서비스를 제공하고자 합니다. 이를 통해 개발자들이 포트폴리오로 사용하는 리포지토리의 품질을 스스로 개선하고, 취업 경쟁력을 높일 수 있도록 돕는 것이 목표입니다.
15
14
-**즉각적인 피드백 제공**: GitHub 저장소 URL 입력만으로 실시간 품질 분석
16
15
-**객관적인 평가 기준**: AI 기반 정량적 점수(0-100점)와 정성적 피드백 제공
17
16
-**구체적인 개선 방향**: "README에 설치 방법 추가", "테스트 코드 작성" 등 실질적인 가이드 제시
18
-
-**커뮤니티**: 분석 결과 오픈소스화를 통한 집단 지성 기반 포트폴리오 품질 향상
17
+
-**커뮤니티**: 오픈 커뮤니티 기반으로 우수 사례를 공유할 수 있는 플랫폼 구축
19
18
20
19
21
20
### 👥 타겟 사용자
@@ -30,8 +29,10 @@
30
29
-**팀 구성**: 4인 (Full-stack)
31
30
- 임병수: User 도메인 (회원가입, 로그인, 인증/인가)
32
31
- 우성현: Evaluation 도메인 (OpenAI API 연동)
33
-
- 오혜승: Repository 도메인 (GitHub API 연동)
34
-
- 양희원: Community 도메인 (게시판, 댓글)
32
+
- 오혜승: Analysis, Repository 도메인 (GitHub API 연동)
33
+
- 양희원: Analysis, Community 도메인 (게시판, 댓글)
34
+
35
+
### 📊 데이터 흐름
35
36
36
37
---
37
38
@@ -41,39 +42,47 @@
41
42
```
42
43
- Java 21 (LTS)
43
44
- Spring Boot 3.5.6
44
-
- Spring Security 6.x (JWT 인증)
45
-
- Spring Data JPA (Hibernate 6.x)
45
+
- Spring Security 6.x + JWT (jjwt 0.13.0)
46
+
- Spring Data JPA (Hibernate)
47
+
- Spring WebFlux (비동기 HTTP 클라이언트)
46
48
- MySQL 8.0+ / H2 (테스트)
47
-
- Redis
49
+
- Redis (이메일 인증 코드 캐싱)
50
+
- Spring Validation (입력값 검증)
48
51
```
49
52
50
53
### Frontend
51
54
```
52
-
- Next.js 15.5.3 (App Router)
53
-
- React 19.1.0
54
-
- TypeScript 5.9.2
55
-
- Tailwind CSS 4.1.13
56
-
- Context API + useReducer
55
+
- Next.js 15.0.0 (App Router)
56
+
- React 18.3.1
57
+
- TypeScript 5.6.2
58
+
- Tailwind CSS 4.1.15
59
+
- TanStack React Query 5.56.2 (서버 상태 관리)
60
+
- Zod 3.23.8 (스키마 검증)
61
+
- Framer Motion 12.23.24 (애니메이션)
62
+
- Recharts 3.3.0 (차트 시각화)
57
63
```
58
64
59
65
### External APIs
60
66
```
61
67
- GitHub REST API (저장소 메타데이터 수집)
62
-
- OpenAI API (gpt-4o-mini, 품질 평가)
68
+
- OpenAI API (gpt-5-nano, 품질 평가)
63
69
```
64
70
65
71
### Communication
66
72
```
67
73
- SSE (Server-Sent Events) - 실시간 분석 진행 상황 전달
74
+
- Backend: Spring WebFlux SseEmitter
75
+
- Frontend: @microsoft/fetch-event-source 2.0.1
68
76
- JavaMailSender (SMTP) - 이메일 인증
69
77
```
70
78
71
79
### DevOps & Tools
72
80
```
73
-
- Build: Gradle (Kotlin DSL)
81
+
- Build: Gradle 8.x (Kotlin DSL)
82
+
- Containerization: Docker
74
83
- API Docs: Springdoc OpenAPI 2.7.0 (Swagger UI)
75
84
- Version Control: Git/GitHub (GitHub Flow)
76
-
- Testing: Postman, JUnit 5
85
+
- Testing: JUnit 5, Mockito, Spring Security Test
77
86
- IDE: IntelliJ IDEA, Cursor
78
87
```
79
88
@@ -92,20 +101,55 @@
92
101
93
102
### 환경 변수 설정
94
103
95
-
`.env` 파일 생성:
104
+
#### 1. GitHub Personal Access Token 발급
105
+
1. GitHub 로그인 후 Settings → Developer settings → Personal access tokens → Tokens (classic)
0 commit comments