Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

34기 출석 점수 연산 방식 변경 사항 반영 #248

Merged
merged 163 commits into from
Mar 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
9484e65
[REFACTOR] DTO 리팩토링
thguss Jan 18, 2024
2275e9e
[REFACTOR] 리팩토링
thguss Jan 18, 2024
d556cb0
[TEST] 세션(web) 컨트롤러 테스트
thguss Jan 18, 2024
91700e1
[REFACTOR] 세션 생성 리팩토링
thguss Jan 18, 2024
de15bd5
[REFACTOR] 세션 생성 리팩토링
thguss Jan 18, 2024
f4df063
[REFACTOR] Value 값 한 클래스 내에서 관리
thguss Jan 19, 2024
1f21149
[REFACTOR] 한 줄 띄우고 시작
thguss Jan 19, 2024
bbe6a42
[TEST] 세션 컨트롤러 테스트
thguss Jan 19, 2024
45692df
[TEST] 세션 컨트롤러 테스트
thguss Jan 19, 2024
12ad5e5
[REFACTOR] 세션 목록 조회 리팩토링
thguss Jan 19, 2024
49e7558
[TEST] 세션 목록 조회 테스트
thguss Jan 19, 2024
f58055c
[TEST] 세션 단건 조회 테스트
thguss Jan 19, 2024
75abd95
[REFACTOR] 출석 시작 메소드 리팩토링
thguss Jan 19, 2024
eb6b1ea
[TEST] 출석 시작 테스트
thguss Jan 19, 2024
7bca58b
[REFACTOR] 세션 종료 리팩토링
thguss Jan 19, 2024
39e5a52
[TEST] 세션 종료 테스트
thguss Jan 19, 2024
4a99d3f
[REFACTOR] 세션 관련 리팩토링
thguss Jan 19, 2024
52013ce
[REFACTOR] 출석 차수 조회 리팩토링
thguss Jan 19, 2024
cb9f465
[CHORE] 리뷰 반영
thguss Jan 23, 2024
51bb92c
Merge pull request #219 from sopt-makers/sohyeon_#186
thguss Jan 23, 2024
6484f3f
[CHORE] 패키지 리팩토링
thguss Jan 23, 2024
4136728
[CHORE] 패키지 이동 반영
thguss Jan 23, 2024
92cc375
[FIX] Swagger Profile에 따라 권한 분기 처리
thguss Jan 23, 2024
3fe8ee0
[REFACTOR] 코드 리팩토링
thguss Jan 24, 2024
3311d92
[CHORE] 코드 컨벤션
thguss Jan 24, 2024
8fa4d45
[FIX] error, info 로그 저장 디렉토리 복구 #255
dragontaek-lee Jan 24, 2024
b2982fe
[CHORE] 리뷰 반영
thguss Jan 24, 2024
e3282c8
Merge pull request #222 from sopt-makers/sohyeon_#221
thguss Jan 24, 2024
44cd59c
Merge branch 'develop' into sohyeon_#223
thguss Jan 24, 2024
72ceda6
Merge pull request #224 from sopt-makers/sohyeon_#223
thguss Jan 24, 2024
511d96c
[DELETE] 미사용 API 삭제
thguss Jan 30, 2024
2df6de0
[FIX] 내부 클래스화
thguss Jan 30, 2024
7051973
[REFACTOR] request, response 분리
thguss Jan 30, 2024
da232a8
[REFACTOR] Attendance 서비스 분리
thguss Jan 30, 2024
af18ebb
[REFACTOR] Lecture 서비스 분리
thguss Jan 30, 2024
5987348
[REFACTOR] Admin 서비스 분리
thguss Jan 30, 2024
6c41f37
[REFACTOR] Alarm 서비스 분리
thguss Jan 30, 2024
3f09ae6
[REFACTOR] Member 서비스 분리
thguss Jan 30, 2024
2612198
[REFACTOR] Schedule 서비스 분리
thguss Jan 30, 2024
9335f5f
[FIX] 클래스명 수정: ApiResponse 이름 중복 (스웨거)
thguss Jan 30, 2024
fc0e2cc
[REFACTOR] 분리 1차..
thguss Feb 1, 2024
0276f9d
[REFACTOR] 패키지 분리
thguss Feb 1, 2024
e33844e
[ADD] 매핑 추가
thguss Feb 1, 2024
01b4efa
[FIX] 공통된 기능 추출
thguss Feb 1, 2024
687b86f
[ADD] NonNull 추가
thguss Feb 1, 2024
8445911
[ADD] NonNull 추가
thguss Feb 1, 2024
1b1dfd8
[REFACTOR] operation-api 모듈 분리 : 앱
thguss Feb 1, 2024
16b3ec1
[FIX] 2차 분리
thguss Feb 1, 2024
04abd3b
[FIX] 2.5차 분리
thguss Feb 1, 2024
ef98860
[FIX] 3차 분리 (api 모듈 분리)
thguss Feb 2, 2024
2e42338
Merge pull request #230 from sopt-makers/sohyeon_#229
thguss Feb 4, 2024
e581301
[FEAT] dependencies 추가
dragontaek-lee Feb 4, 2024
d3f1cf2
[FEAT] auth 모듈 분리
dragontaek-lee Feb 4, 2024
40cc379
Merge branch 'refactor_#229' into refactor_#231
dragontaek-lee Feb 4, 2024
67e29ef
Merge pull request #232 from sopt-makers/refactor_#231
dragontaek-lee Feb 4, 2024
65f48ea
[FIX] QueryDSL 적용
thguss Feb 4, 2024
58e754a
[REFACTOR] 용택 소현 모듈 설계 열혈논의,,
thguss Feb 4, 2024
d2ed0c9
[FIX] 리팩토링 반영
thguss Feb 4, 2024
65b4bb0
[ADD] FailureCode 추가
thguss Feb 4, 2024
7e37d18
[CHORE] gradle 설정
thguss Feb 4, 2024
430758c
[ADD] failureCode 추가
thguss Feb 4, 2024
9bb5b86
[ADD] 예외 커스텀 추가
thguss Feb 4, 2024
4c2652f
[DELETE] 클래스 정리
thguss Feb 4, 2024
9301e9d
[REFACTOR] 알림 전송 기능 리팩토링
thguss Feb 4, 2024
c612c21
[FIX] 예외 커스텀 적용
thguss Feb 4, 2024
f3f4871
[DELETE] 오타 삭제
thguss Feb 4, 2024
3e12d51
[DELETE] 메소드 정리
thguss Feb 4, 2024
da4df4c
[FIX] 커스텀 예외 적용
thguss Feb 4, 2024
ec41d2c
[REFACTOR] 알림 생성 기능 리팩토링
thguss Feb 5, 2024
862ac49
[REFACTOR] 알림 리스트 조회 기능 리팩토링
thguss Feb 5, 2024
c1d35a1
[REFACTOR] 알림 단건조회 기능 리팩토링
thguss Feb 5, 2024
2ac752c
[REFACTOR] 알림 삭제 기능 리팩토링
thguss Feb 5, 2024
40557b8
[DELETE] 클래스 정리
thguss Feb 5, 2024
e355789
[DELETE] 클래스 정리
thguss Feb 5, 2024
fc86893
[DELETE] 클래스 정리
thguss Feb 5, 2024
0eadf51
[FIX] Success Code 반영
thguss Feb 5, 2024
05353ef
[FIX] Success Code 반영
thguss Feb 5, 2024
e6caa79
[REFACTOR] DTO 클래스 정리
thguss Feb 5, 2024
e4ea96d
[DELETE] 클래스 정리
thguss Feb 5, 2024
049da3b
[FIX] DTO 클래스 정리
thguss Feb 5, 2024
e29aa39
[REFACTOR] 서브 출석 정보 업데이트 기능 리팩토링
thguss Feb 5, 2024
e901f42
[REFACTOR] 회원 출석 리스트 조회 기능 리팩토링
thguss Feb 5, 2024
f7ee84c
[REFACTOR] 회원 전체 출석 점수 계산 및 업데이트 기능 리팩토링
thguss Feb 5, 2024
ca09311
[REFACTOR] 세션별 출석 리스트 조회 기능 리팩토링
thguss Feb 5, 2024
93bead0
[REFACTOR] Lecture 컨트롤러 리팩토링
thguss Feb 6, 2024
bd1b534
[REFACTOR] Lecture 서비스 리팩토링
thguss Feb 6, 2024
a9a9fb0
[REFACTOR] Member 리팩토링
thguss Feb 6, 2024
7a09850
[REFACTOR] Member 리팩토링
thguss Feb 6, 2024
a9b8c0d
[REFACTOR] Schedule 리팩토링
thguss Feb 6, 2024
f7fb729
[REFACTOR] 리팩토링
thguss Feb 6, 2024
c60e184
[REFACTOR] 리팩토링
thguss Feb 6, 2024
0bae65e
[REFACTOR] 리팩토링
thguss Feb 6, 2024
33a3402
[FEAT] 도메인별 failureCode 추가
dragontaek-lee Feb 9, 2024
5f76747
[FEAT] 도메인별 SucessCode 추가
dragontaek-lee Feb 9, 2024
179aaf3
[FEAT] web admin api 추가
dragontaek-lee Feb 9, 2024
6ebbd6b
[FEAT] app attendance api 추가
dragontaek-lee Feb 9, 2024
0634c02
[FEAT] app lecture api 추가
dragontaek-lee Feb 9, 2024
a1da08b
[FEAT] app member api 추가
dragontaek-lee Feb 9, 2024
ed8b8f8
[FIX] app attendance 불필요한 dto 정리
dragontaek-lee Feb 9, 2024
3f1071e
Merge pull request #235 from sopt-makers/refactor_#234
thguss Feb 10, 2024
c7e7ff7
[CHORE] 병합
thguss Feb 10, 2024
f8c2472
Merge pull request #236 from sopt-makers/sohyeon_#229
thguss Feb 10, 2024
0f6e879
[CHORE] 패키지 이동 반영
thguss Feb 10, 2024
28835d6
[CHORE] bootjar false 세팅
thguss Feb 10, 2024
8e3223d
[CHORE] 2차 리팩토링
thguss Feb 10, 2024
6baa62b
[FIX] 스웨거 변경
thguss Feb 10, 2024
e4df272
[ADD] test 경로 추가
thguss Feb 10, 2024
0c48241
[FEAT] queryDsl generated ignore 추가
dragontaek-lee Feb 10, 2024
a60123a
[FIX] 리프레시 에러 메세지 수정
dragontaek-lee Feb 10, 2024
516329c
[FEAT] 토큰 에러 메세지 추가
dragontaek-lee Feb 10, 2024
6874fed
[FIX] 리프레시 에러 메세지 변경 적용
dragontaek-lee Feb 10, 2024
c9c0cd1
[FIX] 커스텀 jwt filter 적용
dragontaek-lee Feb 10, 2024
ea16d01
[FIX] swagger config 수정
dragontaek-lee Feb 10, 2024
2b7e00c
[FIX] swagger 제목,설명 수정
dragontaek-lee Feb 10, 2024
7180daa
Merge pull request #237 from sopt-makers/refactor_#229
thguss Feb 12, 2024
f103a0f
[FIX] 설정 파일 경로 수정
thguss Feb 12, 2024
868becb
[ADD] jar 옵션 추가
thguss Feb 12, 2024
5f9bec3
[REFACTOR] api 모듈 리팩토링 (web(admin-x), app-schedule)
thguss Feb 15, 2024
c15cf7b
[REFACTOR] repository 이동
thguss Feb 15, 2024
e9fd01a
[REFACTOR] domain 모듈 리팩토링
thguss Feb 15, 2024
a467f24
[REFATOR] attendance 리팩토링
dragontaek-lee Feb 15, 2024
492ef6d
[REFATOR] member 리팩토링
dragontaek-lee Feb 15, 2024
3f3e9fc
[REFATOR] 불필요한 DTO 제거, member DTO 이동
dragontaek-lee Feb 15, 2024
2452b71
[REFATOR] 당일 출석 정보 누락된 로직 추가
dragontaek-lee Feb 15, 2024
6719fa4
[ADD] NonNull 추가
thguss Feb 15, 2024
6cc1af0
Merge pull request #240 from sopt-makers/sohyeon_#239
thguss Feb 15, 2024
9d03d55
[FIX] 코드리뷰 반영: 원시타입, PRIVATE 옵션 추가
dragontaek-lee Feb 15, 2024
dca3eda
[REFACTOR] 출석 중 결석 판별 메소드화
dragontaek-lee Feb 15, 2024
223b4ff
Merge pull request #241 from sopt-makers/yongtaek_#238
dragontaek-lee Feb 15, 2024
292ef02
Merge pull request #228 from sopt-makers/sohyeon_#227
thguss Feb 15, 2024
b821922
[FIX] 테스트 경로 추가
thguss Feb 15, 2024
b8ed04a
Merge pull request #242 from sopt-makers/sohyeon_#227
thguss Feb 15, 2024
8318ebb
[FIX] 경로 변경
thguss Feb 15, 2024
e06d45c
[REFACTOR] 단일 세미나 상태 조회 반환 값 리팩토링
dragontaek-lee Feb 17, 2024
a2ee522
[FIX] 코드 검증 로직 오류 수정
dragontaek-lee Feb 18, 2024
f9ad834
[FIX] 세션 종료 예외처리 수정
thguss Feb 18, 2024
120c946
[FIX] 회원가입 비밀번호 암호화 누락 수정
dragontaek-lee Feb 18, 2024
8ea47c1
[FIX] JPA 메소드 변경
thguss Feb 18, 2024
4ee19c5
[REFACTOR] 리프레시 엑세스만 갱신하도록 로직 수정
dragontaek-lee Feb 18, 2024
1e57f5c
[REFACTOR] builder access static하게 변경
dragontaek-lee Feb 18, 2024
743621e
[FIX] admin builder 복구
dragontaek-lee Feb 18, 2024
36352f4
[FIX] 기수별 해커톤 시간, 세션 개수 상수화
dragontaek-lee Feb 18, 2024
618db4d
[REFACTOR] subLecture 출석 진행 시간 판별 로직 사용
dragontaek-lee Feb 18, 2024
535d2eb
Merge pull request #244 from sopt-makers/sohyeon_#243
thguss Feb 18, 2024
6a4c050
Update README.md
thguss Feb 28, 2024
efb8b48
Merge pull request #246 from sopt-makers/thguss-patch-1
thguss Feb 28, 2024
71840f2
[FEAT] admin 암호 체크 용도 의존성 추가
dragontaek-lee Feb 28, 2024
ad1063b
[FEAT] 어드민 암호 체크 메소드 admin entity로 이관
dragontaek-lee Feb 28, 2024
b100117
[FIX] 솝커톤 세션 판별 메소드 분리
dragontaek-lee Feb 28, 2024
5e83778
[FIX] 현재 출석 정보 response 관련 메소드 DTO로 이관
dragontaek-lee Feb 28, 2024
6d2ec1e
[FIX] 리프레시 토큰 response DTO 컨벤션에 맞게 수정
dragontaek-lee Feb 28, 2024
2e6ec36
[FIX] 원시타입 변경
dragontaek-lee Feb 28, 2024
887ddf4
[FIX] 변수명 명료하게 변경
dragontaek-lee Feb 28, 2024
2c54d03
[FIX] 토큰 유효성 오류 텍스트 수정
dragontaek-lee Feb 28, 2024
6062c5b
Merge branch 'develop' into yongtaek/#225
dragontaek-lee Feb 28, 2024
df55d68
Merge pull request #226 from sopt-makers/yongtaek/#225
dragontaek-lee Feb 28, 2024
3a1f85f
Merge pull request #245 from sopt-makers/yongtaek_#238
dragontaek-lee Feb 28, 2024
1ac3e6b
[FIX] 추가된 어드민 도메인 반영
dragontaek-lee Mar 28, 2024
3ddfa71
HOT FIX() : 34기 출석 점수 연산 방식 수정 반영
yummygyudon Mar 29, 2024
57d0ef3
CHORE(`Attendance`) : 불필요한 주석 삭제
yummygyudon Mar 29, 2024
ccbedc1
Merge pull request #247 from sopt-makers/hotfix/attendance-score-calc…
yummygyudon Mar 29, 2024
d584964
[CHORE] Security Config 충돌 해결
yummygyudon Mar 30, 2024
689e429
[CHORE] develop 브랜치 내 Security Config 최신 버전 반영
yummygyudon Mar 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/workflows/cd-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ jobs:
- name: Create application.yml
run: |
pwd
touch src/main/resources/application-dev.yml
echo "${{ secrets.APPLICATION_DEV }}" >> src/main/resources/application-dev.yml
cat src/main/resources/application-dev.yml
cd ./operation-api/src/main/resources
touch ./application-dev.yml
echo "${{ secrets.APPLICATION_DEV }}" >> ./application-dev.yml
cat ./application-dev.yml

