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

♻️refactor: 패키지 구조 변경 #246

Merged
merged 24 commits into from
Mar 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
95e2f95
♻️refactor: 멀티모듈 세팅-도메인, 레포지토리 분리
seheonnn Feb 29, 2024
905aae6
💚 멀티모듈 세팅에 따른 ci 스크립트 변경
seheonnn Feb 29, 2024
d6e3232
💚 ci 스크립트 로그 삭제
seheonnn Feb 29, 2024
520aeac
💚 멀티모듈 세팅에 따른 ci 스크립트 변경
seheonnn Feb 29, 2024
12460bd
🐛 fix: root build.gradlew Jar 설정
seheonnn Feb 29, 2024
823b686
🐛 fix: core 모듈 build.gradlew 파일 추가
seheonnn Feb 29, 2024
67286b8
♻️refactor: 공고 이미지 업데이트 delete 메서드 추가
seheonnn Mar 3, 2024
0a4eddb
♻️refactor: S3 삭제 메서드 네이밍 변경
seheonnn Mar 4, 2024
da937b7
♻️refactor: db 모듈 분리
seheonnn Mar 4, 2024
4a96ecb
Revert "♻️refactor: S3 삭제 메서드 네이밍 변경"
seheonnn Mar 4, 2024
33a6966
🐛 fix: db 모듈 분리 원상복구
seheonnn Mar 4, 2024
55b6b8a
♻️ refactor: core 모듈 불필요한 의존성 삭제
seheonnn Mar 4, 2024
81e2270
♻️ refactor: DB 모듈 분리
seheonnn Mar 4, 2024
97b94d2
🐛 fix: application-db.yml 디버깅
seheonnn Mar 4, 2024
6a58e41
🐛 fix: application-db.yml 디버깅
seheonnn Mar 4, 2024
5be70fd
🐛 fix: application-db.yml 파일 순서 변경
seheonnn Mar 4, 2024
9f5caca
🐛 fix: ci 파일 수정
seheonnn Mar 4, 2024
8c5aa1a
🐛 fix: db.yml 테스트
seheonnn Mar 4, 2024
bb74f72
♻️ refactor: ci.yml 파일 변경
seheonnn Mar 4, 2024
7088992
♻️ refactor: ci.yml 수정
seheonnn Mar 4, 2024
4db65ac
🐛 fix: db.yml local profile 주석 처리 및 ci.yml 수정
seheonnn Mar 4, 2024
4b213bd
♻️ refactor: 알림 허용 여부 컬럼 추가
seheonnn Mar 4, 2024
bd55cc4
🐛 fix: db.yml local profile 주석처리
seheonnn Mar 4, 2024
1b25a35
🐛 fix: db.yml local profile 주석처리
seheonnn Mar 4, 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
31 changes: 18 additions & 13 deletions .github/workflows/ci_gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,32 @@ jobs:
java-version: '17'
distribution: 'temurin'

- name: 2) Convert to prod config
- name: 1) Convert to prod config
run: |
cd ./src/main/resources
cd ./api/src/main/resources
[ -e "application.yml" ] && rm application.yml
echo "spring:" > application.yml
echo " profiles:" >> application.yml
echo " active: prod" >> application.yml
echo " group:" >> application.yml
echo " "prod: "db, prod" >> application.yml
echo " servlet:" >> application.yml
echo " multipart:" >> application.yml
echo " max-file-size: 20MB" >> application.yml
echo " max-request-size: 20MB" >> application.yml


- name: Set FCM
- name: 2) Set FCM
env:
DATA: ${{ secrets.FIREBASE_KEY }}
run: |
mkdir -p ./src/main/resources/firebase
echo $DATA > ./src/main/resources/firebase/firebase-key.json
mkdir -p ./api/src/main/resources/firebase
echo $DATA > ./api/src/main/resources/firebase/firebase-key.json

- name: 3) Set prod.yml
uses: microsoft/variable-substitution@v1
with:
files: ./src/main/resources/application-prod.yml
files: ./api/src/main/resources/application-prod.yml
env:
spring.datasource.url: ${{ secrets.DB_URL }}
spring.datasource.username: ${{ secrets.DB_USERNAME }}
spring.datasource.password: ${{ secrets.DB_PW }}
spring.jwt.secret: ${{ secrets.JWT_SECRET }}
spring.jwt.token.access-expiration-time: ${{ secrets.JWT_ACCESS_EXPIRATION_TIME }}
spring.jwt.token.refresh-expiration-time: ${{ secrets.JWT_REFRESH_EXPIRATION_TIME }}
Expand All @@ -62,9 +60,16 @@ jobs:
PORT_ONE_KEY: ${{ secrets.PORT_ONE_KEY}}
PORT_ONE_SECRET: ${{ secrets.PORT_ONE_SECRET}}

