Skip to content

Commit 6270864

Browse files
committed
Merge branch 'main' into feat/evaluation
2 parents 9c3c203 + 0796421 commit 6270864

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2561
-277
lines changed

backend/src/main/java/com/backend/domain/analysis/controller/AnalysisController.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package com.backend.domain.analysis.controller;
22

3-
import com.backend.domain.analysis.dto.HistoryResponseDto;
3+
import com.backend.domain.analysis.dto.response.AnalysisResultResponseDto;
4+
import com.backend.domain.analysis.dto.response.HistoryResponseDto;
45
import com.backend.domain.analysis.dto.request.AnalysisRequest;
56
import com.backend.domain.analysis.entity.AnalysisResult;
67
import com.backend.domain.analysis.entity.Score;
78
import com.backend.domain.analysis.service.AnalysisService;
8-
import com.backend.domain.repository.entity.Language;
99
import com.backend.domain.repository.entity.Repositories;
10-
import com.backend.domain.repository.entity.RepositoryLanguage;
1110
import com.backend.domain.repository.service.RepositoryService;
12-
import com.backend.global.exception.BusinessException;
13-
import com.backend.global.exception.ErrorCode;
1411
import com.backend.global.response.ApiResponse;
1512
import lombok.RequiredArgsConstructor;
1613
import org.springframework.http.ResponseEntity;
@@ -34,14 +31,14 @@ public ResponseEntity<ApiResponse<Void>> analyzeRepository(@RequestBody Analysis
3431
return ResponseEntity.ok(ApiResponse.success());
3532
}
3633

37-
@GetMapping("/user/{memberId}")
34+
@GetMapping("/user/repository/{memberId}")
3835
@Transactional(readOnly = true)
3936
public ResponseEntity<List<HistoryResponseDto>> getMemberHistory(@PathVariable Long memberId){
4037
List<Repositories> repositories = repositoryService.findRepositoryByMember(memberId);
4138
List<HistoryResponseDto> historyList = new ArrayList<>();
4239

4340
for (Repositories repo : repositories) {
44-
Optional<AnalysisResult> optionalAnalysis = analysisService.findAnalysisResultByRepositoryId(repo.getId());
41+
Optional<AnalysisResult> optionalAnalysis = analysisService.findByRepositoryId(repo.getId());
4542

4643
if (optionalAnalysis.isPresent()) { // 존재하는지 확인
4744
AnalysisResult analysisResult = optionalAnalysis.get();
@@ -62,4 +59,20 @@ public ResponseEntity<List<HistoryResponseDto>> getMemberHistory(@PathVariable L
6259

6360
return ResponseEntity.ok(historyList);
6461
}
62+
63+
@GetMapping("repository/{repositoriesId}")
64+
@Transactional(readOnly = true)
65+
public ResponseEntity<List<AnalysisResultResponseDto>> getAnalysisByRepositoriesId(@PathVariable("repositoriesId") Long repoId){
66+
List<AnalysisResult> optionalResult = analysisService.getAnalysisResultList(repoId);
67+
List<AnalysisResultResponseDto> resultList = new ArrayList<>();
68+
69+
70+
for(AnalysisResult result : optionalResult){
71+
Score score = result.getScore();
72+
AnalysisResultResponseDto dto = new AnalysisResultResponseDto(result, score);
73+
resultList.add(dto);
74+
}
75+
76+
return ResponseEntity.ok(resultList);
77+
}
6578
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.backend.domain.analysis.dto.response;
2+
3+
import com.backend.domain.analysis.entity.AnalysisResult;
4+
import com.backend.domain.analysis.entity.Score;
5+
6+
public record AnalysisResultResponseDto(
7+
int totalScore,
8+
int readmeScore,
9+
int testScore,
10+
int commitScore,
11+
int cicdScore,
12+
String summery,
13+
String strengths,
14+
String improvements
15+
) {
16+
public AnalysisResultResponseDto(AnalysisResult analysisResult, Score score){
17+
this(
18+
score.getTotalScore(),
19+
score.getReadmeScore(),
20+
score.getTestScore(),
21+
score.getCommitScore(),
22+
score.getCicdScore(),
23+
analysisResult.getSummary(),
24+
analysisResult.getStrengths(),
25+
analysisResult.getImprovements()
26+
);
27+
}
28+
}

backend/src/main/java/com/backend/domain/analysis/dto/HistoryResponseDto.java renamed to backend/src/main/java/com/backend/domain/analysis/dto/response/HistoryResponseDto.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
package com.backend.domain.analysis.dto;
1+
package com.backend.domain.analysis.dto.response;
22

33
import com.backend.domain.analysis.entity.AnalysisResult;
44
import com.backend.domain.analysis.entity.Score;
55
import com.backend.domain.repository.entity.Repositories;
6-
import com.backend.domain.repository.entity.RepositoryLanguage;
76

87
import java.time.LocalDateTime;
98
import java.util.List;

backend/src/main/java/com/backend/domain/analysis/repository/AnalysisResultRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@
1010
@Repository
1111
public interface AnalysisResultRepository extends JpaRepository <AnalysisResult, Long>{
1212
Optional<AnalysisResult> findByRepositoriesId(Long repositoryId);
13+
List<AnalysisResult> findAnalysisResultByRepositoriesId(Long repositoryId);
1314
}

backend/src/main/java/com/backend/domain/analysis/service/AnalysisService.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import lombok.extern.slf4j.Slf4j;
1111
import org.springframework.stereotype.Service;
1212
import org.springframework.transaction.annotation.Transactional;
13+
14+
import java.util.List;
1315
import java.util.Optional;
1416

1517
@Slf4j
@@ -57,7 +59,12 @@ private String[] parseGitHubUrl(String githubUrl) {
5759
}
5860

5961
// AnalysisRresult에서 repository id로 분석 결과 찾기
60-
public Optional<AnalysisResult> findAnalysisResultByRepositoryId (Long RepositoryId){
62+
public Optional<AnalysisResult> findByRepositoryId(Long RepositoryId) {
6163
return analysisResultRepository.findByRepositoriesId(RepositoryId);
6264
}
65+
66+
// AnalysisResult를 list로 반환
67+
public List<AnalysisResult> getAnalysisResultList(Long RepositoryId){
68+
return analysisResultRepository.findAnalysisResultByRepositoriesId(RepositoryId);
69+
}
6370
}

front/components.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "new-york",
4+
"rsc": true,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "tailwind.config.js",
8+
"css": "src/styles/globals.css",
9+
"baseColor": "neutral",
10+
"cssVariables": true,
11+
"prefix": ""
12+
},
13+
"iconLibrary": "lucide",
14+
"aliases": {
15+
"components": "@/components",
16+
"utils": "@/lib/utils",
17+
"ui": "@/components/ui",
18+
"lib": "@/lib",
19+
"hooks": "@/hooks"
20+
},
21+
"registries": {}
22+
}

0 commit comments

Comments
 (0)