- name: Build with Gradle
run: ./gradlew build
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/cd-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ jobs:
- name: Create application.yml
run: |
pwd
touch src/main/resources/application-prod.yml
echo "${{ secrets.APPLICATION_PROD }}" >> src/main/resources/application-prod.yml
cat src/main/resources/application-prod.yml
cd ./operation-api/src/main/resources
touch ./application-prod.yml
echo "${{ secrets.APPLICATION_PROD }}" >> ./application-prod.yml
cat ./application-prod.yml

- name: Build with Gradle
run: ./gradlew build
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ jobs:
- name: Create application.yml
run: |
pwd
touch src/main/resources/application-dev.yml
echo "${{ secrets.APPLICATION_DEV }}" >> src/main/resources/application-dev.yml
cat src/main/resources/application-dev.yml
cd ./operation-api/src/main/resources
touch ./application-dev.yml
echo "${{ secrets.APPLICATION_DEV }}" >> ./application-dev.yml
cat ./application-dev.yml

- name: Build with Gradle
run: ./gradlew build
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,6 @@ out/
.vscode/

### config yml ###
application-**.yml
application-**.yml

*/src/main/generated
116 changes: 43 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,59 @@
# sopt-operation-backend
**메이커스 운영팀 서버** : 출석 관리 어드민 서비스, 회원 출석 체크 서비스, 알림 전송 서비스
# SOPT 메이커스 운영 프로덕트 서버
> SOPT 활동 기수 회원과 임원진의 편리한 운영을 위한 서비스를 만들어요.

