diff --git a/README.md b/README.md
index 3d2b6af7..ca71f403 100644
--- a/README.md
+++ b/README.md
@@ -102,9 +102,11 @@
## ๐ผ๏ธ ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๋
### CI CD
+
![Backend_CICD](https://github.com/user-attachments/assets/f7db576e-5150-443c-8d2f-ab232294c296)
### System Architecture
+
![Architecture](https://github.com/user-attachments/assets/b21a697a-003e-4371-bdde-e12db6dbc1d9)
## ๐ API & ERD
@@ -615,17 +617,23 @@
## ์ปจ๋ฒค์
-> [**Commit Convention**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/Commit-%EC%BB%A8%EB%B2%A4%EC%85%98)
+> [**Commit Convention
+**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/Commit-%EC%BB%A8%EB%B2%A4%EC%85%98)
>
> [**PR Convention**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/PR-%EC%BB%A8%EB%B2%A4%EC%85%98)
>
-> [**Issue Convention**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/%EC%9D%B4%EC%8A%88-%EC%BB%A8%EB%B2%A4%EC%85%98)
+> [**Issue Convention
+**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/%EC%9D%B4%EC%8A%88-%EC%BB%A8%EB%B2%A4%EC%85%98)
+>
+> [**Coding Convention
+**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98)
>
-> [**Coding Convention**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98)
->
-> [**๋ธ๋์น ์ ๋ต**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%A0%84%EB%9E%B5)
->
-๐ก *์ปจ๋ฒค์
๊ณผ ๋ธ๋์น์ ๋ต์ [Notiion](https://quickest-asterisk-75d.notion.site/7-7-05d799c3f023443f8fb66abf97ca5965)์์๋ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค!*
+> [**๋ธ๋์น ์ ๋ต
+**](https://github.com/kakao-tech-campus-2nd-step3/Team7_BE/wiki/%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%A0%84%EB%9E%B5)
+>
+๐ก *์ปจ๋ฒค์
๊ณผ
+๋ธ๋์น์ ๋ต์ [Notiion](https://quickest-asterisk-75d.notion.site/7-7-05d799c3f023443f8fb66abf97ca5965)
+์์๋ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค!*
## ๐ ์ ์ฅ์ ์ ๋ณด
@@ -667,11 +675,11 @@
> Spring-Cloud-Starter-AWS:2.2.6.RELEASE
>
> **JWT**
->
+>
> JJWT-API:0.12.3
->
+>
> JJWT-IMPL:0.12.3
->
+>
> JJWT-JACKSON:0.12.3
>
> **SpringDoc(Swagger)**
@@ -693,6 +701,7 @@
> spring-boot-starter-data-redis
>
> spring-boot-starter-thymeleaf
+
## ๐ ๊ธฐ์ ์คํ
> **Backend**
@@ -793,6 +802,13 @@
- DB์์ ์ธํ๋ฃจ์ธ์ ์ ํ๋ธ ์ฑ๋์ ๊ฐ์ ธ์ ์๋ก ์
๋ฐ์ดํธ ๋ ์ ๋ณด ํฌ๋กค๋งํด์ ์ ๊ทํํ์์ผ๋ก ์ฃผ์์ ๋ณด๋ฅผ ์ถ์ถํฉ๋๋ค.
- Video์์ ์ฅ์์ ๋ณด๊ฐ ์ถ์ถ๋๋ฉด kakaoApi๋ฅผ ํตํด ๋งค์ฅ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ ์ธํ๋ฃจ์ธ์๋ณ๋ก ํธ๋์ญ์
์ ๋ถ๋ฆฌํด ์ฅ์์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค.
- Video์์ ์ฅ์์ ๋ณด๊ฐ ์ถ์ถ๋์ง ์์ผ๋ฉด Adminํ์ด์ง๋ฅผ ํตํด ์๋์ผ๋ก ์ฅ์ ์ ๋ณด๋ฅผ ์
๋ ฅํฉ๋๋ค.
+- ### AdminPage
+ - ๋ฐฐ๋, ์๋ฌ๋ก๊ทธ, ๊ฐ์ ํฌ๋กค๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
+ - ํํ์ด์ง์ ๋ฐฐ๋๋ฅผ ๋ฑ๋กํ๊ฑฐ๋ ์ญ์ ํ ์ ์์ต๋๋ค.
+ - ์๋ฒ ๋ด์์ ๋ฐ์ํ 500๋ฒ๋ ์๋ฌ๋ก๊ทธ์ StackTrace๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
+ - ์ค์ผ์ฅด๋ง ๋์ด์๋ ๋น๋์ค ํฌ๋กค๋ง์ ๊ฐ์ ๋ก ์คํํ ์ ์์ต๋๋ค.
+ - ์ค์ผ์ฅด๋ง ๋์ด์๋ ์กฐํ์ ํฌ๋กค๋ง์ ๊ฐ์ ๋ก ์คํํ ์ ์์ต๋๋ค.
+
## ๐ฑ ์ฌ์ฉ ์์
> ์ค์ ์ ์ ์ฌ์ฉ ํ์ด์ง ํ๋ฆ ๋ณด์ฌ์ฃผ๊ธฐ ( ์์ x )
diff --git a/prod.env b/prod.env
new file mode 100644
index 00000000..efdecbd5
--- /dev/null
+++ b/prod.env
@@ -0,0 +1,17 @@
+KAKAO_CLIENT_ID=059dc1f42bbce3a6499c8c35e806b59e
+KAKAO_CLIENT_SECRET=XhG4I7doMSAPynuSj3YeCUJfHMGflQZ7
+KAKAO_REDIRECT_URI={baseUrl}/login/oauth2/code/kakao
+
+JWT_SECRET=1234567890
+JWT_ACCESS_TOKEN_EXPIRED_TIME=300000
+JWT_REFRESH_TOKEN_EXPIRED_TIME=60
+
+YOUTUBE_API_KEY=AIzaSyCVxk43oKFnjbMacGK7m9MqPzsU5-736Ok
+KAKAO_REST_API_KEY=89fb1518340b58930403f620b14e697d
+
+DATABASE_URL=jdbc:mysql://inplace-database.cnqma68ee3ul.ap-northeast-2.rds.amazonaws.com:3306/inplace
+DATABASE_USERNAME=admin
+DATABASE_PASSWORD=tanghulu123!
+
+REDIS_DATABASE_URL=localhost
+REDIS_DATABASE_PORT=6379
\ No newline at end of file
diff --git a/src/main/java/team7/inplace/admin/crawling/application/CrawlingFacade.java b/src/main/java/team7/inplace/admin/crawling/application/CrawlingFacade.java
index 34fac4d5..1a6f1e95 100644
--- a/src/main/java/team7/inplace/admin/crawling/application/CrawlingFacade.java
+++ b/src/main/java/team7/inplace/admin/crawling/application/CrawlingFacade.java
@@ -2,6 +2,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
import team7.inplace.admin.crawling.application.dto.CrawlingInfo;
import team7.inplace.global.annotation.Facade;
import team7.inplace.place.application.command.PlacesCommand;
@@ -16,7 +17,7 @@ public class CrawlingFacade {
private final KakaoCrawlingService kakaoCrawlingService;
private final VideoFacade videoFacade;
- //TODO: ์ค์ผ์ฅด๋ง ์ถ๊ฐ ์์
+ @Scheduled(cron = "0 0 2 * * *", zone = "Asia/Seoul")
public void updateVideos() {
var crawlingInfos = youtubeCrawlingService.crawlAllVideos();
for (var crawlingInfo : crawlingInfos) {
@@ -29,7 +30,7 @@ public void updateVideos() {
}
}
- //TODO: ์ค์ผ์ฅด๋ง ์ถ๊ฐ ์์
+ @Scheduled(cron = "0 30 2 * * *", zone = "Asia/Seoul")
public void updateVideoView() {
var crawlingInfos = videoCrawlingService.crawlingVideoView();
var videoCommands = crawlingInfos.stream()
diff --git a/src/main/java/team7/inplace/global/scheduler/ScheduledExecutorConfig.java b/src/main/java/team7/inplace/global/scheduler/ScheduledExecutorConfig.java
index 097a65ca..0c4f502e 100644
--- a/src/main/java/team7/inplace/global/scheduler/ScheduledExecutorConfig.java
+++ b/src/main/java/team7/inplace/global/scheduler/ScheduledExecutorConfig.java
@@ -1,12 +1,13 @@
package team7.inplace.global.scheduler;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
@Configuration
+@EnableScheduling
public class ScheduledExecutorConfig {
@Bean