diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
new file mode 100644
index 00000000..3de6ea90
--- /dev/null
+++ b/.github/workflows/gradle.yml
@@ -0,0 +1,58 @@
+# This is a basic workflow to help you get started with Actions
+
+name: CI
+
+# Controls when the workflow will run
+on:
+ # Triggers the workflow on push or pull request events but only for the "master" branch
+ push:
+ branches: [ "YoungGyo-00" ]
+ pull_request:
+ branches: [ "YoungGyo-00" ]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+
+ - name: checkout
+ uses: actions/checkout@v3
+
+ ## 버전 확인
+ - name: Set up JDK 17
+ uses: actions/setup-java@v3
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ ## gradle build
+ - name: Build with Gradle
+ run: ./gradlew bootJar
+
+ ## 웹 이미지 빌드 및 도커허브에 push
+ - name: web docker build and push
+ run: |
+ docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
+ docker build -t younggyolee/market .
+ docker push younggyolee/market
+
+ - name: executing remote ssh commands using password
+ uses: appleboy/ssh-action@master
+ with:
+ host: ${{ secrets.HOST }}
+ username: ubuntu
+ key: ${{ secrets.KEY }}
+ script: |
+
+ ## 여러분이 원하는 경로로 이동합니다.
+ cd /home/ubuntu/
+
+ ## docker-compose를 실행합니다.
+ sudo chmod 666 /var/run/docker.sock
+ sudo docker rm -f $(docker ps -qa)
+ sudo docker pull younggyolee/market
+ docker-compose -f docker-compose.yml --env-file ./.env up -d
+ docker image prune -f
\ No newline at end of file
diff --git a/market/.gitignore b/.gitignore
similarity index 100%
rename from market/.gitignore
rename to .gitignore
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b81..00000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 912d854b..00000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 933825b6..00000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index a639b9eb..00000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/spring-daagn-market-18th.iml b/.idea/spring-daagn-market-18th.iml
deleted file mode 100644
index d6ebd480..00000000
--- a/.idea/spring-daagn-market-18th.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1ddf..00000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/market/Dockerfile b/Dockerfile
similarity index 100%
rename from market/Dockerfile
rename to Dockerfile
diff --git a/market/HELP.md b/HELP.md
similarity index 100%
rename from market/HELP.md
rename to HELP.md
diff --git a/README.md b/README.md
index 218877eb..bfd50379 100644
--- a/README.md
+++ b/README.md
@@ -111,9 +111,9 @@ ResponseBody
구현하며 알았던 정보가 두가지 존재한다.
1. Entity 상에서 `User`를 저장하는 user column이 존재하는데, 이를 DTO로 값을 받을 때는 User 객체를 RequestBody에 전달할 수 없다는 것.
- - 해결 방법은 단순했다. 원하는 user의 ID 값을 전달 받은 후, Service Layer에서 `findById`로 객체를 찾아서 DTO에서 Entity로 변결할 때 저장하는 방법이다. 오랜만에 해서 헷갈려서 적어봤습니다.
+ - 해결 방법은 단순했다. 원하는 user의 ID 값을 전달 받은 후, Service Layer에서 `findById`로 객체를 찾아서 DTO에서 Entity로 변결할 때 저장하는 방법이다. 오랜만에 해서 헷갈려서 적어봤습니다.
2. ENUM값도 RequestBody에 String으로 전달할 수 있다는 점.
- - 정확한 워딩으로 작성해야 한다는 것이 문제이지만, String 형태로 Body에 전달하면 이를 DTO 상에서는 ENUM으로 받을 수 있다는 것을 알게 되었다.
+ - 정확한 워딩으로 작성해야 한다는 것이 문제이지만, String 형태로 Body에 전달하면 이를 DTO 상에서는 ENUM으로 받을 수 있다는 것을 알게 되었다.
### 모든 데이터 조회 - GET api/product
@@ -170,15 +170,15 @@ ResponseBody
## 추가 학습한 부분
1. DTO를 만들 때 정적 팩토리 메서드 명칭 컨벤션?
- - `of`는 매개변수를 2개 이상의 값을 받을 때 사용하고, `from`은 매개변수가 1개일 때 사용한다고 하는데 왜 이렇게 사용하는지 알 수는 없다. 물론 `toEntity`, `toDto`같은 명칭도 있지만 개인적으로 위와 같은 방법을 더 주로 사용한다.
+ - `of`는 매개변수를 2개 이상의 값을 받을 때 사용하고, `from`은 매개변수가 1개일 때 사용한다고 하는데 왜 이렇게 사용하는지 알 수는 없다. 물론 `toEntity`, `toDto`같은 명칭도 있지만 개인적으로 위와 같은 방법을 더 주로 사용한다.
2. 새로운 폴더 구조
- - 기본적으로 폴더 구조는 layer끼리 모아두는 방법, domain 별로 묶어두는 방법 크게 2가지가 보편적으로 사용되는 것 같다. 이번에는 새로운 방법을 도입해봤다. 서비스의 크기가 커지고, 멀티 모듈로 코드를 나눈다고 했을 때를 가정하고 mysql에 들어가는 Entity를 묶어두는 폴더, 다른 기능들은(Controller, Service, Repository) domain 별로 묶었고, 마지막으로 global 폴더를 만들었다.
- - Entity와 Repository를 한 군데에 묶어 domain 폴더에는 Controller, Service, Dto 정도만 남겨두는 구조는 어떨까 고민하고 있다. 조금 바보같은 생각일까..?
-
+ - 기본적으로 폴더 구조는 layer끼리 모아두는 방법, domain 별로 묶어두는 방법 크게 2가지가 보편적으로 사용되는 것 같다. 이번에는 새로운 방법을 도입해봤다. 서비스의 크기가 커지고, 멀티 모듈로 코드를 나눈다고 했을 때를 가정하고 mysql에 들어가는 Entity를 묶어두는 폴더, 다른 기능들은(Controller, Service, Repository) domain 별로 묶었고, 마지막으로 global 폴더를 만들었다.
+ - Entity와 Repository를 한 군데에 묶어 domain 폴더에는 Controller, Service, Dto 정도만 남겨두는 구조는 어떨까 고민하고 있다. 조금 바보같은 생각일까..?
+
3. 한가지 궁금한 점
- - 항상 고민했던 부분이지만, `ProductController`는 `ProductService`를 참고하고, Service는 Repository를 참조하도록 설계가 되어있다. 여기서 `ProductService`가 `UserRepository`를 찾고하는 방법은 뭔가 이상하지 않은가..? 유저 정보가 필요하다고 해서 `ProductRepository` 이외의 다른 `Repoistory`를 참고하는 방법이 뭔가 이래도 되나? 라는 고민이 들긴 하지만 기능 구현을 위해 일단 작성했다.
- - 여기서 궁금한 점은 한마디로 자신의 도메인이 아닌 다른 도메인의 `Repository`를 가져와서 사용해도 되는가?
- - 이것도 바보같은 고민이다..
+ - 항상 고민했던 부분이지만, `ProductController`는 `ProductService`를 참고하고, Service는 Repository를 참조하도록 설계가 되어있다. 여기서 `ProductService`가 `UserRepository`를 찾고하는 방법은 뭔가 이상하지 않은가..? 유저 정보가 필요하다고 해서 `ProductRepository` 이외의 다른 `Repoistory`를 참고하는 방법이 뭔가 이래도 되나? 라는 고민이 들긴 하지만 기능 구현을 위해 일단 작성했다.
+ - 여기서 궁금한 점은 한마디로 자신의 도메인이 아닌 다른 도메인의 `Repository`를 가져와서 사용해도 되는가?
+ - 이것도 바보같은 고민이다..
## 생성자 대신 정적 팩터리 매서드를 고려하라
@@ -190,13 +190,13 @@ ResponseBody
정적 팩터리의 장점은 다음과 같다.
1. 이름을 가질 수 있다.
- - public 생성자보다 객체의 특성을 제대로 설명
- - 한 클래스에 시그니처가 같은 생성자를 여러 개 생성 가능
+ - public 생성자보다 객체의 특성을 제대로 설명
+ - 한 클래스에 시그니처가 같은 생성자를 여러 개 생성 가능
2. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다.
- - 불변 클래스(immutable class)는 `Instance`를 재활용 -> 불필요한 객체 생성 X
- - 인스턴스 통제 가능 -> 싱글턴으로 만들 수 있고, 인스턴스화 불가로 만들 수 있음
+ - 불변 클래스(immutable class)는 `Instance`를 재활용 -> 불필요한 객체 생성 X
+ - 인스턴스 통제 가능 -> 싱글턴으로 만들 수 있고, 인스턴스화 불가로 만들 수 있음
3. 반환 타입의 하위 타입 객체를 반환할 능력이 있다.
- - 객체 생성 시, 분기 처리를 통해 하위 타입의 객체를 반환할 수 있음
+ - 객체 생성 시, 분기 처리를 통해 하위 타입의 객체를 반환할 수 있음
```
public class Grade {
...
@@ -218,7 +218,7 @@ ResponseBody
1. 상속하려면 public, protected 생성자가 필요함으로, 정적 팩터리 메서드만 제공할 시 하위 클래스를 만들 수 없다.
2. 정적 팩터리 메서드는 프로그래머가 찾기가 어렵다.
- - 생성자처럼 API설명에 명확히 들어나지 않기 때문에 인스턴스화하는 방법을 알아야 한다.
+ - 생성자처럼 API설명에 명확히 들어나지 않기 때문에 인스턴스화하는 방법을 알아야 한다.
### 매서드 시그니처
@@ -227,11 +227,11 @@ ResponseBody
```java
// 서로 다른 시그니처
void doSomething(String[] x); // doSomething(String[]) - 메서드 시그니처 예 1
-void doSomething(String x); // doSomething(String)
+ void doSomething(String x); // doSomething(String)
// 같은 시그니처
-int doSomething(int x); // doSomething(int)
-void doSomething(int y) throws Exception; // doSomething(int)
+ int doSomething(int x); // doSomething(int)
+ void doSomething(int y) throws Exception; // doSomething(int)
```
## Builder 패턴
@@ -239,8 +239,8 @@ void doSomething(int y) throws Exception; // doSomething(int)
- 점층적 생성자 패턴의 안정성 + 자바빈즈 패턴의 가독성
- **필요한 매개변수만으로 생성자를 호출**해 빌더 객체 생성
- 생성할 클래스 안에 **정적 멤버 클래스**로 만들어두는 게 일반적이다
- - **플루어트 API(fluent API)** - 물 흐르듯 연결된다는 의미
- - **메서드 연쇄(method chaining)**
+ - **플루어트 API(fluent API)** - 물 흐르듯 연결된다는 의미
+ - **메서드 연쇄(method chaining)**
```java
public class NutritionFacts {
@@ -289,8 +289,8 @@ NutritionFacts food = new NutritionFacts.Builder(240,8)
```
- **빌더 패턴은 계층적으로 설계된 클래스와 함께 쓰기에 좋다**
- - 가변인 매개변수를 여러 개 사용할 수 있다는 장점
- - 하단의 `addTopping` 메서드 참고
+ - 가변인 매개변수를 여러 개 사용할 수 있다는 장점
+ - 하단의 `addTopping` 메서드 참고
```java
// 루트 추상 클래스
@@ -521,3 +521,29 @@ docker-compose를 작동시킬 때는 도커 이미지 내의 mysql에 접근하
### 소감
도커를 통해 처음으로 웹 애플리케이션을 띄워봤는데, 자동으로 이미지를 다운로드 받고 컨테이너를 만들어서 배포해주는 과정이 편리하다는 것을 이해할 수 있었다. 물론 중간에 서버를 개발할 때 만났던 오류와 다른 디비 연결 문제를 겪어서 해결하는 과정이 익숙하지 않아서 힘들었지만 환경에 구애받지 않고 모든 곳에서 사용할 수 있다는 것이 좋은 것 같다.
+
+# 6주차 Github Action을 이용한 CI/CD
+
+## 결과 이미지
+
+### EC2 에서 docker ps 명령어를 통해 서버 띄워진 것을 확인
+
+
+
+### Github Action 정상 작동 확인
+
+![스크린샷 2023-11-25 오후 10 27 46](https://github.com/YoungGyo-00/react-HowWorthy/assets/89639470/1e378d35-f991-4b1a-acd0-1d4e753356d7)
+
+### API 테스트 확인
+
+![스크린샷 2023-11-25 오후 10 27 54](https://github.com/YoungGyo-00/react-HowWorthy/assets/89639470/0112502c-b49d-4b16-a7af-9a5c0c3e069a)
+
+## 발생했던 오류
+
+1. Repository 에 market 이라는 폴더로 모든 소스코드가 감싸져 있어서 repository에 들어오게 되면 .guthub/workflows 폴더가 존재하지 않아 git action이 적용되지 않았다. 모든 소스코드를 다시 폴더 밖으로 위치를 옮겨 해결하는 과정에서 gradle-wrapper.jar 파일이 존재하지 않아 build가 되지 않았으며, spring-initializer를 통해 새로운 프로젝트를 생성한 후 복사 붙여넣기로 해결하였다.
+
+2. env.yml 파일이 깃허브에 올라가지 않아 secret 값을 넣어주지 못 해 서버가 정상적으로 작동하지 않는 에러가 발생했었다. docker-compose.yml 파일을 깃 액션에서 생성하는 코드를 삭제한 후, 직접 ec2 에서 파일에 환경변수 값들을 저장해서 진행했다.
+
+### 소감
+
+깃 액션을 사용해보면서 처음에는 환경변수 설정에 많은 오류를 겪었지만, 구현하고 보니 CI/CD가 매번 서버를 수정해야 하는 번거로움을 줄일 수 있다는 것을 보고 개발하기 너무 간편하고 좋은 것 같다.
diff --git a/market/build.gradle b/build.gradle
similarity index 100%
rename from market/build.gradle
rename to build.gradle
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 00000000..7ff7872e
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,27 @@
+version: "3"
+
+services:
+# db:
+# container_name: db
+# image: mysql:latest
+# environment:
+# MYSQL_ROOT_PASSWORD: 12345678
+# MYSQL_DATABASE: ceos18
+# volumes:
+# - dbdata:/var/lib/mysql
+# ports:
+# - "3306:3306"
+# restart: always
+
+ web:
+ container_name: web
+ image: younggyolee/market
+ ports:
+ - "8080:8080"
+ restart: always
+ volumes:
+ - .:/app
+
+volumes:
+ app:
+ dbdata:
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..7f93135c
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/market/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
similarity index 93%
rename from market/gradle/wrapper/gradle-wrapper.properties
rename to gradle/wrapper/gradle-wrapper.properties
index 9f4197d5..3fa8f862 100644
--- a/market/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/market/gradlew b/gradlew
similarity index 92%
rename from market/gradlew
rename to gradlew
index fcb6fca1..1aa94a42 100755
--- a/market/gradlew
+++ b/gradlew
@@ -83,7 +83,8 @@ done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
-APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC3045
+ # shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
@@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC3045
+ # shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -201,11 +202,11 @@ fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-# Collect all arguments for the java command;
-# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
-# shell script including quotes and variable substitutions, so put them in
-# double quotes to make sure that they get re-expanded; and
-# * put everything else in single quotes, so that it's not re-expanded.
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
diff --git a/market/gradlew.bat b/gradlew.bat
similarity index 100%
rename from market/gradlew.bat
rename to gradlew.bat
diff --git a/market/docker-compose.yml b/market/docker-compose.yml
deleted file mode 100644
index 7c70f286..00000000
--- a/market/docker-compose.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-version: "3"
-
-services:
- db:
- container_name: db
- image: mysql:latest
- environment:
- MYSQL_ROOT_PASSWORD: 12345678
- MYSQL_DATABASE: ceos18
- volumes:
- - dbdata:/var/lib/mysql
- ports:
- - "3306:3306"
- restart: always
-
- web:
- container_name: web
- build: .
- ports:
- - "8080:8080"
- depends_on:
- - db
- environment:
- mysql_host: db
- restart: always
- volumes:
- - .:/app
-
-volumes:
- app:
- dbdata:
\ No newline at end of file
diff --git a/market/settings.gradle b/settings.gradle
similarity index 100%
rename from market/settings.gradle
rename to settings.gradle
diff --git a/market/src/main/java/com/ceos18/market/MarketApplication.java b/src/main/java/com/ceos18/market/MarketApplication.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/MarketApplication.java
rename to src/main/java/com/ceos18/market/MarketApplication.java
diff --git a/market/src/main/java/com/ceos18/market/database/Chat.java b/src/main/java/com/ceos18/market/database/Chat.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/Chat.java
rename to src/main/java/com/ceos18/market/database/Chat.java
diff --git a/market/src/main/java/com/ceos18/market/database/ChatMessage.java b/src/main/java/com/ceos18/market/database/ChatMessage.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/ChatMessage.java
rename to src/main/java/com/ceos18/market/database/ChatMessage.java
diff --git a/market/src/main/java/com/ceos18/market/database/Product.java b/src/main/java/com/ceos18/market/database/Product.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/Product.java
rename to src/main/java/com/ceos18/market/database/Product.java
diff --git a/market/src/main/java/com/ceos18/market/database/ProductImage.java b/src/main/java/com/ceos18/market/database/ProductImage.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/ProductImage.java
rename to src/main/java/com/ceos18/market/database/ProductImage.java
diff --git a/market/src/main/java/com/ceos18/market/database/RefreshToken.java b/src/main/java/com/ceos18/market/database/RefreshToken.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/RefreshToken.java
rename to src/main/java/com/ceos18/market/database/RefreshToken.java
diff --git a/market/src/main/java/com/ceos18/market/database/Review.java b/src/main/java/com/ceos18/market/database/Review.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/Review.java
rename to src/main/java/com/ceos18/market/database/Review.java
diff --git a/market/src/main/java/com/ceos18/market/database/User.java b/src/main/java/com/ceos18/market/database/User.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/User.java
rename to src/main/java/com/ceos18/market/database/User.java
diff --git a/market/src/main/java/com/ceos18/market/database/base/BaseTimeEntity.java b/src/main/java/com/ceos18/market/database/base/BaseTimeEntity.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/base/BaseTimeEntity.java
rename to src/main/java/com/ceos18/market/database/base/BaseTimeEntity.java
diff --git a/market/src/main/java/com/ceos18/market/database/enums/ClothesSize.java b/src/main/java/com/ceos18/market/database/enums/ClothesSize.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/enums/ClothesSize.java
rename to src/main/java/com/ceos18/market/database/enums/ClothesSize.java
diff --git a/market/src/main/java/com/ceos18/market/database/enums/ReviewStatus.java b/src/main/java/com/ceos18/market/database/enums/ReviewStatus.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/enums/ReviewStatus.java
rename to src/main/java/com/ceos18/market/database/enums/ReviewStatus.java
diff --git a/market/src/main/java/com/ceos18/market/database/enums/Role.java b/src/main/java/com/ceos18/market/database/enums/Role.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/enums/Role.java
rename to src/main/java/com/ceos18/market/database/enums/Role.java
diff --git a/market/src/main/java/com/ceos18/market/database/enums/StatusCode.java b/src/main/java/com/ceos18/market/database/enums/StatusCode.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/enums/StatusCode.java
rename to src/main/java/com/ceos18/market/database/enums/StatusCode.java
diff --git a/market/src/main/java/com/ceos18/market/database/enums/TradingCode.java b/src/main/java/com/ceos18/market/database/enums/TradingCode.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/enums/TradingCode.java
rename to src/main/java/com/ceos18/market/database/enums/TradingCode.java
diff --git a/market/src/main/java/com/ceos18/market/database/enums/TradingStatus.java b/src/main/java/com/ceos18/market/database/enums/TradingStatus.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/database/enums/TradingStatus.java
rename to src/main/java/com/ceos18/market/database/enums/TradingStatus.java
diff --git a/market/src/main/java/com/ceos18/market/domain/ChatMessageRepository.java b/src/main/java/com/ceos18/market/domain/ChatMessageRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/ChatMessageRepository.java
rename to src/main/java/com/ceos18/market/domain/ChatMessageRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/ChatRepository.java b/src/main/java/com/ceos18/market/domain/ChatRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/ChatRepository.java
rename to src/main/java/com/ceos18/market/domain/ChatRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/ProductImageRepository.java b/src/main/java/com/ceos18/market/domain/ProductImageRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/ProductImageRepository.java
rename to src/main/java/com/ceos18/market/domain/ProductImageRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/ReviewRepository.java b/src/main/java/com/ceos18/market/domain/ReviewRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/ReviewRepository.java
rename to src/main/java/com/ceos18/market/domain/ReviewRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/auth/AuthController.java b/src/main/java/com/ceos18/market/domain/auth/AuthController.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/auth/AuthController.java
rename to src/main/java/com/ceos18/market/domain/auth/AuthController.java
diff --git a/market/src/main/java/com/ceos18/market/domain/auth/AuthService.java b/src/main/java/com/ceos18/market/domain/auth/AuthService.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/auth/AuthService.java
rename to src/main/java/com/ceos18/market/domain/auth/AuthService.java
diff --git a/market/src/main/java/com/ceos18/market/domain/auth/RefreshTokenRepository.java b/src/main/java/com/ceos18/market/domain/auth/RefreshTokenRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/auth/RefreshTokenRepository.java
rename to src/main/java/com/ceos18/market/domain/auth/RefreshTokenRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/auth/UserRepository.java b/src/main/java/com/ceos18/market/domain/auth/UserRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/auth/UserRepository.java
rename to src/main/java/com/ceos18/market/domain/auth/UserRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/auth/dto/AuthRequestDto.java b/src/main/java/com/ceos18/market/domain/auth/dto/AuthRequestDto.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/auth/dto/AuthRequestDto.java
rename to src/main/java/com/ceos18/market/domain/auth/dto/AuthRequestDto.java
diff --git a/market/src/main/java/com/ceos18/market/domain/auth/dto/SigninRequestDto.java b/src/main/java/com/ceos18/market/domain/auth/dto/SigninRequestDto.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/auth/dto/SigninRequestDto.java
rename to src/main/java/com/ceos18/market/domain/auth/dto/SigninRequestDto.java
diff --git a/market/src/main/java/com/ceos18/market/domain/product/ProductController.java b/src/main/java/com/ceos18/market/domain/product/ProductController.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/product/ProductController.java
rename to src/main/java/com/ceos18/market/domain/product/ProductController.java
diff --git a/market/src/main/java/com/ceos18/market/domain/product/ProductRepository.java b/src/main/java/com/ceos18/market/domain/product/ProductRepository.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/product/ProductRepository.java
rename to src/main/java/com/ceos18/market/domain/product/ProductRepository.java
diff --git a/market/src/main/java/com/ceos18/market/domain/product/ProductService.java b/src/main/java/com/ceos18/market/domain/product/ProductService.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/product/ProductService.java
rename to src/main/java/com/ceos18/market/domain/product/ProductService.java
diff --git a/market/src/main/java/com/ceos18/market/domain/product/dto/ProductRequest.java b/src/main/java/com/ceos18/market/domain/product/dto/ProductRequest.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/product/dto/ProductRequest.java
rename to src/main/java/com/ceos18/market/domain/product/dto/ProductRequest.java
diff --git a/market/src/main/java/com/ceos18/market/domain/product/dto/ProductResponse.java b/src/main/java/com/ceos18/market/domain/product/dto/ProductResponse.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/product/dto/ProductResponse.java
rename to src/main/java/com/ceos18/market/domain/product/dto/ProductResponse.java
diff --git a/market/src/main/java/com/ceos18/market/domain/product/exception/ProductNotFoundException.java b/src/main/java/com/ceos18/market/domain/product/exception/ProductNotFoundException.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/domain/product/exception/ProductNotFoundException.java
rename to src/main/java/com/ceos18/market/domain/product/exception/ProductNotFoundException.java
diff --git a/market/src/main/java/com/ceos18/market/global/config/CorsConfig.java b/src/main/java/com/ceos18/market/global/config/CorsConfig.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/config/CorsConfig.java
rename to src/main/java/com/ceos18/market/global/config/CorsConfig.java
diff --git a/market/src/main/java/com/ceos18/market/global/config/WebSecurityConfig.java b/src/main/java/com/ceos18/market/global/config/WebSecurityConfig.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/config/WebSecurityConfig.java
rename to src/main/java/com/ceos18/market/global/config/WebSecurityConfig.java
diff --git a/market/src/main/java/com/ceos18/market/global/exception/GlobalExceptionHandler.java b/src/main/java/com/ceos18/market/global/exception/GlobalExceptionHandler.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/exception/GlobalExceptionHandler.java
rename to src/main/java/com/ceos18/market/global/exception/GlobalExceptionHandler.java
diff --git a/market/src/main/java/com/ceos18/market/global/exception/dto/ErrorResponse.java b/src/main/java/com/ceos18/market/global/exception/dto/ErrorResponse.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/exception/dto/ErrorResponse.java
rename to src/main/java/com/ceos18/market/global/exception/dto/ErrorResponse.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/CustomUserDetails.java b/src/main/java/com/ceos18/market/global/jwt/CustomUserDetails.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/CustomUserDetails.java
rename to src/main/java/com/ceos18/market/global/jwt/CustomUserDetails.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/JpaUserDetailsService.java b/src/main/java/com/ceos18/market/global/jwt/JpaUserDetailsService.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/JpaUserDetailsService.java
rename to src/main/java/com/ceos18/market/global/jwt/JpaUserDetailsService.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/JwtAuthenticationFilter.java b/src/main/java/com/ceos18/market/global/jwt/JwtAuthenticationFilter.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/JwtAuthenticationFilter.java
rename to src/main/java/com/ceos18/market/global/jwt/JwtAuthenticationFilter.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/JwtExceptionHandlerFilter.java b/src/main/java/com/ceos18/market/global/jwt/JwtExceptionHandlerFilter.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/JwtExceptionHandlerFilter.java
rename to src/main/java/com/ceos18/market/global/jwt/JwtExceptionHandlerFilter.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/TokenProvider.java b/src/main/java/com/ceos18/market/global/jwt/TokenProvider.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/TokenProvider.java
rename to src/main/java/com/ceos18/market/global/jwt/TokenProvider.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/dto/JwtErrorResponse.java b/src/main/java/com/ceos18/market/global/jwt/dto/JwtErrorResponse.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/dto/JwtErrorResponse.java
rename to src/main/java/com/ceos18/market/global/jwt/dto/JwtErrorResponse.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/dto/TokenDto.java b/src/main/java/com/ceos18/market/global/jwt/dto/TokenDto.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/dto/TokenDto.java
rename to src/main/java/com/ceos18/market/global/jwt/dto/TokenDto.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/exception/JwtAccessDeniedHandler.java b/src/main/java/com/ceos18/market/global/jwt/exception/JwtAccessDeniedHandler.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/exception/JwtAccessDeniedHandler.java
rename to src/main/java/com/ceos18/market/global/jwt/exception/JwtAccessDeniedHandler.java
diff --git a/market/src/main/java/com/ceos18/market/global/jwt/exception/JwtAuthenticationEntryPoint.java b/src/main/java/com/ceos18/market/global/jwt/exception/JwtAuthenticationEntryPoint.java
similarity index 100%
rename from market/src/main/java/com/ceos18/market/global/jwt/exception/JwtAuthenticationEntryPoint.java
rename to src/main/java/com/ceos18/market/global/jwt/exception/JwtAuthenticationEntryPoint.java
diff --git a/market/src/main/resources/application.yml b/src/main/resources/application.yml
similarity index 79%
rename from market/src/main/resources/application.yml
rename to src/main/resources/application.yml
index b0bcb60f..3dab0c28 100644
--- a/market/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,11 +1,9 @@
spring:
- config:
- import: env.yml
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://db:3306/ceos18
- username: root
- password: 12345678
+ url: ${DB_URL}
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
jpa:
database: mysql
database-platform: org.hibernate.dialect.MySQL8Dialect
diff --git a/market/src/test/java/com/ceos18/market/MarketApplicationTests.java b/src/test/java/com/ceos18/market/MarketApplicationTests.java
similarity index 100%
rename from market/src/test/java/com/ceos18/market/MarketApplicationTests.java
rename to src/test/java/com/ceos18/market/MarketApplicationTests.java