### 웹 어드민 (임원진 대상)
- 세미나, 행사 등 **세션 생성**
- 활동 기수 회원의 **출석 내역 관리**
- 푸시 알림을 전송할 **공지 및 소식 작성, 푸시알림 전송**

### 출석 앱 (활동 기수 회원 대상)
- 참여한 세션 **출석 체크**, **자신의 출석 내역 조회**

<br/>

## Server Acrchitecture

<img width="694" alt="image" src="https://github.com/sopt-makers/sopt-operation-backend/assets/55437339/af911c45-30b7-4f92-b096-5c0ad27fbe4c">

<br/>

## Used Stacks
<img width="554" alt="image" src="https://github.com/sopt-makers/sopt-operation-backend/assets/55437339/a31ac432-ded8-4db0-acf0-f1c653067a33">

<br/>

## 🛠 Used Stacks
## 프로젝트 폴더 구조
### 멀티모듈 구조
```
📁 operation-api # Controller, Service
📁 operation-auth # Authentication 관련 기능
📁 operation-common # 공통 기능
📁 operation-domain # Entity
📁 operation-external # 외부 API 기능(SOPT 메이커스 내 플레이그라운드, 알림TF)
```

- Java 17
- Gradle
- Spring Boot 2.7.4
- Spring Data JPA
- PostgreSQL
### 모듈 내 구조
```
📁 src
|_ 📁 main
|_ |_ 📁 app # 앱 기능
|_ |_ 📁 common # 공통 기능
|_ |_ 📁 web # 웹 기능
```

