Skip to content

Commit

Permalink
[chore] main push (#149)
Browse files Browse the repository at this point in the history
* [feat] response 커스텀 (#3)

* [feat] success response 셋팅 #1

* [feat] response testController 구현, h2 DB 임시 연결 #1

* [style] example 함수 네이밍 수정 #1

---------

Co-authored-by: wjdtkdgns <[email protected]>

* [feat] 공통 에러 처리 셋팅  (#5)

* [feat] Error response, ErrorCode, Base Exception 정의 #2

* [feat] 공통 에러 처리, 예시 api 구현 #2

---------

Co-authored-by: wjdtkdgns <[email protected]>

* [feat] WebSecurity 설정 #4

* [feat] CustomUser 작성 #4

* [feat] Filter 구현 #4

* [feat] TokenProvider, token 관련 ErrorCode, Exception 정의 #4

* [refactor] 코드 가독성 추가 및 사용하지 않는 코드 삭제 #4

* [feat] Spring Security 변수 관리 및 에러 적용 (#8)

* [docs] 관련 변수 추가 및 gitignore 작성 #4

* [add] Exception 적용 #4

* [refactor] 어노테이션 추가 및 코드 순서 변경 #4

* [feat] 에러 slack 알림 구현 (#11)

* [feat] dev, prod 채널 생성 및 알림 전송 구현 #9

* [feat] slack 알림 공통 에러 처리 로직 연결 #9

* [feat] input stream filter 추가, message 생성 로직 추가 #9

* [feat] dev, prod 구분 #9

* [style] 미 사용 import 정리 #9

---------

Co-authored-by: wjdtkdgns <[email protected]>

* [feat] Swagger 설정  (#15)

* [chore] Swagger 관련 의존관계 설정

* [chore] Swagger 관련 설정 정보

* [chore] Swagger config 추가

* [fix] Swagger pattern 추가

* [feat] Swagger 사용 예시 API 추가

---------

Co-authored-by: Sanghoon Jeong <[email protected]>

* [feat] 배포 설정 파일 구현 (#18)

* [docs] h2 삭제 및 mysql 추가 #10

* [feat] nginx 연결 설정 #10

* [feat] deploy 파일 설정 #10

* [feat] github action 설정 #10

* [feat] 도커 이미지, 컨테이너 설정 #10

* [chore] test용 branch 변경 #10

* [fix] mysql connector 에러 build 명령어 수정 #10

* [chore] secret에 추가

* [feat] yml file 변경 #10

* [fix] docker hub 로그인 추가 #10

* [fix] slack implementation 복구 #10

* [chore] push용 리드미 수정

* [chore] github action 브랜치 테스트 #10

* [chore] push용 리드미 수정

* [fix] 도커 빌드 & 푸쉬 태그 변경 #10

* [fix] github action의 image 이름과 동일하도록 변경 #10

* [fix] application 파일 이름 변경 #10

* [fix] application.yml echo 명령어 수정 #10

* [fix] push branch 변경 #10

---------

Co-authored-by: wjdtkdgns <[email protected]>

* [feat] Swagger JWT 설정 (#19)

* [chore] Swagger 관련 의존관계 설정

* [chore] Swagger 관련 설정 정보

* [chore] Swagger config 추가

* [fix] Swagger pattern 추가

* [feat] Swagger 사용 예시 API 추가

* [feat] api 오름차순 정렬

* [feat] Swagger JWT 설정 추가

* [feat] Security 에 Swagger Pattern 추가

---------

Co-authored-by: Sanghoon Jeong <[email protected]>

* [feat] DB 도메인 생성  (#20)

* [chore] 폴더 구조 생성

* [feat] BaseEntity 추가

* [docs] hibernate 속성 추가

* [feat] global enum 추가

* [feat] Domain 생성

* [feat] Enum 생성

* [feat] JPA Repository 생성

* [feat] Domain 수정 및 생성자 추가

* [feat] 연관관계 수정

* [feat] Enum 매핑 추가

* [feat] 메일 서비스 구현 (#21)

* [feat] aws ses 셋팅 및 메일 전송 구현 #16

* [feat] 이메일 탬플릿 구현 #16

* [feat] entity, dto 타입명 수정 #16

* [feat] otDate, demodayDate 필드 수정 (#24)

* [feat] s3 연동 (#28)

* [feat] 지원하기 기능 및 검증 로직 (#26)

* [feat] enum validator, date formatter 구현 #22

* [feat] enum validation 에러 수정, email, phone 검증 로직 추가 #22

* [feat] dto 생성 #22

* [refac] dto 정리 #22

* [feat] 지원하기 api #22

* [feat] ses 연결, Vo 변경, interview 엔티티 수정 #22

* [feat] validation 추가 #22

* [feat] swagger schema 변경 #22

* [feat] duration valid annotation 추가 #22

* [feat] getPresignedUrl 구현 (#28)

* [feat] s3client 대신 s3 presigner 사용으로 변경 (#28)

* [add] awsconfig bean 이용 (#28)

* [chore] rename component (#28)

* [feat] s3 url dto 작성 (#28)

* [feat] presigned url controller 작성 (#28)

* [style] 줄 간격 띄우기 (#28)

* [feat] 합격 확인 기능 구현 및 slack 연결 (#31)

* [feat] 서류 결과 확인 기능 구현 #30

* [feat] 최종 결과 확인 기능 구현 #30

* [refac] 결과 합격 로직 변경 #30

* [feat] 면접, 활동 여부 확인 기능 구현 #30

* [feat] 슬랙 연결 #30

* [fix] request dto 이름 변경 #30

* [fix] 파트 질문 에러 처리 #30

* [fix] method 네이밍 수정 #30

* [refact] service, handler 사용 (#28)

* [fix] 업로드용 url로 (#28)

* [feat] 지원서 관련 변경 기능 구현 (#35)

* [feat] 합격 상태 변경 기능 구현 #33

* [feat] 면접 시간 결정 기능 구현 #33

* [feat] 지원서 질문 업데이트 dto 구현 #33

* [fix] 지원하기 validation 로직 수정, 함수 네이밍 수정 #33

* [fix] 지원하기 validation 로직 수정 #33

* [fix] error status code 수정 #33

* [feat] 지원서 질문 수정하기 기능 구현 #33

* [feat] Admin 관련 기능 구현 (#36)

* [feat] 회원가입 구현 #29

* [feat] 아이디 찾기 구현 #29

* [refact] Admin 객체로 변경 #29

* [fix] Admin 객체에 맞게 함수 수정 #29

* [fix] html 태그 수정 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] AwsSeSPassword 작성 #29

* [feat] DTO 작성 #29

* [feat] Exception 작성 #29

* [docs] 의존성 추가 #29

* [fix] 날짜 객체 수정 #29

* [feat] Admin 관련 메서드 작성 #29

* [feat] Exception 작성 #29

* [feat] DTO 작성 #29

* [feat] Admin api 구현 #29

* [fix] token 구성 수정 #29

* [refact] Error code 변경 #29

* [refact] if문 순서 변경 #29

* [add] 어노테이션 추가 #29

* [refact] 코드 위치 변경 및 매개변수 수정 #29

* [feat] Management 모든 기능 구현 (#40)

* [feat] Activity 관련 기능 구현 (1) (#37)

* [feat] 활동 관련 DTO 작성

* [feat] 활동 관련 ErrorCode 작성

* [feat] Activity Service, Controller 작성

* [test] Activity Service 테스트 작성

* [feat] Error Code 404로 수정

* [refactor] .keep 삭제

* [feat] ActivityResponse DTO 적용

* [feat] 조회에 readOnly 설정

* [feat] @PathVariable 에 @Valid 삭제

* [refact] .keep 삭제

* [feat] ActivityResponse DTO 적용

* [feat] 조회에 readOnly 설정

* [feat] @PathVariable 에 @Valid 삭제

* [feat] 회원가입 구현 #29

* [feat] 아이디 찾기 구현 #29

* [refact] Admin 객체로 변경 #29

* [fix] Admin 객체에 맞게 함수 수정 #29

* [fix] html 태그 수정 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] AwsSeSPassword 작성 #29

* [feat] DTO 작성 #29

* [feat] Exception 작성 #29

* [docs] 의존성 추가 #29

* [fix] 날짜 객체 수정 #29

* [feat] Admin 관련 메서드 작성 #29

* [feat] Exception 작성 #29

* [feat] DTO 작성 #29

* [feat] Admin api 구현 #29

* [fix] token 구성 수정 #29

* [refact] Error code 변경 #29

* [refact] if문 순서 변경 #29

* [feat] Admin 수정 불가 에러 코드 추가

* [feat] 지원기간 동안 수정 불가능 검증

* [test] 지원기간 동안 수정 불가능 검증

* [test] 지원기간 동안 수정 불가능 테스트

---------

Co-authored-by: suhhyun <[email protected]>

* [feat] 리크루팅 관련 기능 구현 (#41)

* [feat] 활동 관련 DTO 작성

* [feat] 활동 관련 ErrorCode 작성

* [feat] Activity Service, Controller 작성

* [test] Activity Service 테스트 작성

* [feat] Error Code 404로 수정

* [refactor] .keep 삭제

* [feat] ActivityResponse DTO 적용

* [feat] 조회에 readOnly 설정

* [feat] @PathVariable 에 @Valid 삭제

* [refact] Settings 테이블명 Recruitment로 변경 (#34)

* [refact] .keep 삭제

* [feat] ActivityResponse DTO 적용

* [feat] 조회에 readOnly 설정

* [feat] @PathVariable 에 @Valid 삭제

* [feat] 회원가입 구현 #29

* [feat] 아이디 찾기 구현 #29

* [refact] Admin 객체로 변경 #29

* [fix] Admin 객체에 맞게 함수 수정 #29

* [fix] html 태그 수정 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] AwsSeSPassword 작성 #29

* [feat] DTO 작성 #29

* [feat] Exception 작성 #29

* [docs] 의존성 추가 #29

* [fix] 날짜 객체 수정 #29

* [feat] Admin 관련 메서드 작성 #29

* [feat] Exception 작성 #29

* [feat] DTO 작성 #29

* [feat] Admin api 구현 #29

* [fix] token 구성 수정 #29

* [refact] Error code 변경 #29

* [refact] if문 순서 변경 #29

* [feat] Admin 수정 불가 에러 코드 추가

* [feat] 지원기간 동안 수정 불가능 검증

* [test] 지원기간 동안 수정 불가능 검증

* [test] 지원기간 동안 수정 불가능 테스트

* [refact] rename 리크루팅 정보 가져오는 메소드

* [refact] rename 리크루팅 정보 가져오는 메소드 (#34)

* [feat] 리크루팅 관련 기능 구현 (#34)

* [chore] 리크루팅 정보 리턴 수정 (#34)

* [refact] rename 반영 (#34)

* [add] 지원 기간 동안 수정 막기

* [docs] 자동 rename 돌려놓기 (#34)

* [chore] openchaturl 리턴 삭제 (#34)

* [feat] 업데이트 방식 수정 (#34)

* [feat] 업데이트 방식 변경 (#34)

---------

Co-authored-by: yourzinc <[email protected]>
Co-authored-by: Ayeon Kim <[email protected]>
Co-authored-by: suhhyun <[email protected]>

* [fix] slack deprecated api 지우기

* [feat] 지원서 정보 보기 기능 구현 (#42)

* [feat] 합격 상태 변경 기능 구현 #33

* [feat] 면접 시간 결정 기능 구현 #33

* [feat] 지원서 질문 업데이트 dto 구현 #33

* [feat] 회원가입 구현 #29

* [feat] 아이디 찾기 구현 #29

* [refact] Admin 객체로 변경 #29

* [fix] Admin 객체에 맞게 함수 수정 #29

* [fix] html 태그 수정 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] 임시 비밀번호 메일 템플릿 생성 #29

* [feat] AwsSeSPassword 작성 #29

* [feat] DTO 작성 #29

* [fix] 지원하기 validation 로직 수정, 함수 네이밍 수정 #33

* [fix] 지원하기 validation 로직 수정 #33

* [fix] error status code 수정 #33

* [feat] Exception 작성 #29

* [docs] 의존성 추가 #29

* [fix] 날짜 객체 수정 #29

* [feat] 지원서 질문 수정하기 기능 구현 #33

* [feat] Admin 관련 메서드 작성 #29

* [feat] Exception 작성 #29

* [feat] DTO 작성 #29

* [feat] Admin api 구현 #29

* [fix] token 구성 수정 #29

* [refact] Error code 변경 #29

* [refact] if문 순서 변경 #29

* [feat] 지원서 정보 보기, 면접 시간 보기 기능 구현 #38

* [add] 어노테이션 추가 #29

* [refact] 코드 위치 변경 및 매개변수 수정 #29

* [feat] 지원자 자기소개서 보기 기능 구현 #38

* [feat] 지원자 목록 보기 dto 구현 #38

* [feat] 지원자 모아보기 기능 구현 #38

* [fix] 이메일 템플릿 css 수정 #38

* [fix] conflict 해결

---------

Co-authored-by: suhhyun <[email protected]>

* [add] cors 추가 (#45)

* [refactor] management 구현 기능 리팩토링 (#47)

* [feat] managementRole enum filter 추가 #27

* [feat] 임원진 추가 기능 구현 #27

* [feat] imageUrl 예시값 변경 #27

* [feat] page 정보 공통 dto 구현 #27

* [chore] request dto 기존 내용

* [feat] 임원진 모두 보기 페이징 구현 #27

* [feat] 임원진 하나 보기 구현 #27

* [fix] 임원진 전체 보기 리턴 타입 DTO 수정 #27

* [feat] 임원진 정보 수정 기능 구현 #27

* [feat] 임원진 삭제 기능 구현 #27

* [chore] 머지용 커밋

* [feat] manager not found 에러 커스텀 적용 #27

* [fix] 존재하지 않는 임원진 삭제 요청 시 에러 메시지 전송 설정 #46

* [refactor] 임원진 전체 보기 Transactional readOnly 옵션 지정 #46

* [refactor] setter 삭제, update 객체 메소드 생성 #46

* [feat] Sponsor 관련 기능 전체 구현 (#49)

* [feat] managementRole enum filter 추가 #27

* [feat] 임원진 추가 기능 구현 #27

* [feat] imageUrl 예시값 변경 #27

* [feat] page 정보 공통 dto 구현 #27

* [chore] request dto 기존 내용

* [feat] 임원진 모두 보기 페이징 구현 #27

* [feat] 임원진 하나 보기 구현 #27

* [fix] 임원진 전체 보기 리턴 타입 DTO 수정 #27

* [feat] 임원진 정보 수정 기능 구현 #27

* [feat] 임원진 삭제 기능 구현 #27

* [chore] 머지용 커밋

* [feat] manager not found 에러 커스텀 적용 #27

* [fix] 존재하지 않는 임원진 삭제 요청 시 에러 메시지 전송 설정 #46

* [refactor] 임원진 전체 보기 Transactional readOnly 옵션 지정 #46

* [refactor] setter 삭제, update 객체 메소드 생성 #46

* [feat] 스폰서 추가 기능 구현 #48

* [feat] 스폰서 전체 보기 페이징 기능 구현 #48

* [feat] 스폰서 정보 수정 기능 구현 #48

* [fix] not found status code 404 변경

* [feat] 스폰서 삭제 기능 구현 #48

* [feat] FAQ 관련 기능 전체 구현 (#51)

* [feat] managementRole enum filter 추가 #27

* [feat] 임원진 추가 기능 구현 #27

* [feat] imageUrl 예시값 변경 #27

* [feat] page 정보 공통 dto 구현 #27

* [chore] request dto 기존 내용

* [feat] 임원진 모두 보기 페이징 구현 #27

* [feat] 임원진 하나 보기 구현 #27

* [fix] 임원진 전체 보기 리턴 타입 DTO 수정 #27

* [feat] 임원진 정보 수정 기능 구현 #27

* [feat] 임원진 삭제 기능 구현 #27

* [chore] 머지용 커밋

* [feat] manager not found 에러 커스텀 적용 #27

* [fix] 존재하지 않는 임원진 삭제 요청 시 에러 메시지 전송 설정 #46

* [refactor] 임원진 전체 보기 Transactional readOnly 옵션 지정 #46

* [refactor] setter 삭제, update 객체 메소드 생성 #46

* [feat] 스폰서 추가 기능 구현 #48

* [feat] 스폰서 전체 보기 페이징 기능 구현 #48

* [feat] 스폰서 정보 수정 기능 구현 #48

* [fix] not found status code 404 변경

* [feat] 스폰서 삭제 기능 구현 #48

* [feat] 카테고리별 질문, 답변 불러오기 구현 #50

* [fix] category 예시 변경

* [feat] FAQ 수정하기 기능 구현 #50

* [feat] FAQ 삭제하기 기능 구현 #50

* [feat] 관리자 기능 구현 (#53)

* [refact] rolename 수정

* [refact] admin role 로직 수정 #52

* [add] Error 추가 및 리턴 형식 변경 #52

* [add] Error 추가 #52

* [add] url 권한 추가 #52

* [feat] 권한 부여 기능 구현 #52

* [feat] 권한 부여 기능 구현 #52

* [feat] 유저 목록 기능 DTO, VO 작성 #52

* [feat] 유저 목록 기능 관련 메서드 작성 #52

* [feat] 유저 목록 기능 구현 #52

* [add] 에러 추가 #52

* [feat] 슈퍼유저 작업 검증 메서드 구현 #52

* [feat] 유저 삭제 기능 구현 #52

* [add] 옵션 추가 #52

* [feat] Awards 관련 기능 구현 (#54)

* [feat] 수상 이력 추가 api (#43)

* [feat] 수상이력 전체보기 api (#43)

* [feat] 수상이력 하나보기 api (#43)

* [refact] dto 이름, 폴더 위치 변경 (#43)

* [feat] 수상이력 수정하기 api (#43)

* [feat] 수상이력 삭제하기 api (#43)

* [feat] 프로젝트 관리 기능 구현 (#56)

* [feat] 프로젝트 목록 보기 기능 구현 #55

* [feat] 프로젝트 하나 보기 기능 구현 #55

* [feat] 에러 코드 작성 #55

* [add] VO 수정 #55

* [add] 도메인 수정 #55

* [add] 에러코드 추가 #55

* [feat] DTO 작성 #55

* [feat] 프로젝트 생성 API 구현 #55

* [add] repository 추가 #55

* [feat] 프로젝트 관련 메서드 작성 #55

* [feat] Vo 및 Enum 생성 #55

* [add] 에러코드 추가 #55

* [add] 에러코드 추가 #55

* [feat] 업데이트 메서드 작성 #55

* [feat] 프로젝트 수정, 삭제 API 구현 #55

* [refact] 클래스 이름 수정 #55

* [add] Security에 url 추가 #55

* [refact] 메서드 순서 변경 #55

* [add] List 초기화 #55

* [fix] Swagger Patterns 수정 (#59)

* [refactor] FAQ, Sponsor, Management 조회시 id 컬럼 추가 (#63)

* [feat] managementRole enum filter 추가 #27

* [feat] 임원진 추가 기능 구현 #27

* [feat] imageUrl 예시값 변경 #27

* [feat] page 정보 공통 dto 구현 #27

* [chore] request dto 기존 내용

* [feat] 임원진 모두 보기 페이징 구현 #27

* [feat] 임원진 하나 보기 구현 #27

* [fix] 임원진 전체 보기 리턴 타입 DTO 수정 #27

* [feat] 임원진 정보 수정 기능 구현 #27

* [feat] 임원진 삭제 기능 구현 #27

* [chore] 머지용 커밋

* [feat] manager not found 에러 커스텀 적용 #27

* [fix] 존재하지 않는 임원진 삭제 요청 시 에러 메시지 전송 설정 #46

* [refactor] 임원진 전체 보기 Transactional readOnly 옵션 지정 #46

* [refactor] setter 삭제, update 객체 메소드 생성 #46

* [feat] 스폰서 추가 기능 구현 #48

* [feat] 스폰서 전체 보기 페이징 기능 구현 #48

* [feat] 스폰서 정보 수정 기능 구현 #48

* [fix] not found status code 404 변경

* [feat] 스폰서 삭제 기능 구현 #48

* [feat] 카테고리별 질문, 답변 불러오기 구현 #50

* [fix] category 예시 변경

* [feat] FAQ 수정하기 기능 구현 #50

* [feat] FAQ 삭제하기 기능 구현 #50

* [refactor] Sponsor dto id 컬럼 추가 #62

* [refactor] Management dto id 컬럼 추가 #62

* [refactor] FAQ dto id 컬럼 추가 #62

* [fix] Swagger 오류 (#61)

* [fix] Swagger Patterns 수정

* [fix] Swagger UI 설정

* [fix] Swagger UI 설정

* [refactor] Server url 설정

* [chore] Actions Branch Rollback

* [fix] 에러처리 수정

* [fix] 에러처리 수정

* [fix] add cors origin, admin patterns

* [fix] 테이블명 변경 테스트코드에 반영

* [feat] 지원서 엑셀 다운로드 구현 (#57)

* [chore] Apache POI 의존성 추가 (#39)

* [test] 기본 Excel 파일 생성 테스트 (#39)

* [feat] dev pull 및 merge

* [refactor] 기획 Enum 이름 변경

* [refactor] 도메인 이름 변경

* [feat] 지원서 엑셀 헤더 추가

* [feat] 지원서 엑셀 헤더 추가 (#39)

* [feat] 지원서 기본 정보 입력 추가 (#39)

* [feat] 지원서 공통 질문 입력 (#39)

* [feat] Application, ApplicationAnswer 양방향 관계 수정 (#39)

* [feat] Application, ApplicationInterview 양방향 관계 수정 (#39)

* [feat] 면접 가능한 시간, 서류 합격 여부, 면접 시간 입력 (#39)

* [feat] 지원서 파일 생성 일시 추가 (#39)

* [feat] 에러 코드 추가 (#39)

* [feat] 지원서 파일 생성 및 다운로드 (#39)

* [feat] Transactional 수정

* [chore] recruitments api 수정 (#70)

* fix: recruitments api 수정

* chore: 주석 제거

* �[refac] Application 리팩토링 (#68)

* refac: application validation 수정 #58

* refac: mail header logo 수정 #44

* refac: 지원서 제출 질문 validation 추가 #58

* refac: application question 엔티티 수정 #67

* refac: application question update 로직 수정 #67

* refac: application question get 로직 수정 #67

* refac: QnAVo questionVo 변경 대응 #67

* refac: helper 함수 정리 #67

* refac: 지원하기 로직 변경, security config url 허용 패턴 변경 #67

* refac: security config url 허용 패턴 변경 #67

* [fix] Swagger server url 주석 해제

* [Add] awards api 수정 (#71)

* add: project 정보 get awards api에 포함

* feat: get awards generation 단위로

* feat: 페이징 다시 적용

* fix: 토큰 없어야 하는 곳에 permitAll

* [feat] Activity 기능 수정 (#72)

* [feat] Activity API 수정

* [feat] Activity 전체 조회 paging 추가 (#65)

* [feat] 정렬 오름차순 수정

* [fix] project url 수정

* refac: application question get api response 변경 #73 (#74)

* [add] s3 url no-cache 옵션

* Revert "[add] s3 url no-cache 옵션"

This reverts commit 49e41d1.

* [feat] 리프레시 토큰 구현 (#76)

* [feat] 토큰 재발급 기능 #66

* [feat] 레디스 설정 #66

* [feat] DTO 추가 및 수정 #66

* [feat] EXCEPTION 추가 #66

* [feat] 레디스 추가 및 적용 #66

* [refact] 메소드 수정 #66

* [add] Admin api 권한 수정 (#79)

* [feat] 토큰 재발급 기능 #66

* [feat] 레디스 설정 #66

* [feat] DTO 추가 및 수정 #66

* [feat] EXCEPTION 추가 #66

* [feat] 레디스 추가 및 적용 #66

* [refact] 메소드 수정 #66

* [fix] api 권한 수정 #52

* [add] 비밀번호 재설정 로직 추가 (#80)

* [feat] 토큰 재발급 기능 #66

* [feat] 레디스 설정 #66

* [feat] DTO 추가 및 수정 #66

* [feat] EXCEPTION 추가 #66

* [feat] 레디스 추가 및 적용 #66

* [refact] 메소드 수정 #66

* [fix] api 권한 수정 #52

* [fix] 비밀번호 재설정 저장 로직 수정 #52

* [fix] 비밀번호 재설정 저장 로직 수정 #52

* [feat] application question response 변경 (#78)

* feat: application question response 변경 #77

* feat: response 변경

* [feat] 파트별 운영진 조회 api 구현 (#82)

* [feat] managementRole enum filter 추가 #27

* [feat] 임원진 추가 기능 구현 #27

* [feat] imageUrl 예시값 변경 #27

* [feat] page 정보 공통 dto 구현 #27

* [chore] request dto 기존 내용

* [feat] 임원진 모두 보기 페이징 구현 #27

* [feat] 임원진 하나 보기 구현 #27

* [fix] 임원진 전체 보기 리턴 타입 DTO 수정 #27

* [feat] 임원진 정보 수정 기능 구현 #27

* [feat] 임원진 삭제 기능 구현 #27

* [chore] 머지용 커밋

* [feat] manager not found 에러 커스텀 적용 #27

* [fix] 존재하지 않는 임원진 삭제 요청 시 에러 메시지 전송 설정 #46

* [refactor] 임원진 전체 보기 Transactional readOnly 옵션 지정 #46

* [refactor] setter 삭제, update 객체 메소드 생성 #46

* [feat] 파트별 운영진 조회 api 구현 #81

* [feat] role 세분화 #81

* [feat] part enum으로 변경 #81

* [feat] role, part별 운영진 확인 api 구현 #81

* [refact] 프로젝트 이미지 개수 수정 (#84)

* [feat] 프로젝트 목록 보기 기능 구현 #55

* [feat] 프로젝트 하나 보기 기능 구현 #55

* [feat] 에러 코드 작성 #55

* [add] VO 수정 #55

* [add] 도메인 수정 #55

* [add] 에러코드 추가 #55

* [feat] DTO 작성 #55

* [feat] 프로젝트 생성 API 구현 #55

* [add] repository 추가 #55

* [feat] 프로젝트 관련 메서드 작성 #55

* [feat] Vo 및 Enum 생성 #55

* [add] 에러코드 추가 #55

* [add] 에러코드 추가 #55

* [feat] 업데이트 메서드 작성 #55

* [feat] 프로젝트 수정, 삭제 API 구현 #55

* [refact] 클래스 이름 수정 #55

* [add] Security에 url 추가 #55

* [refact] 메서드 순서 변경 #55

* [add] List 초기화 #55

* [fix] 에러처리 수정 #55

* [refact] Enum 수정 #83

* [feat] 에러처리 #83

* [fix] 사용하지 않는 메서드 및 코드 삭제 #83

* [feat] 프로젝트 이미지 업로드 API 구현 (#85)

* [feat] 프로젝트 목록 보기 기능 구현 #55

* [feat] 프로젝트 하나 보기 기능 구현 #55

* [feat] 에러 코드 작성 #55

* [add] VO 수정 #55

* [add] 도메인 수정 #55

* [add] 에러코드 추가 #55

* [feat] DTO 작성 #55

* [feat] 프로젝트 생성 API 구현 #55

* [add] repository 추가 #55

* [feat] 프로젝트 관련 메서드 작성 #55

* [feat] Vo 및 Enum 생성 #55

* [add] 에러코드 추가 #55

* [add] 에러코드 추가 #55

* [feat] 업데이트 메서드 작성 #55

* [feat] 프로젝트 수정, 삭제 API 구현 #55

* [refact] 클래스 이름 수정 #55

* [add] Security에 url 추가 #55

* [refact] 메서드 순서 변경 #55

* [add] List 초기화 #55

* [fix] 에러처리 수정 #55

* [refact] Enum 수정 #83

* [feat] 에러처리 #83

* [fix] 사용하지 않는 메서드 및 코드 삭제 #83

* [feat] 프로젝트 이미지 업로드 #55

* [feat] application 질문 관련 response 변경 (#87)

* [feat] application 질문 관련 response 변경 #86

* [feat] validation 수정 #86

* [feat] 지원자 모두 보기 response 변경 #86

* [feat] application 전체보기 sorting 추가 (#88)

* [feat] 지원하기 request validation 수정

* [refact] award page num 수정

* chore: update CODEOWNERS

* [fix] 에러 처리 조건 추가 (#90)

* [refact] 리크루팅 정보 수정 제한 제거 (#92)

* [fix] award 페이지에서 max generation 찾을때 project 기준으로 찾기 (#93)

* [fix] award 페이지에서 max generation 찾을때 project 기준으로 찾기

* chore: 변수명 수정

* [refac] 지원서 전체 불러오기 sorting 추가 (#91)

* [refact] application 전체 보기 정렬 분리 (#94)

* [refac] 지원서 전체 불러오기 sorting 추가

* [refac] sorting 추가 #91

* [refac] part 분류 mapper로 정리

* [refact] 페이징 필드명 content로 통일 (#96)

* [fix] award 페이징 endIndex 수정

* chore: 페이징 필드명 content 통일

* [add] award response에 id 추가

* [fix] award 페이징 버그 해결

* [refact] 인터뷰 시간 정하기 request 변경 (#98)

* [refact] application 리팩토링 (#99)

* [refact] 인터뷰 시간 정하기 request 변경 #97

* [refact] application excel 부분 분리 #97

* [refact] helper validator 분리 #97

* [refact] date 관련 util 클래스 네이밍 변경 #97

* [refac] application validation 네이밍 변경 및 로직 일부 변경, 코드 포맷팅 #97

* [refact] recruitment 관련 validation 분리 #97

* [refact] mapper 함수 helper로 이동 #97

* [refact] awards 추가, 수정 기수별로 묶어서 한번에 요청 (#102)

* [refact] award post 요청 list로 (#101)

* [refact] 수상내역 기수별로 확인 (#101)

* [refact] 수상내역 기수별로 수정 (#101)

* [refact] 수상내역 기수별로 삭제 (#101)

* [refact] http 메소드 수정 (#101)

* [fix] delete request 수정 (#101)

* [refact] award response 수정 (#101)

* [refact] 수상내역 삭제 api 삭제 (#101)

* [chore] spotless 적용 (#103)

* [add] 기수별 수상이력 전체삭제 (#104)

* [refac] application 전체보기 response 변경 (#106)

* [feat] 지원서 엑셀 파일 생성 시각 API 구현 (#107)

* [chore] 지원서 엑셀 파일 생성 시각 API

* [test] 지원서 엑셀 파일 생성 시각 API (#105)

* [fix] Gradle build spotless 에러  (#109)

* [fix] Gradle build spotlessApply (#108)

* [feat] 불합격

* [feat] sponsor 하나 조회 api 구현 #110 (#111)

* [refact] Project 리팩토링 (#113)

* [refact] 프로젝트 수정 API 리팩토링 #112

* [refact] 프로젝트 에러코드 정리 #112

* [refact] spotless 적용 #112

* [refact] 결과 확인 response 변경 (#114)

* [refact] Admin 리팩토링 (#116)

* [add] Part 필드 추가 #115

* [fix] 어노테이션 추가 #115

* [add] 페이징 적용 #115

* [refact] application security 수정 (#117)

* [refact] 결과 확인 response 변경

* [refact] api security 변경

* [refact] semestersLeftNumber 조건 변경

* [refact] security config 변경

* [fix] 토큰 재발급 로직 수정 (#119)

* [feat] 토큰 적용 해제 # 118

* [fix] 토큰 재발급 로직 수정 # 118

* [refact] spotless 적용 #118

* [refact] 합격 조회 response 수정 (#120)

* [refact] 결과 보기 response 수정

* [chore] spotless 적용

* chore: add cors origin

* [chore] add cors origin

* [feat] 서류 결과 확인하기 기능 500 해결 (#122)

* [fix] 서류 합격 확인 response 수정 (#123)

* [refact] 프로젝트 순서 변경 (#125)

* [refact] 프로젝트 순서 변경 #124

* [refact] spotless 적용 #124

* [refact] 코드 삭제 #124

* [fix] application question 가져오기 response 변경 (#126)

* [refact] 프로젝트 생성 API 변경 (#128)

* [refact] 사용하지 않는 validation 삭제 #127

* [refact] 프로젝트 팀원명에 null 허용 #127

* [refact] 프로젝트 생성 API 수정 (#129)

* [refact] 사용하지 않는 validation 삭제 #127

* [refact] 프로젝트 팀원명에 null 허용 #127

* [refact] 프로젝트 팀원명에 null 허용 #127

* [refact] 프로젝트 팀원명에 null 허용 #127

* [refact] 프로젝트 팀원명에 null 허용 #127

* [refact] 프로젝트 팀원명에 null 허용 #127

* [fix] 지원하기 hibernate 500 에러 해결 (#132)

* [fix] application question 가져오기 response 변경

* [fix] query 순서 변경 및 enum value 변경 #131

* [chore] spotless 적용 #131

* [refact] 기수 활동시기 테이블 분리 (#133)

* [refact] 활동시작시기 테이블 분리 (#130)

* [refact] awards api 수정 (#130)

* [refact] awards api 수정 (#130)

* [chore] spotless 적용

* [add] 기수 수상내역이 있을때 다시 추가시 에러처리 (#134)

* [add] 기수 수상내역이 있을때 다시 추가시 에러처리 (#130)

* [chore] spotless 적용

* [docs] 주석 추가

* [refact] 활동시작시기 없으면 null 넣기 (#135)

* [add] 기수 수상내역이 있을때 다시 추가시 에러처리 (#130)

* [chore] spotless 적용

* [docs] 주석 추가

* [refact] 활동시작시기 없으면 null 넣기 (#130)

* [feat] question 수정, 최종 합격 여부 조회 서비스 validation 추가 (#137)

* [chore] Awards 엔티티 BaseEntity 상속

* [refactor] 면접 시간 정렬 추가 (#138) (#139)

* [refact] startDate String 형으로

* [chore] spotless 적용

* [fix] PermittedUrl 수정

* [add] 임시어드민 로그인 차단 (#141)

* [refact] 에러 이름 변경 #140

* [refact] 에러 이름 변경 #140

* [refact] url 변경 #140

* [add] 권한 확인 메서드 추가 #140

* [fix] 로그인 api 패턴에서 제외 #140

* [refact] origin 허용 임시 추가 (#143)

* [refact] 프로젝트 페이지 정렬 수정, 프로젝트 이미지 관련 수정 (#145)

* [refact] 프로젝트 정렬 순서 변경, 이미지 없는 경우 필터링 (#144)

* �[refact] 이미지 validation 빼기(#144)

* [chore] spotless apply

* [chore] 과거 수상내역 기수 0으로 저장

* [chore] 과거 수상내역 기수 0으로 저장

* [docs] 주석 설명 추가

* [chore] 1~9기 수상내역 합쳐서 처리

* [fix] 로그아웃 METHOD 변경

* [fix] 리프레시토큰 재발급 로직 변경

* [refactor] management vo 디렉토리 이름 수정

* [chore] add enum

* [feat] swagger 비밀번호 셋팅 (#147)

* [feat] swagger 비밀번호 추가, security authenticationEntryPoint를 filter로 대체 #146

* [feat] swagger 비밀번호 셋팅 #146

* [chore] spotless 적용 #146

* [fix] security 조건 변경 #146

* [chore] update origin

* [fix] 페이징 중복 제거

* [fix] 시간 단위 수정

* [fix] 페이징 중복 및 누락 해결

* [fix] 엑셀 헤더 수정

* [chore] 리크루팅 정보에서 openChatUrl 삭제

* Revert "[chore] 리크루팅 정보에서 openChatUrl 삭제"

This reverts commit fb1dbee.

* [refactor] 리크루팅 정보, 오픈채팅 링크 api 분리

* [refactor] 중복 코드 합치기

* [chore] 네이밍 수정

* [refact] dev, prod 서버 분리

---------

Co-authored-by: Sanghoon Jeong <[email protected]>
Co-authored-by: wjdtkdgns <[email protected]>
Co-authored-by: suhhyun <[email protected]>
Co-authored-by: Ayeon Kim <[email protected]>
Co-authored-by: chaeshee0908 <[email protected]>
Co-authored-by: JeongHyun Lee <[email protected]>
Co-authored-by: yourzinc <[email protected]>
Co-authored-by: suhhyun524 <[email protected]>
Co-authored-by: wjdtkdgns <[email protected]>
Co-authored-by: chaeshee0908 <[email protected]>
  • Loading branch information
11 people authored Sep 22, 2023
1 parent e2dd54d commit 7bb39a5
Show file tree
Hide file tree
Showing 318 changed files with 12,801 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @wjdtkdgns @yourzinc @Jeong-Hyeon-Lee @chaeshee0908 @suhhyun524
* @wjdtkdgns @yourzinc @hyunihs @chaeshee0908 @suhhyun524
102 changes: 102 additions & 0 deletions .github/workflows/deploy_dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Deploy to EC2

on:
push:
branches:
- dev

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
# 기본 체크아웃
- name: Checkout
uses: actions/checkout@v3

# JDK version 설정
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

# 그래들 캐싱
- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Make application-secret.yml
run: |
touch ./src/main/resources/application-secret.yml
echo "${{ secrets.APPLICATION_SECRET }}" > ./src/main/resources/application-secret.yml
env:
PROPERTIES_DEV: ${{ secrets.APPLICATION_SECRET }}

# Gradle build
- name: Build with Gradle
run: ./gradlew build -x test :spotlessApply

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ceos/ceos-server-dev

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker build & push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/ceos-backend-dev

- name: create remote directory
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_DEV }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: mkdir -p ~/srv/ubuntu/ceos_web_dev

- name: copy source via ssh key
uses: burnett01/[email protected]
with:
switches: -avzr --delete
remote_path: ~/srv/ubuntu/
remote_host: ${{ secrets.EC2_HOST_DEV }}
remote_user: ubuntu
remote_key: ${{ secrets.EC2_KEY }}

- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_DEV }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: |
sh ~/srv/ubuntu/config/scripts/deploy.sh
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)
sudo docker rmi $(sudo docker images -q)
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml pull
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml up --build -d
102 changes: 102 additions & 0 deletions .github/workflows/deploy_prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Deploy to EC2

on:
push:
branches:
- main

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
# 기본 체크아웃
- name: Checkout
uses: actions/checkout@v3

# JDK version 설정
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

# 그래들 캐싱
- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Make application-secret.yml
run: |
touch ./src/main/resources/application-secret.yml
echo "${{ secrets.APPLICATION_SECRET }}" > ./src/main/resources/application-secret.yml
env:
PROPERTIES_DEV: ${{ secrets.APPLICATION_SECRET }}

# Gradle build
- name: Build with Gradle
run: ./gradlew build -x test :spotlessApply

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ceos/ceos-server-dev

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker build & push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/ceos-backend-dev

- name: create remote directory
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_PROD }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: mkdir -p ~/srv/ubuntu/ceos_web_dev

- name: copy source via ssh key
uses: burnett01/[email protected]
with:
switches: -avzr --delete
remote_path: ~/srv/ubuntu/
remote_host: ${{ secrets.EC2_HOST_PROD }}
remote_user: ubuntu
remote_key: ${{ secrets.EC2_KEY }}

- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_PROD }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: |
sh ~/srv/ubuntu/config/scripts/deploy.sh
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)
sudo docker rmi $(sudo docker images -q)
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml pull
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml up --build -d
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
/dump.rdb

### STS ###
.apt_generated
Expand Down Expand Up @@ -37,3 +38,6 @@ out/
.vscode/

.DS_Store

### application ###
application-secret.yml
5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM openjdk:17
EXPOSE 80
ARG JAR_FILE=/build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Seoul","-Dspring.profiles.active=dev","/app.jar"]
40 changes: 40 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id 'java'
id 'org.springframework.boot' version '3.0.6'
id 'io.spring.dependency-management' version '1.1.0'
id 'com.diffplug.spotless' version '6.11.0'
}

group = 'ceos'
Expand All @@ -21,14 +22,53 @@ repositories {
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'

runtimeOnly 'com.mysql:mysql-connector-j'

// slack
implementation("com.slack.api:slack-api-client:1.28.0")

// swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.0'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-api:2.0.0'
implementation 'org.springframework.boot:spring-boot-starter-validation'

// ses
implementation group: 'software.amazon.awssdk', name: 'ses', version: "2.19.29"
implementation('org.springframework.boot:spring-boot-starter-thymeleaf')

//s3
implementation group: 'software.amazon.awssdk', name: 's3', version: "2.20.68"

implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'

// Apache POI
implementation 'org.apache.poi:poi:4.1.2'
implementation 'org.apache.poi:poi-ooxml:4.1.2'
}

tasks.named('test') {
useJUnitPlatform()
}

spotless {
java {
target("**/*.java")
googleJavaFormat().aosp()
importOrder()
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
}
}
2 changes: 2 additions & 0 deletions config/nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FROM nginx:1.23.2
COPY ./default.conf /etc/nginx/conf.d/default.conf
12 changes: 12 additions & 0 deletions config/nginx/default.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
server {
listen 80;
listen [::]:80;

location / {
proxy_set_header Host $host;
proxy_pass http://backend-dev:8080/;
proxy_read_timeout 90;

## try_files $uri $uri/ =404;
}
}
24 changes: 24 additions & 0 deletions config/scripts/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

# Installing docker engine if not exists
if ! type docker > /dev/null
then
echo "docker does not exist"
echo "Start installing docker"
sudo apt-get update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install -y docker-ce
fi

# Installing docker-compose if not exists
if ! type docker-compose > /dev/null
then
echo "docker-compose does not exist"
echo "Start installing docker-compose"
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
26 changes: 26 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
version: "3"

services:
backend-dev:
image: ceos17/ceos-backend-dev
container_name: backend-dev
hostname: backend-dev
expose:
- "8080"

nginx:
depends_on:
- backend-dev
restart: always
build:
dockerfile: Dockerfile
context: ./config/nginx
ports:
- "80:80"

redis:
image: redis:latest
container_name: redis
hostname: redis
ports:
- "6379:6379"
12 changes: 8 additions & 4 deletions src/main/java/ceos/backend/BackendApplication.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package ceos.backend;


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

@SpringBootApplication
@EnableAsync
@EnableJpaAuditing
public class BackendApplication {

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

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

0 comments on commit 7bb39a5

Please sign in to comment.