From 9055442ee22a58829dcf7c147875eece2d086d32 Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 00:18:39 +0900 Subject: [PATCH 01/11] =?UTF-8?q?[CHORE]=20deploy.yml=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0fe8727..d4105b5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -62,11 +62,6 @@ jobs: host: 3.39.139.208 # EC2 퍼블릿 IP username: ubuntu key: ${{ secrets.EC2_SSH_KEY }} - envs: | - SPRING_PROFILES_ACTIVE=prod - SPRING_DATASOURCE_PASSWORD=${{ secrets.SPRING_DATASOURCE_PASSWORD }} - JWT_SECRET=${{ secrets.JWT_SECRET }} - KAKAO_CLIENT_ID=${{ secrets.KAKAO_CLIENT_ID }} script: | cd /home/ubuntu/app chmod +x deploy.sh # 스크립트 실행 권한 부여 From e6a0928cc538279f255e1b239598487475718241 Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 15:40:49 +0900 Subject: [PATCH 02/11] =?UTF-8?q?[CHORE]=20deploy.sh=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy.sh b/deploy.sh index af7e499..b77ed16 100644 --- a/deploy.sh +++ b/deploy.sh @@ -12,4 +12,4 @@ echo ">>> build file name: $JAR_NAME" >> /home/ubuntu/app/deploy.log echo ">>> execute new jar file" >> /home/ubuntu/app/deploy.log cd /home/ubuntu/app - nohup sudo java -jar -Dspring.profiles.active=prod $BUILD_JAR > /home/ubuntu/app/application.log 2>&1 & \ No newline at end of file + nohup sudo java -jar $BUILD_JAR > /dev/null 2>&1 & \ No newline at end of file From b3f5668950ed46819fe0fe878bed1d412dc3aa74 Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 15:54:50 +0900 Subject: [PATCH 03/11] =?UTF-8?q?[CHORE]=20deploy.sh=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy.sh | 4 ++-- .../java/fitfit/global/security/config/SecurityConfig.java | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/deploy.sh b/deploy.sh index b77ed16..81fe7d7 100644 --- a/deploy.sh +++ b/deploy.sh @@ -9,7 +9,7 @@ echo ">>> build file name: $JAR_NAME" >> /home/ubuntu/app/deploy.log sudo kill -15 $PID sleep 5 fi - + echo ">>> execute new jar file" >> /home/ubuntu/app/deploy.log cd /home/ubuntu/app - nohup sudo java -jar $BUILD_JAR > /dev/null 2>&1 & \ No newline at end of file + nohup sudo java -jar -Dspring.profiles.active=prod $BUILD_JAR > /home/ubuntu/app/application.log 2>&1 & diff --git a/src/main/java/fitfit/global/security/config/SecurityConfig.java b/src/main/java/fitfit/global/security/config/SecurityConfig.java index 3067bcb..497ebd0 100644 --- a/src/main/java/fitfit/global/security/config/SecurityConfig.java +++ b/src/main/java/fitfit/global/security/config/SecurityConfig.java @@ -33,11 +33,13 @@ public SecurityFilterChain filterChain (HttpSecurity http) throws Exception { .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .authorizeHttpRequests(auth -> auth .requestMatchers( + "/swagger-ui.html", "/auth/**", "/swagger-ui/**", "/v3/api-docs/**", "/members/auth/kko", - "/auth/refresh" + "/auth/refresh", + "/**" ).permitAll() .anyRequest().authenticated() ) From 88ea1d662e6ba3b562c625bcebb58fed8ac5619f Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 15:58:32 +0900 Subject: [PATCH 04/11] =?UTF-8?q?[CHORE]=20deploy.sh=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fitfit/domain/token/filter/JwtAuthenticationFilter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java b/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java index 9440b05..8199aaf 100644 --- a/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java +++ b/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java @@ -23,11 +23,13 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { // 토큰 없이도 가능하게 private static final List WHITE_LIST = List.of( + "/swagger-ui.html", + "/auth/**", "/swagger-ui/**", "/v3/api-docs/**", - "/auth/**", "/members/auth/kko", - "/auth/refresh" + "/auth/refresh", + "/**" ); private final JwtProvider jwtProvider; From 60a537f856d119c7494f7134223d75febe8495b0 Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 16:16:53 +0900 Subject: [PATCH 05/11] =?UTF-8?q?[FEAT]=20/api=20url=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fitfit/HelloController.java | 3 ++- .../fitfit/domain/token/filter/JwtAuthenticationFilter.java | 2 +- .../java/fitfit/global/security/config/SecurityConfig.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/fitfit/HelloController.java b/src/main/java/fitfit/HelloController.java index 6eba0e7..d974e0e 100644 --- a/src/main/java/fitfit/HelloController.java +++ b/src/main/java/fitfit/HelloController.java @@ -8,9 +8,10 @@ @CrossOrigin(origins = "https://fitfit.site") public class HelloController { - @GetMapping("/hello") // 1. HTTP GET 요청을 '/hello' 경로와 매핑 + @GetMapping("api/hello") // 1. HTTP GET 요청을 '/hello' 경로와 매핑 public String getHelloMessage() { // 2. "환영합니다!" 라는 문자열을 반환 return "환영합니다!"; } } + diff --git a/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java b/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java index 8199aaf..a0cc51f 100644 --- a/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java +++ b/src/main/java/fitfit/domain/token/filter/JwtAuthenticationFilter.java @@ -29,7 +29,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { "/v3/api-docs/**", "/members/auth/kko", "/auth/refresh", - "/**" + "/api" ); private final JwtProvider jwtProvider; diff --git a/src/main/java/fitfit/global/security/config/SecurityConfig.java b/src/main/java/fitfit/global/security/config/SecurityConfig.java index 497ebd0..771beb6 100644 --- a/src/main/java/fitfit/global/security/config/SecurityConfig.java +++ b/src/main/java/fitfit/global/security/config/SecurityConfig.java @@ -39,7 +39,7 @@ public SecurityFilterChain filterChain (HttpSecurity http) throws Exception { "/v3/api-docs/**", "/members/auth/kko", "/auth/refresh", - "/**" + "/api" ).permitAll() .anyRequest().authenticated() ) From 0c8e25f5f04c2769ed4b8ade9368553fdebc1aca Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 21:55:41 +0900 Subject: [PATCH 06/11] =?UTF-8?q?[REFACTOR]=20Member=20=EC=97=94=ED=8B=B0?= =?UTF-8?q?=ED=8B=B0=20erd=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fitfit/domain/member/entity/Member.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/java/fitfit/domain/member/entity/Member.java b/src/main/java/fitfit/domain/member/entity/Member.java index c217a86..3b0a682 100644 --- a/src/main/java/fitfit/domain/member/entity/Member.java +++ b/src/main/java/fitfit/domain/member/entity/Member.java @@ -28,44 +28,39 @@ public class Member extends BaseEntity { @Column(name = "member_id") private Long id; - private String email; //카카오 가입 시 아이디(이메일) - - @Column(length = 25, nullable = false) - private String userCustomId; // 앱 자체 가입 시 아이디 - - private String password; // 앱 자체 가입 시 비밀번호 - @Column(length = 25, nullable = false) private String name; // 실제 이름 @Column(length = 25, nullable = false) private String nickname; // 앱 자체 닉네임(중복 확인 필요) + private String email; //카카오 가입 시 아이디(이메일) + + @Column(length = 255) + private String profileImgUrl; // 프로필 사진 + + @Enumerated(EnumType.STRING) + @Column(length = 10, nullable = false, updatable = false) + private Provider provider; + + @Column(length = 255, nullable = false) + private String providerId; + @Enumerated(EnumType.STRING) private Gender gender; @Column(length = 25, nullable = false) private String phoneNumber; - @Column(length = 25) + @Column(length = 25, nullable = false) private String height; - @Column(length = 25) + @Column(length = 25, nullable = false) private String weight; - @Column(length = 255) - private String profileImgUrl; // 프로필 사진 - @Column(length = 255) private String fullBodyImgUrl; // 전신 사진 - @Enumerated(EnumType.STRING) - @Column(length = 10, nullable = false, updatable = false) - private Provider provider; - - @Column(length = 255, nullable = false) - private String providerId; - private LocalDate birth; @Enumerated(EnumType.STRING) @@ -78,6 +73,10 @@ public class Member extends BaseEntity { private LocalDateTime inactiveAt; + private Integer point; + + private Integer clean_index; + public void updateNickname(String nickname) { this.nickname = nickname; } From de74f2ddb249a994ee39b94f394dd863619923e6 Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 22:38:17 +0900 Subject: [PATCH 07/11] =?UTF-8?q?[REFACTOR]=20erd=20=EA=B8=B0=EB=B0=98=20D?= =?UTF-8?q?TO=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fitfit/domain/member/converter/MemberConverter.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/fitfit/domain/member/converter/MemberConverter.java b/src/main/java/fitfit/domain/member/converter/MemberConverter.java index b67fb60..518e186 100644 --- a/src/main/java/fitfit/domain/member/converter/MemberConverter.java +++ b/src/main/java/fitfit/domain/member/converter/MemberConverter.java @@ -10,21 +10,22 @@ import fitfit.global.enums.Provider; public class MemberConverter { - private static final String DEFAULT_NICKNAME = "핏핏이"; private static final String DEFAULT_PROFILE_IMG_URL = "https://fitfit-profile-img.s3.ap-northeast-2.amazonaws.com/default_img.png"; - private static final String DEFAULT_USER_CUSTOM_ID = "temp_fitfit"; public static Member toMember (MemberDataDTO.MemberData kakaoMemberData, Provider provider) { return Member.builder() .email(kakaoMemberData.getEmail()) - .nickname(DEFAULT_NICKNAME) + .nickname("핏핏이") .name("가입 중인 사용자") .phoneNumber("임시 번호") - .userCustomId(DEFAULT_USER_CUSTOM_ID) .profileImgUrl(DEFAULT_PROFILE_IMG_URL) .provider(provider) .providerId(kakaoMemberData.getSub()) .gender(Gender.NONE) // 다시 추가 .status(MemberStatus.PENDING) + .height("임시 키") + .weight("임시 체중") + .point(0) + .clean_index(50) .build(); } From 0a8c0cf13747de69fe445c54c7f5d136bf91e152 Mon Sep 17 00:00:00 2001 From: simhyunmin Date: Fri, 14 Nov 2025 22:39:00 +0900 Subject: [PATCH 08/11] =?UTF-8?q?[REFACTOR]=20updatePreferredStyle=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fitfit/domain/member/entity/Member.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/fitfit/domain/member/entity/Member.java b/src/main/java/fitfit/domain/member/entity/Member.java index 3b0a682..abf8e55 100644 --- a/src/main/java/fitfit/domain/member/entity/Member.java +++ b/src/main/java/fitfit/domain/member/entity/Member.java @@ -68,7 +68,10 @@ public class Member extends BaseEntity { private MemberStatus status; // 회원 가입 상태 @Enumerated(EnumType.STRING) - @Column(length = 255) + @ElementCollection(fetch = FetchType.LAZY) + @CollectionTable(name = "member_preferred_style", + joinColumns = @JoinColumn(name = "member_id")) + @Column(name = "style_name", length = 25) private List