- name: 3) Set prod.yml - Debug
run: |
cat ./src/main/resources/application-prod.yml
- name: 4) Set application-db.yml
uses: microsoft/variable-substitution@v1
with:
files: ./core/core-infra-db/src/main/resources/application-db.yml
env:
spring.datasource.url: ${{ secrets.DB_URL }}
spring.datasource.username: ${{ secrets.DB_USERNAME }}
spring.datasource.password: ${{ secrets.DB_PW }}



- name: Grant execute permission for gradlew and build
run: |
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Edit at https://www.toptal.com/developers/gitignore?templates=java,gradle

*-secret.yml
src/main/generated/
**/src/main/generated/
**/firebase/*.json

# Mac os
Expand Down
53 changes: 53 additions & 0 deletions api/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
dependencies {

implementation project(':core:core-domain');
implementation project(':core:core-infra-db');

// Core
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
implementation 'org.slf4j:slf4j-api:2.0.7'

// Lombok
implementation 'org.projectlombok:lombok:1.18.22'
annotationProcessor('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')

// Jwt
implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'

// Redis
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '3.2.0'
implementation 'org.springframework.session:spring-session-data-redis:3.1.1'

// Database
// runtimeOnly 'org.postgresql:postgresql'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

// Swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-api:2.0.4'

// Validation
implementation 'org.springframework.boot:spring-boot-starter-validation'

// S3
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

// email
implementation 'com.sun.mail:jakarta.mail:2.0.1'

// FCM
implementation 'com.google.firebase:firebase-admin:9.1.1'
implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.2.2'

// Iamport
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'com.github.iamport:iamport-rest-client-java:0.2.23'
}
bootJar { enabled = true }
jar { enabled = false }
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@ spring:
multipart:
max-file-size: 20MB
max-request-size: 20MB

server:
port: 8080
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableScheduling
@EnableJpaAuditing
@SpringBootApplication
@SpringBootApplication(scanBasePackages = {"com.sponus"})
public class SponusBeApplication {

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;

import com.sponus.coredomain.domain.organization.Organization;
import com.sponus.coredomain.domain.organization.repository.OrganizationRepository;
import com.sponus.sponusbe.auth.jwt.exception.SecurityCustomException;
import com.sponus.sponusbe.auth.jwt.exception.SecurityErrorCode;
import com.sponus.sponusbe.auth.user.CustomUserDetails;
import com.sponus.sponusbe.domain.organization.entity.Organization;
import com.sponus.sponusbe.domain.organization.exception.OrganizationErrorCode;
import com.sponus.sponusbe.domain.organization.exception.OrganizationException;
import com.sponus.sponusbe.domain.organization.repository.OrganizationRepository;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.sponus.coredomain.domain.common.ApiResponse;
import com.sponus.sponusbe.auth.jwt.dto.JwtPair;
import com.sponus.sponusbe.auth.jwt.exception.SecurityCustomException;
import com.sponus.sponusbe.auth.jwt.util.JwtUtil;
import com.sponus.sponusbe.global.common.ApiResponse;

import io.jsonwebtoken.ExpiredJwtException;
import lombok.RequiredArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.stereotype.Component;

import com.sponus.coredomain.domain.common.ApiResponse;
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
import com.sponus.sponusbe.global.common.ApiResponse;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.sponus.sponusbe.auth.jwt.exception;

import com.sponus.sponusbe.global.common.BaseErrorCode;
import com.sponus.sponusbe.global.common.exception.CustomException;
import com.sponus.coredomain.domain.common.BaseErrorCode;
import com.sponus.sponusbe.global.exception.CustomException;

import lombok.Getter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import org.springframework.http.HttpStatus;

import com.sponus.sponusbe.global.common.ApiResponse;
import com.sponus.sponusbe.global.common.BaseErrorCode;
import com.sponus.coredomain.domain.common.ApiResponse;
import com.sponus.coredomain.domain.common.BaseErrorCode;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.sponus.coredomain.domain.common.ApiResponse;
import com.sponus.sponusbe.auth.jwt.dto.JwtPair;
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
import com.sponus.sponusbe.auth.jwt.util.JwtUtil;
import com.sponus.sponusbe.auth.jwt.util.RedisUtil;
import com.sponus.sponusbe.auth.user.CustomUserDetails;
import com.sponus.sponusbe.global.common.ApiResponse;

import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
import org.springframework.http.HttpStatus;
import org.springframework.web.filter.OncePerRequestFilter;

import com.sponus.coredomain.domain.common.ApiResponse;
import com.sponus.coredomain.domain.common.BaseErrorCode;
import com.sponus.sponusbe.auth.jwt.exception.SecurityCustomException;
import com.sponus.sponusbe.auth.jwt.exception.SecurityErrorCode;
import com.sponus.sponusbe.auth.jwt.util.HttpResponseUtil;
import com.sponus.sponusbe.global.common.ApiResponse;
import com.sponus.sponusbe.global.common.BaseErrorCode;

import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.springframework.http.MediaType;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.sponus.sponusbe.global.common.ApiResponse;
import com.sponus.coredomain.domain.common.ApiResponse;

import jakarta.servlet.http.HttpServletResponse;
import lombok.AccessLevel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import com.sponus.sponusbe.domain.organization.entity.Organization;
import com.sponus.coredomain.domain.organization.Organization;

import lombok.Getter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;

import com.sponus.sponusbe.domain.organization.entity.Organization;
import com.sponus.coredomain.domain.organization.Organization;
import com.sponus.coredomain.domain.organization.repository.OrganizationRepository;
import com.sponus.sponusbe.domain.organization.exception.OrganizationErrorCode;
import com.sponus.sponusbe.domain.organization.exception.OrganizationException;
import com.sponus.sponusbe.domain.organization.repository.OrganizationRepository;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.sponus.coredomain.domain.announcement.enums.AnnouncementCategory;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;
import com.sponus.coredomain.domain.common.ApiResponse;
import com.sponus.coredomain.domain.organization.Organization;
import com.sponus.sponusbe.auth.annotation.AuthOrganization;
import com.sponus.sponusbe.domain.announcement.dto.request.AnnouncementCreateRequest;
import com.sponus.sponusbe.domain.announcement.dto.request.AnnouncementUpdateRequest;
Expand All @@ -22,13 +26,8 @@
import com.sponus.sponusbe.domain.announcement.dto.response.AnnouncementStatusUpdateResponse;
import com.sponus.sponusbe.domain.announcement.dto.response.AnnouncementSummaryResponse;
import com.sponus.sponusbe.domain.announcement.dto.response.AnnouncementUpdateResponse;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementCategory;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementStatus;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementType;
import com.sponus.sponusbe.domain.announcement.service.AnnouncementQueryService;
import com.sponus.sponusbe.domain.announcement.service.AnnouncementService;
import com.sponus.sponusbe.domain.organization.entity.Organization;
import com.sponus.sponusbe.global.common.ApiResponse;

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -69,13 +68,13 @@ public ApiResponse<AnnouncementDetailResponse> getAnnouncement(

@GetMapping("/me/opened")
public ApiResponse<List<AnnouncementSummaryResponse>> getMyOpenedAnnouncement(
@AuthOrganization Organization authOrganization){
@AuthOrganization Organization authOrganization) {
return ApiResponse.onSuccess(announcementQueryService.getMyOpenedAnnouncement(authOrganization));
}

@GetMapping("/me")
public ApiResponse<List<AnnouncementSummaryResponse>> getMyAnnouncement(
@AuthOrganization Organization authOrganization){
@AuthOrganization Organization authOrganization) {
return ApiResponse.onSuccess(announcementQueryService.getMyAnnouncement(authOrganization));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.sponus.sponusbe.domain.announcement.dto.request;

import static com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementStatus.*;

import com.sponus.sponusbe.domain.announcement.entity.Announcement;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementCategory;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementType;
import com.sponus.sponusbe.domain.organization.entity.Organization;
import com.sponus.coredomain.domain.announcement.Announcement;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementCategory;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementStatus;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;
import com.sponus.coredomain.domain.organization.Organization;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
Expand All @@ -28,7 +27,7 @@ public Announcement toEntity(Organization writer) {
.type(type)
.category(category)
.content(content)
.status(OPENED)
.status(AnnouncementStatus.OPENED)
.build();
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.sponus.sponusbe.domain.announcement.dto.request;

import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementCategory;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementType;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementCategory;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;

import lombok.Builder;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.sponus.sponusbe.domain.announcement.dto.response;

import com.sponus.sponusbe.domain.announcement.entity.Announcement;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementCategory;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementStatus;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementType;
import com.sponus.coredomain.domain.announcement.Announcement;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementCategory;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementStatus;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;

import lombok.Builder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import java.util.List;

import com.sponus.sponusbe.domain.announcement.entity.Announcement;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementCategory;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementStatus;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementType;
import com.sponus.coredomain.domain.announcement.Announcement;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementCategory;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementStatus;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;
import com.sponus.sponusbe.domain.organization.dto.OrganizationSummaryResponse;

import lombok.Builder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.sponus.sponusbe.domain.announcement.dto.response;

import com.sponus.sponusbe.domain.announcement.entity.AnnouncementImage;
import com.sponus.coredomain.domain.announcement.AnnouncementImage;

import lombok.Builder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

import java.time.LocalDateTime;

import com.sponus.sponusbe.domain.announcement.entity.Announcement;
import com.sponus.sponusbe.domain.announcement.entity.AnnouncementImage;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementCategory;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementStatus;
import com.sponus.sponusbe.domain.announcement.entity.enums.AnnouncementType;
import com.sponus.coredomain.domain.announcement.Announcement;
import com.sponus.coredomain.domain.announcement.AnnouncementImage;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementCategory;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementStatus;
import com.sponus.coredomain.domain.announcement.enums.AnnouncementType;

import lombok.Builder;

Expand Down
Loading
Loading