Skip to content

Commit 6bd7ac3

Browse files
JjungminLeejayn2uCopilot
authored
[Release] V2.0.0 제휴지도 배포 (#209)
* feat: 다양한 도메인 및 서비스에 대한 기능 추가 및 수정 (#170) * fix: 리뷰v2 0601 수정사항 (#171) * feat: 리뷰 좋아요, 싫어요 API 삭제 * feat: 리뷰v2 uri 직관적으로 네이밍 수정 * feat: dev, prod에서만 서버에러 슬랙 알림가게 수정 * feat: menu에 대한 리뷰리스트 조회 추가 * feat: likeCount, alias 제거 * feat: menu에 대한 리뷰 추가 * chore: 내가 쓴 리뷰 조회 user -> review로 위치 이동 * feat: /statistics/menu api 조회시 npe 나는 문제 해결 * feat: ReviewMenuRepository 원복 * feat: meal, menu 정보 조회 시 menuName / menuNames null로 나오는 문제 해결 * feat: 좋아요, 싫어요 산정 기준에 맞춰서 로직 변경 * feat: /users/reviews NPE 문제 나는 부분 예외처리 * feat: 마이페이지 좋아한 메뉴 칩 추가되게 dto, 로직 일괄 변경 * feat: 특정 메뉴 리스트 조회 로직 변경 * Merge pull request #178 from EAT-SSU/feat/add-ai-rules feat: .gitignore 및 코드컨벤션에 맞는 AI Rules 작성 * feat: 테스트 코드 구조 개선 및 OAuthService 테스트 케이스 추가 (#177) * feat: 테스트 코드 구조 개선 및 OAuthService 테스트 케이스 추가 - 기존 `OauthServiceTest` 및 Apple 관련 Mock 클래스 제거 - `OAuthServiceUnitTest` 작성으로 단위 테스트 강화 - 테스트 프로필 활성화를 위한 설정 및 application.yml 정리 - 테스트 환경(application-test.yml) 개선 - 빌드 환경 관련 build.gradle 의존성 간소화 및 필요한 테스트 의존성 추가 * feat: Tokens 클래스 리팩토링 및 OAuthService 테스트 추가 - Tokens 클래스를 record로 변경하여 간결하게 리팩토링 - OAuthService에 대한 통합 테스트 추가 - 기존 OAuthServiceUnitTest 파일 삭제 및 테스트 구조 개선 - GitHub Actions에서 테스트 환경 설정 강화 * fix: 변수를 거치지 않고 리턴하게 코드 수정 Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat: 금지된 닉네임 목록에 추가 항목 추가 (#179) * feat: Gemini 설정 및 스타일 가이드 문서 추가 (#181) * feat: Gemini 설정 및 스타일 가이드 문서 추가 * fix: 영어 문법 수정 * feat: Copilot 지침 및 주석, 테스트 코드 규칙 추가 * feat: Review 엔티티 필드 및 메서드 정리 (#180) * feat: eatssu scheme에 따른 코드 재정렬 (#185) * hotfix: 토큰 401에러 확인을 위한 토큰 시간 조정 핫픽스 * hotfix: jwt 유효시간 원복 * feat: 250626 리뷰v2수정요청사항 (#189) * feat: 리뷰 리스트 조회시 싫어요 제거 * feat: 싫어요 관련 필드 일괄 삭제 * feat: menu에 대한 리뷰에도 좋아요 기능 추가 * feat: 전체 메뉴 칩 필드 추가 * feat: my페이지 menu name 조회되게 추가 * feat: 마이페이지 전체 메뉴칩 npe 예외처리 * feat: mypage review dto 코드 포멧팅 * feat: 리뷰에 제외되는 메뉴 조회 api 개발 * feat: 단일메뉴 작성 transactional 어노테이션 추가 * feat: gemini pr 리뷰에 맞춰 수정 * feat: 제휴지도250702수정 (#192) * feat: 전체조회 API에 좋아요 수 필드 추가 * feat: 음식점 좋아요 했는지 필드 추가: * feat: PartnershipRestaurant 엔티티 추가 * feat: 식당<->단과대 n:m 매핑테이블을 Partnership으로 변경 * feat: 식당별 제휴 조회로 수정 * feat: gemini 리뷰 바탕으로 수정 * feat: 제휴 등록 로직 일괄 수정 * feat: likes 리스트 초기화 * fix: 만료 토큰 403 코드로 반환 (#193) * feat: whitelist uri는 토큰 유효성 검사 제외하게끔 변경 * feat: partnership url whitelist에서 제거 및 filter jwt 예외처리 추가 * fix: 시큐리티 필터에서도 슬랙 알림 보낼 수 있게 수정 (#195) * chore: reformat code * feat: jwt 토큰 만료 로직 개선 및 화이트 리스트 필터 로직 일괄 수정 * feat: SlackErrorNotifier로 슬랙에러 알림 클래스 통합 * feat: 슬랙알림 메시지 null 나오는 문제 수정 * chore: local 알림 메시지 삭제 * hotfix: 불필요한 로그 삭제 및 슬랙 알림 제거 * feat: .env 파일 사용 (#196) * feat: dev 슬랙봇 알림 제거 (#205) * feat: 식단 추가 api에 FACULTY enum추가 (#206) * feat: 제휴지도 250710요청사항 (#207) * feat: 개별제휴 조회 API 삭제 * feat: slack 알림 local에서도 나가는 문제 수정 * feat: 학과기입여부 API 삭제 * feat: 유저 학과조회 API에 학과가 없으면 빈문자열 return하게끔 수정 * feat: [gemini] - 슬랙 알림 에러 메시지 생성 로직 개선 * feat: [gemini] - 학과 조회 삼항연산자로 로직 개선 * fix: Java Toolchain 설정 추가 (Java 17) (#198) * fix: Java Toolchain 설정 추가 (Java 17) * fix: Java 17 소스 호환성 설정 제거 * hotfix: 토큰 재발급 시간 수정 * feat: 토큰 만료시 401로 반환하게끔 수정 --------- Co-authored-by: Jiwoong CHOI <jwchoi179@soongsil.ac.kr> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 55c977e commit 6bd7ac3

225 files changed

Lines changed: 7331 additions & 6684 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
# Copilot instructions
7+
8+
- You must respond in Korean for all answers, regardless of the input language.
9+
- Do not write any comments in code blocks, even if asked to do so.
10+
- Do not use wildcard when importing libraries
11+
- When you write reviews for pull request, specific review will very helpful for my team.
12+
- Suggest based on logical reasons.
13+
14+
## Commenting Convention
15+
16+
- Comments should be written in a single line whenever possible.
17+
- Each comment must include the author's name and the date.
18+
- Use IntelliJ's default `FIX ME` comment format.
19+
- Use this for parts of the code where there may be a potential issue but immediate exception handling is unnecessary.
20+
- Also use this for parts that are not yet finalized due to unclear business requirements.
21+
22+
## Test Code Convention
23+
24+
- Test method names must be written in **English**.
25+
- But if the codes is related to test, write the comment for "given, when, then".
26+
27+
Please follow these conventions when reviewing or suggesting changes to the code.

.gemini/config.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
have_fun: true
2+
code_review:
3+
disable: false
4+
comment_severity_threshold: MEDIUM
5+
max_review_comments: -1
6+
pull_request_opened:
7+
help: false
8+
summary: true
9+
code_review: true
10+
ignore_patterns: []

.gemini/styleguide.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
- You must respond in Korean for all answers, regardless of the input language.
2+
- Do not write any comments in code blocks, even if asked to do so.
3+
- Do not use wildcard when importing libraries
4+
- When you write reviews for pull request, specific review will very helpful for my team.
5+
- Suggest based on logical reasons.
6+
7+
- Comments should be written in a single line whenever possible.
8+
- Each comment must include the author's name and the date.
9+
- Use IntelliJ's default `FIX ME` comment format.
10+
- Use this for parts of the code where there may be a potential issue but immediate exception handling is unnecessary.
11+
- Also use this for parts that are not yet finalized due to unclear business requirements.
12+
13+
- Test method names must be written in **English**.
14+
- But if the codes is related to test, write the comment for "given, when, then".

.github/copilot-instructions.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copilot instructions
2+
3+
- You must respond in Korean for all answers, regardless of the input language.
4+
- Do not write any comments in code blocks, even if asked to do so.
5+
- Do not use wildcard when importing libraries
6+
- When you write reviews for pull request, specific review will very helpful for my team.
7+
- Suggest based on logical reasons.
8+
9+
## Commenting Convention
10+
11+
- Comments should be written in a single line whenever possible.
12+
- Each comment must include the author's name and the date.
13+
- Use IntelliJ's default `FIX ME` comment format.
14+
- Use this for parts of the code where there may be a potential issue but immediate exception handling is unnecessary.
15+
- Also use this for parts that are not yet finalized due to unclear business requirements.
16+
17+
## Test Code Convention
18+
19+
- Test method names must be written in **English**.
20+
- But if the codes is related to test, write the comment for "given, when, then".
21+
22+
Please follow these conventions when reviewing or suggesting changes to the code.

.gitignore

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,5 @@ out/
4242
### Docker Tar files ###
4343
/eat-ssu.tar
4444

45-
### SDKMAN ###
46-
.sdkmanrc
47-
48-
### Junie guideline ###
49-
.junie
50-
51-
### Cursor guideline ###
52-
eatssu-server-rule.mdc
53-
54-
### Copilot guildline ###
55-
copilot-instructions.md
45+
### env file ###
46+
.env

CLAUDE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copilot instructions
2+
3+
- You must respond in Korean for all answers, regardless of the input language.
4+
- Do not write any comments in code blocks, even if asked to do so.
5+
- Do not use wildcard when importing libraries
6+
- When you write reviews for pull request, specific review will very helpful for my team.
7+
- Suggest based on logical reasons.
8+
9+
## Commenting Convention
10+
11+
- Comments should be written in a single line whenever possible.
12+
- Each comment must include the author's name and the date.
13+
- Use IntelliJ's default `FIX ME` comment format.
14+
- Use this for parts of the code where there may be a potential issue but immediate exception handling is unnecessary.
15+
- Also use this for parts that are not yet finalized due to unclear business requirements.
16+
17+
## Test Code Convention
18+
19+
- Test method names must be written in **English**.
20+
- But if the codes is related to test, write the comment for "given, when, then".
21+
22+
Please follow these conventions when reviewing or suggesting changes to the code.

GEMINI.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copilot instructions
2+
3+
- You must respond in Korean for all answers, regardless of the input language.
4+
- Do not write any comments in code blocks, even if asked to do so.
5+
- Do not use wildcard when importing libraries
6+
- When you write reviews for pull request, specific review will very helpful for my team.
7+
- Suggest based on logical reasons.
8+
9+
## Commenting Convention
10+
11+
- Comments should be written in a single line whenever possible.
12+
- Each comment must include the author's name and the date.
13+
- Use IntelliJ's default `FIX ME` comment format.
14+
- Use this for parts of the code where there may be a potential issue but immediate exception handling is unnecessary.
15+
- Also use this for parts that are not yet finalized due to unclear business requirements.
16+
17+
## Test Code Convention
18+
19+
- Test method names must be written in **English**.
20+
- But if the codes is related to test, write the comment for "given, when, then".
21+
22+
Please follow these conventions when reviewing or suggesting changes to the code.

build.gradle

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ plugins {
44
id 'io.spring.dependency-management' version '1.1.0'
55
}
66

7+
java {
8+
toolchain {
9+
languageVersion.set(JavaLanguageVersion.of(17))
10+
}
11+
}
12+
713
group = 'ssu'
814
version = '0.0.1-SNAPSHOT'
9-
sourceCompatibility = '17'
1015

1116
bootJar {
1217
archivesBaseName = 'EatSsu'
@@ -31,49 +36,39 @@ dependencies {
3136
implementation 'org.springframework.boot:spring-boot-starter-security'
3237
implementation 'org.hibernate.validator:hibernate-validator:8.0.0.Final'
3338

34-
// Lombok
3539
annotationProcessor 'org.projectlombok:lombok'
3640
compileOnly 'org.projectlombok:lombok'
3741

3842
developmentOnly 'org.springframework.boot:spring-boot-devtools'
3943

4044
runtimeOnly 'com.mysql:mysql-connector-j'
45+
testRuntimeOnly 'com.mysql:mysql-connector-j'
4146

4247
testImplementation 'org.springframework.boot:spring-boot-starter-test'
4348
testImplementation 'org.springframework.security:spring-security-test'
4449

45-
46-
//openApi
4750
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
4851

49-
//jwt
5052
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.2'
5153
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.2'
5254
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.2'
5355

54-
//httpClient
5556
implementation 'org.apache.httpcomponents.client5:httpclient5:5.3-alpha1'
5657

57-
// Querydsl 추가
5858
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
5959
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
6060
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
6161
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
6262

63-
//S3
6463
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
6564

66-
//slack
6765
implementation("com.slack.api:bolt:1.35.0")
6866
implementation("com.slack.api:bolt-servlet:1.35.0")
6967
implementation("com.slack.api:bolt-jetty:1.35.0")
7068
implementation("org.slf4j:slf4j-simple:1.7.36")
7169

72-
73-
// Spring Actuator
7470
implementation 'org.springframework.boot:spring-boot-starter-actuator'
7571

76-
// Prometheus
7772
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
7873
}
7974

src/main/java/ssu/eatssu/EatSsuApplication.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
@SpringBootApplication
99
public class EatSsuApplication {
1010

11-
public static void main(String[] args) {
12-
SpringApplication.run(EatSsuApplication.class, args);
13-
}
11+
public static void main(String[] args) {
12+
SpringApplication.run(EatSsuApplication.class, args);
13+
}
1414

1515
}
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package ssu.eatssu.domain.admin.controller;
22

3+
import lombok.RequiredArgsConstructor;
4+
import lombok.extern.slf4j.Slf4j;
35
import org.springframework.stereotype.Controller;
46
import org.springframework.web.bind.annotation.PostMapping;
57
import org.springframework.web.bind.annotation.RequestBody;
68
import org.springframework.web.bind.annotation.RequestMapping;
79
import org.springframework.web.bind.annotation.ResponseBody;
8-
9-
import lombok.RequiredArgsConstructor;
10-
import lombok.extern.slf4j.Slf4j;
1110
import ssu.eatssu.domain.admin.dto.LoginRequest;
1211
import ssu.eatssu.domain.admin.service.AuthenticationService;
1312
import ssu.eatssu.domain.user.dto.Tokens;
@@ -19,12 +18,12 @@
1918
@RequiredArgsConstructor
2019
public class AuthenticationController {
2120

22-
private final AuthenticationService authenticationService;
21+
private final AuthenticationService authenticationService;
2322

24-
@ResponseBody
25-
@PostMapping("/login")
26-
public BaseResponse<Tokens> login(@RequestBody LoginRequest request) {
27-
return BaseResponse.success(authenticationService.login(request));
28-
}
23+
@ResponseBody
24+
@PostMapping("/login")
25+
public BaseResponse<Tokens> login(@RequestBody LoginRequest request) {
26+
return BaseResponse.success(authenticationService.login(request));
27+
}
2928

3029
}

0 commit comments

Comments
 (0)