From ec0f9a3ce22d2b1996a97acfc4cb2a071cee452f Mon Sep 17 00:00:00 2001 From: Gothax Date: Sun, 8 Feb 2026 18:23:09 +0900 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20dev=20admin=20CORS=20=ED=97=88?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/ceos/backend/global/config/WebSecurityConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/ceos/backend/global/config/WebSecurityConfig.java b/src/main/java/ceos/backend/global/config/WebSecurityConfig.java index 24c09ba..250189d 100644 --- a/src/main/java/ceos/backend/global/config/WebSecurityConfig.java +++ b/src/main/java/ceos/backend/global/config/WebSecurityConfig.java @@ -193,8 +193,8 @@ private CorsConfiguration getDefaultCorsConfiguration() { "http://localhost:3000", "http://localhost:3001", // 프론트 테스트 - "dev-ceos.netlify.app", - "dev-admin-ceos.netlify.app", + "dev-ceos.netlify.app/", + "dev-admin-ceos.netlify.app/", // 프론트 운영 USER_URL, ADMIN_URL, From 18b09439953aabe7b9e27ff78e2b2805279646ff Mon Sep 17 00:00:00 2001 From: Gothax Date: Sun, 8 Feb 2026 18:24:09 +0900 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20dev=20admin=20CORS=20=ED=97=88?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/ceos/backend/global/config/WebSecurityConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/ceos/backend/global/config/WebSecurityConfig.java b/src/main/java/ceos/backend/global/config/WebSecurityConfig.java index 250189d..94f8d99 100644 --- a/src/main/java/ceos/backend/global/config/WebSecurityConfig.java +++ b/src/main/java/ceos/backend/global/config/WebSecurityConfig.java @@ -193,8 +193,8 @@ private CorsConfiguration getDefaultCorsConfiguration() { "http://localhost:3000", "http://localhost:3001", // 프론트 테스트 - "dev-ceos.netlify.app/", - "dev-admin-ceos.netlify.app/", + "https://dev-ceos.netlify.app/", + "https://dev-admin-ceos.netlify.app/", // 프론트 운영 USER_URL, ADMIN_URL, From 8dac24c94f8eabef00e23c9f5b6c601f728d9ff7 Mon Sep 17 00:00:00 2001 From: Gothax Date: Mon, 9 Feb 2026 16:05:16 +0900 Subject: [PATCH 3/6] =?UTF-8?q?chore:=20=EB=A6=AC=EC=BF=A0=EB=A5=B4?= =?UTF-8?q?=ED=8A=B8=20=EB=A9=94=EC=9D=BC=20=ED=95=98=EB=93=9C=EC=BD=94?= =?UTF-8?q?=EB=94=A9=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - generation 읽어서 context에 넣도록 수정 --- .../java/ceos/backend/infra/ses/AwsSESMailGenerator.java | 2 ++ src/main/resources/templates/component/recruitGreeting.html | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java b/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java index f1c6235..0dbde8b 100644 --- a/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java +++ b/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java @@ -135,8 +135,10 @@ public String generatePasswordMailSubject() { } public Context generateRecruitMailContext(AwsSESRecruitMail awsSESRecruitMail) { + Recruitment recruitment = recruitmentHelper.takeRecruitment(); Context context = new Context(); context.setVariable("email", EmailInfo.from(awsSESRecruitMail)); + context.setVariable("generation", recruitment.getGeneration()); return context; } diff --git a/src/main/resources/templates/component/recruitGreeting.html b/src/main/resources/templates/component/recruitGreeting.html index 9c59b15..40a4532 100644 --- a/src/main/resources/templates/component/recruitGreeting.html +++ b/src/main/resources/templates/component/recruitGreeting.html @@ -21,8 +21,8 @@ font-size: 24px; line-height: 150%; color: #3E4CF7;"> - CEOS - 22 + CEOS + 23 기 리크루팅을 시작합니다! @@ -43,7 +43,7 @@ 안녕하세요. 신촌 연합 IT 창업동아리 CEOS입니다.
- CEOS 22기 서류 지원이 시작되었습니다!

+ CEOS 23기 서류 지원이 시작되었습니다!

세오스는 기획, 디자인, 개발 역량을 겸비한 열정 있는 대학생들이 모여 창업을 경험하고 꿈을 실현할 수 있는 공간입니다.
From c61196f3280a3a1f4c6fff6410d2f455f9921313 Mon Sep 17 00:00:00 2001 From: Gothax Date: Mon, 9 Feb 2026 23:53:07 +0900 Subject: [PATCH 4/6] =?UTF-8?q?chore:=20=EC=A0=95=EA=B8=B0=EC=84=B8?= =?UTF-8?q?=EC=85=98=20=ED=8C=8C=ED=8A=B8=EB=B3=84=20=EC=84=B8=EC=85=98=20?= =?UTF-8?q?=EC=A3=BC=EC=86=8C=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/templates/component/recruit.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/component/recruit.html b/src/main/resources/templates/component/recruit.html index ab3b59b..e4ee82b 100644 --- a/src/main/resources/templates/component/recruit.html +++ b/src/main/resources/templates/component/recruit.html @@ -88,11 +88,11 @@ 수요일 오후 7시 (약 2시간 진행)
- https://rapid-coriander-7d3.notion.site/CEOS-22-24f60d5f3087804aa26dc842ecb1bf1e?source=copy_link
+ https://maddening-bottle-962.notion.site/CEOS-23-2ef11100f5bc8142bc7beef39c257872
[스터디] 파트별 요일/시간 상이
- https://rapid-coriander-7d3.notion.site/CEOS-22-24f60d5f30878030988dfcce145d13a4?source=copy_link
+ https://maddening-bottle-962.notion.site/CEOS-23-2fb11100f5bc80b99025f388207fcfe2


Date: Tue, 10 Feb 2026 00:06:58 +0900 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=EB=AA=A8=EC=A7=91=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=EC=9E=90=EB=8F=99=ED=99=94=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - #236 해결되지 않음 --- .../ceos/backend/infra/ses/AwsSESMailGenerator.java | 1 + src/main/resources/templates/component/recruit.html | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java b/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java index 0dbde8b..ab8bf2a 100644 --- a/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java +++ b/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java @@ -139,6 +139,7 @@ public Context generateRecruitMailContext(AwsSESRecruitMail awsSESRecruitMail) { Context context = new Context(); context.setVariable("email", EmailInfo.from(awsSESRecruitMail)); context.setVariable("generation", recruitment.getGeneration()); + context.setVariable("recruitment", recruitment); return context; } diff --git a/src/main/resources/templates/component/recruit.html b/src/main/resources/templates/component/recruit.html index e4ee82b..ab354f5 100644 --- a/src/main/resources/templates/component/recruit.html +++ b/src/main/resources/templates/component/recruit.html @@ -36,13 +36,15 @@ [접수기간] - 8월 20일 (수) ~ 8월 27일 (수) 24:00
+ 8월 20일 (수) ~ + 8월 27일 (수) 24:00
[서류발표] - 8월 29일 (금)
+ 8월 29일 (금)
[개별면접] - 8월 30일 (토) ~ 8월 31일 (일)
+ 8월 30일 (토) ~ + 8월 31일 (일)
[최종발표] - 9월 1일 (월)
+ 9월 1일 (월)


From 4bf82020f4d242b0248584a3cc500e11a6981b41 Mon Sep 17 00:00:00 2001 From: Gothax Date: Tue, 10 Feb 2026 00:16:55 +0900 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20=EB=AA=A8=EC=A7=91=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=ED=8F=AC=EB=A7=B7=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 한글로 표시되도록 수정 --- .../infra/ses/AwsSESMailGenerator.java | 31 +++++++++++++++---- .../templates/component/recruit.html | 12 +++---- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java b/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java index ab8bf2a..30beabd 100644 --- a/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java +++ b/src/main/java/ceos/backend/infra/ses/AwsSESMailGenerator.java @@ -16,15 +16,14 @@ import ceos.backend.global.common.entity.Part; import ceos.backend.global.util.InterviewDateTimeConvertor; import ceos.backend.global.util.ParsedDurationConvertor; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.thymeleaf.context.Context; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + @Component @RequiredArgsConstructor public class AwsSESMailGenerator { @@ -139,7 +138,8 @@ public Context generateRecruitMailContext(AwsSESRecruitMail awsSESRecruitMail) { Context context = new Context(); context.setVariable("email", EmailInfo.from(awsSESRecruitMail)); context.setVariable("generation", recruitment.getGeneration()); - context.setVariable("recruitment", recruitment); + + addRecruitDateToContext(context, recruitment); return context; } @@ -148,4 +148,23 @@ public String generateRecruitMailSubject() { Recruitment recruitment = recruitmentHelper.takeRecruitment(); return "[CEOS] 세오스 " + recruitment.getGeneration() + "기 리크루팅을 시작합니다!"; } + + private void addRecruitDateToContext(Context context, Recruitment recruitment) { + // 모집 일정 포맷팅 (한국어 요일) + DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("M월 d일 (E)", Locale.KOREAN); + DateTimeFormatter dateTimeFormatter = + DateTimeFormatter.ofPattern("M월 d일 (E) HH:mm", Locale.KOREAN); + + context.setVariable( + "startDateDoc", recruitment.getStartDateDoc().format(dateFormatter)); + context.setVariable("endDateDoc", recruitment.getEndDateDoc().format(dateTimeFormatter)); + context.setVariable( + "resultDateDoc", recruitment.getResultDateDoc().format(dateFormatter)); + context.setVariable( + "startDateInterview", recruitment.getStartDateInterview().format(dateFormatter)); + context.setVariable( + "endDateInterview", recruitment.getEndDateInterview().format(dateFormatter)); + context.setVariable( + "resultDateFinal", recruitment.getResultDateFinal().format(dateFormatter)); + } } diff --git a/src/main/resources/templates/component/recruit.html b/src/main/resources/templates/component/recruit.html index ab354f5..c4b2abe 100644 --- a/src/main/resources/templates/component/recruit.html +++ b/src/main/resources/templates/component/recruit.html @@ -36,15 +36,15 @@ [접수기간] - 8월 20일 (수) ~ - 8월 27일 (수) 24:00
+ 8월 20일 (수) ~ + 8월 27일 (수) 24:00
[서류발표] - 8월 29일 (금)
+ 8월 29일 (금)
[개별면접] - 8월 30일 (토) ~ - 8월 31일 (일)
+ 8월 30일 (토) ~ + 8월 31일 (일)
[최종발표] - 9월 1일 (월)
+ 9월 1일 (월)