<br/>

## 👥 팀원
## Member

| [이용택](https://github.com/dragontaek-lee)| [김소현](https://github.com/thguss)|
|:-----:|:------:|
| <img width="120" height="120" src="https://user-images.githubusercontent.com/55437339/236619788-8e1ec0be-9158-452c-88b9-fe18e227586c.png"> | <img width="120" height="120" src="https://user-images.githubusercontent.com/55437339/236619930-7cad7853-1eb8-45a7-88f7-8ca196124b42.png"> |
|- 프로젝트 초기 세팅 <br/> - HTTPS 설정<br/> - 회원 출석 체크 서비스|- 프로젝트 초기 세팅<br/> - CICD 환경 구축<br/> - 출석 관리 어드민 서비스|
|- 프로젝트 초기 세팅 <br/> - HTTPS 설정<br/> - (App)회원 출석 체크 기능<br/> - 알림TF|- 프로젝트 초기 세팅<br/> - CICD 환경 구축<br/> - (Web)세션 출석 관리 기능<br/> - 알림 관리 기능|


<br/>

## 📏 Process
## Process
1. 개발 전에 `github issue`를 생성해주세요!
1. 템플릿에 맞게 내용을 작성한다
2. Assignees, Label을 단다
Expand All @@ -38,12 +68,10 @@
7. `approve`가 완료되었다면 `merge`를 진행해주세!요

> `코드 외적인 부분`(환경변수, db 필드 및 테이블 수정, 인프라 세팅 등) 수정사항이 있다면 팀원에게 먼저 물어보고 진행하거나, 그러지 못하였더라면 빠르게 전달해주세요!(카톡, 슬랙, 디코 등)
>


<br/>

## 🌴 Commit Convention
## Commit Convention
| 태그 이름 | 설명 |
| --- | --- |
| [CHORE] | 코드 수정, 내부 파일 수정 |
Expand All @@ -61,7 +89,7 @@

<br/>

## Branch Strategy
## Branch Strategy
- `main`, `develop`, `feature` 브랜치가 있습니다!
- **main**은 production용 브랜치입니다
- 실서비스용 ec2(**makers.operation.prod)**로 배포되도록 파이프라인이 구축되어 있습니다
Expand All @@ -72,61 +100,3 @@
- 각자 이슈에 대한 작업물의 브랜치입니다
- develop에 PR을 거쳐 merge 해주세요

<br/>

## 🗂 프로젝트 폴더 구조

```
📁 src
|_ 📁 main
|_ |_ 📁 common
|_ |_ 📁 config
|_ |_ 📁 controller
|_ |_ 📁 dto
|_ |_ 📁 entity
|_ |_ 📁 exception
|_ |_ 📁 repository
|_ |_ 📁 security
|_ |_ 📁 service
|_ |_ 📁 util

```

<br/>

## 🌴 Dependencies Module
<b>build.gradle</b>
```
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
implementation "com.querydsl:querydsl-apt:${queryDslVersion}"

compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.projectlombok:lombok'

// jwt
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.2'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.2'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.2'

testImplementation 'org.springframework.boot:spring-boot-starter-test'

// swagger
implementation 'io.springfox:springfox-boot-starter:3.0.0'
implementation 'io.springfox:springfox-swagger-ui:3.0.0'
}

```

<br/>


## 🏗 Architecture
![image](https://user-images.githubusercontent.com/55437339/236621230-8d2dd581-c68d-44e9-bc0d-ea35dee08ebe.png)

91 changes: 36 additions & 55 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,74 +1,55 @@
buildscript {
ext {
queryDslVersion = "5.0.0"
repositories {
mavenCentral()
}
}

plugins {
id 'java'
id 'org.springframework.boot' version '2.7.4'
id 'org.springframework.boot' version '3.0.0'
id 'io.spring.dependency-management' version '1.1.0'
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
}

group = 'org.sopt.makers'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
allprojects {
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}
group = 'org.sopt.makers.operation'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
repositories {
mavenCentral()
}

compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.projectlombok:lombok'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

// jwt
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.2'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.2'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.2'
dependencies {
// lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'

testImplementation 'org.springframework.boot:spring-boot-starter-test'
// test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}

// swagger
implementation 'io.springfox:springfox-boot-starter:3.0.0'
implementation 'io.springfox:springfox-swagger-ui:3.0.0'
tasks.named('test') {
useJUnitPlatform()
}
}

tasks.named('test') {
useJUnitPlatform()
jar {
enabled = true
}

def querydslDir = "$buildDir/generated/querydsl"

querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
bootJar {
enabled = false
}
24 changes: 24 additions & 0 deletions operation-api/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
jar {
enabled = false
}

bootJar {
enabled = true
}

dependencies {
// module
implementation project(path: ':operation-auth')
implementation project(path: ':operation-common')
implementation project(path: ':operation-domain')
implementation project(path: ':operation-external')

implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'

// swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package org.sopt.makers.operation;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(
scanBasePackageClasses = {AuthRoot.class, CommonRoot.class, DomainRoot.class, ExternalRoot.class}
)
public class OperationApplication {

public static void main(String[] args) {
SpringApplication.run(OperationApplication.class, args);
}
}
Loading
Loading