Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
daea588
chore: Alloy를 이용한 로깅 추가 (#284)
wibaek Apr 27, 2025
2ec3edf
chore: dev->local, stage->dev 환경명 변경, 배포 방식 변경 (#288)
wibaek Apr 30, 2025
ff0125d
fix: 토큰 재발급 로직 수정 (#289)
nayonsoso May 3, 2025
8a3885b
chore: 워크플로우 경로, 환경변수 변경 (#291)
wibaek May 5, 2025
fe0c2c0
fix: Alloy 설정파일이 배포시에 업로드 되지 않는 오류 수정 (#295)
wibaek May 6, 2025
9713f51
refactor: 문자열 토큰을 Token 클래스로 (#297)
nayonsoso May 9, 2025
3b16bda
refactor: 로그아웃, 탈퇴 시 refresh 토큰을 삭제하도록 (#303)
nayonsoso May 10, 2025
75d5d24
fix: Alloy 오류 수정 (#305)
wibaek May 11, 2025
bf97db4
feat: News 소식지 도메인 추가 (#302)
wibaek May 11, 2025
2373d04
fix: 누락한 어노테이션 추가 (#309)
nayonsoso May 11, 2025
c0f79cc
refactor: 만료된 토큰 허용하는 코드 제거 (#308)
nayonsoso May 11, 2025
f9e05b0
refactor: 대학 관련 통합 테스트 데이터 정의 구조 개선 (#286)
Gyuhyeok99 May 11, 2025
5f1474a
refactor: 회원 탈퇴 API HTTP Method를 PATCH에서 DELETE로 변경 (#311)
Gyuhyeok99 May 11, 2025
8a84535
refactor: 대학(추천, 좋아요) 통합 테스트 데이터 Fixture 메서드로 변경 (#313)
Gyuhyeok99 May 12, 2025
c4626fd
refactor: 유저 관련 통합 테스트 데이터 fixture 메서드로 변경 (#319)
Gyuhyeok99 May 19, 2025
0518a77
refactor: 도메인별 패키지 구조로 재구성 (#322)
nayonsoso May 19, 2025
f0c8309
chore: code owners에 신규 개발자 추가 (#328)
nayonsoso May 21, 2025
7c13338
refactor: 성적 관련 통합 테스트 데이터 fixture 메서드로 변경 (#325)
Gyuhyeok99 May 21, 2025
ab9092b
refactor: Jwt 토큰 관련 클래스를 상속이 아니라 조합하도록 (#324)
nayonsoso May 22, 2025
ac0f60e
refactor: Application 관련 통합 테스트 데이터 fixture 메서드로 변경 (#329)
Gyuhyeok99 May 22, 2025
3d5820c
refactor: 커뮤니티 관련 통합 테스트 데이터 fixture 메서드로 변경 (#335)
Gyuhyeok99 Jun 18, 2025
a14a510
refactor: application 도메인 리팩터링 (#330)
lsy1307 Jun 24, 2025
af2ba81
refactor: Siteuser 도메인 리팩터링 (#336)
whqtker Jun 24, 2025
0144cb2
refactor: University 도메인 리팩터링 (#338)
whqtker Jun 24, 2025
e086e8c
refactor: Location 도메인 리팩터링 (#340)
whqtker Jun 24, 2025
45430c9
fix: flyway 스크립트 오타 수정 (#342)
nayonsoso Jun 25, 2025
2c5851e
refactor: '대학교'와 '대학 지원 정보' 용어를 구분하도록 (#346)
nayonsoso Jul 1, 2025
aa0ff59
refactor: 사용하지 않는 DynamicFixture 제거 (#355)
Gyuhyeok99 Jul 1, 2025
5a006a4
refactor: 교환학생 준비 상태의 컬럼명 변경 (#351)
nayonsoso Jul 1, 2025
68fc1a0
fix: 서브모듈 해시를 문제 발생 이전으로 복원 (#364)
nayonsoso Jul 1, 2025
985d2b2
feat: 멘토 관련 엔티티 추가 (#348)
nayonsoso Jul 1, 2025
bacdbbb
refactor: @Repository 어노테이션 안붙이도록 통일 (#360)
Gyuhyeok99 Jul 1, 2025
b4a5d09
feat: 소식지 서비스 구현 (#353)
Gyuhyeok99 Jul 2, 2025
fe7aefc
feat: 소식지 좋아요 엔티티 추가 (#359)
Gyuhyeok99 Jul 2, 2025
7ef425a
feat: 멘토링 관련 도메인 추가 (#362)
whqtker Jul 7, 2025
b640883
feat: 멘토 조회 기능 구현 (#370)
nayonsoso Jul 9, 2025
d673365
feat: 멘토 마이페이지 조회/수정 (#375)
nayonsoso Jul 9, 2025
163d0a3
feat: 소식지 좋아요 기능 구현 (#377)
Gyuhyeok99 Jul 10, 2025
bfa7ba7
refactor: Community 도메인 제외 연관관계 삭제 (#363)
lsy1307 Jul 10, 2025
cfe8489
refactor: Community 연관관계 수정/삭제 (#372)
lsy1307 Jul 10, 2025
cda7a68
refactor: 댓글 정책 변경에 따른 리팩터링 (#373)
lsy1307 Jul 11, 2025
1ca6126
refactor: '좋아요'용어 통일 및 회의에서 논의된 내용 적용 (#383)
nayonsoso Jul 13, 2025
efc32cc
refactor: 예외 관련 테스트코드 함수명 수정 (#387)
nayonsoso Jul 14, 2025
0388f97
fix: flyway 스크립트 이름 오타 수정 (#389)
nayonsoso Jul 16, 2025
187e9e7
style: 팀 공통 컨벤션 적용 (#385)
nayonsoso Jul 17, 2025
69365db
chore: 문서, 스크립트 파일들 폴더 변경 (#390)
nayonsoso Jul 18, 2025
fcaba61
refactor: 불필요한 Authentication 상속 관계 통합 및 이름 변경 (#388)
nayonsoso Jul 18, 2025
60ee7b9
fix: cd 스크립트의 alloy 파일 경로 수정 (#392)
nayonsoso Jul 19, 2025
0cfa442
refactor: 멘토가 멘토링 거절 시, 거절 사유 입력하지 않도록 (#398)
nayonsoso Jul 24, 2025
a08689c
refactor: 인증 정보 argumentResolver가 long siteUserId를 주입하도록 (#396)
nayonsoso Jul 24, 2025
d71fd0d
chore: build.gradle에 flyway 파일명 검증 관련 추가 (#393)
whqtker Jul 25, 2025
9458018
feat: 채팅 관련 엔티티 및 DDL 작성 (#395)
whqtker Jul 25, 2025
80985c0
feat: 신고 기능 구현 (#402)
nayonsoso Jul 25, 2025
11e589f
fix: flyway 버전 충돌 해결 (#405)
nayonsoso Jul 27, 2025
66aa670
feat: access token이 role을 cliam 으로 갖도록 (#407)
nayonsoso Jul 28, 2025
0c91030
fix: RequiredArgsConstructor 동작하도록 임시 수정 (#410)
Gyuhyeok99 Jul 29, 2025
d8710a0
refactor: 멘토 조회 시, 파견 상태 대신 '파견 학기'를 응답하도록 (#412)
nayonsoso Jul 30, 2025
ae9babf
feat: 멘토 조회 시 파견대학정보 포함하는 기능, 권역 필터링 기능 구현 (#415)
nayonsoso Jul 31, 2025
69a0bc9
feat: STOMP Config 추가 (#400)
lsy1307 Jul 31, 2025
88ef936
feat: 리프레시 토큰을 쿠키에 저장 (#417)
nayonsoso Aug 1, 2025
fd60791
refactor: 변경된 멘토/멘티 탭 명세에 맞게 api 수정 (#422)
nayonsoso Aug 2, 2025
51ae689
refactor: 멘토의 마이페이지 응답에 '합격 팁' 추가 (#420)
nayonsoso Aug 2, 2025
9c7249c
fix: 채널 수정 시 유니크 제약 위반하지 않도록 (#426)
nayonsoso Aug 3, 2025
3f4a24a
feat: 채팅 기능 구현 (#408)
Gyuhyeok99 Aug 4, 2025
5a2ad88
feat: 채팅 메시지 송수신 구현 (#423)
whqtker Aug 10, 2025
1e230e4
refactor: OAuth 클래스에 전략 패턴 적용 (#432)
nayonsoso Aug 11, 2025
51d1d06
chore: 전체 게시글 조회 시 첫 번째 이미지 url에 해당하는 변수명 변경 (#433)
whqtker Aug 11, 2025
d5a9f49
test: WebSocket 관련 테스트 코드 작성 (#440)
whqtker Aug 12, 2025
289cd89
feat: 비밀번호 정책 추가 (#435)
Gyuhyeok99 Aug 12, 2025
655e0bd
feat: 채팅방 생성 기능 추가 (#439)
Gyuhyeok99 Aug 12, 2025
f78a01f
refactor: 멘토의 멘토링 조회 시, confirm 여부 포함하여 응답하도록 (#441)
nayonsoso Aug 12, 2025
1203d00
refactor: 멘토의 합격 팁, 자기 소개가 null 을 허용하지 않도록 (#443)
nayonsoso Aug 12, 2025
526e507
refactor: SignUpToken 중복 코드 제거, 회원가입 로직 통합 (#445)
nayonsoso Aug 13, 2025
1f8e455
feat: 비밀번호 변경 API 구현 (#448)
whqtker Aug 14, 2025
e0dd5b7
feat: 마이페이지 응답 요소 추가 (#437)
Gyuhyeok99 Aug 14, 2025
07d7dcb
refactor: refreshToken 쿠키에서 환경별로 Domain 설정하도록 (#450)
nayonsoso Aug 15, 2025
151c9ad
refactor: accessToken 재발급을 refreshToken 쿠키를 통해 하도록 (#452)
nayonsoso Aug 15, 2025
afe27ab
feat: 채팅방 partner 정보를 조회하는 API 추가 (#457)
Gyuhyeok99 Aug 16, 2025
e7fd1d4
feat: 관심 지역 및 국가 수정 API 추가 (#453)
whqtker Aug 19, 2025
9e770d1
refactor: 쿠키 정책 변경 - 환경에 따른 Domain과 SameSite=Lax (#461)
nayonsoso Aug 19, 2025
35e979a
refactor: isConfirmed 대신 verifyStatus를 응답하도록 (#463)
nayonsoso Aug 19, 2025
44184e2
refactor: 멘티의 멘토링 목록 조회 시 연관된 채팅방 ID를 함께 응답하도록 (#465)
nayonsoso Aug 20, 2025
accbc93
refactor: 토큰을 Authorization 헤더가 아니라 쿼리스트링에서 가져오도록 (#467)
whqtker Aug 20, 2025
7060378
refactor: 기획 변경에 맞게 필터링 검색 기능 수정 (#471)
nayonsoso Aug 24, 2025
f4d7fd8
refactor: verify_status의 타입을 통일한다. (#472)
whqtker Aug 25, 2025
3f8c493
refactor: 소식지 단일 좋아요 여부 확인 API 제거 (#455)
Gyuhyeok99 Aug 25, 2025
dbcfea3
refactor: 채팅방 생성 동기식으로 변경 (#474)
Gyuhyeok99 Aug 25, 2025
c60163f
fix: SiteUser 객체 대신 ID를 받도록 (#485)
whqtker Aug 26, 2025
a16ce9e
feat: 대학지원정보 텍스트 검색 기능 구현 (#486)
nayonsoso Aug 26, 2025
5d18bd2
chore: 지원 학기 변경 (#487)
nayonsoso Aug 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @Gyuhyeok99 @nayonsoso @wibaek
* @Gyuhyeok99 @nayonsoso @wibaek @whqtker @lsy1307
49 changes: 29 additions & 20 deletions .github/workflows/stage-cd.yml → .github/workflows/dev-cd.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: "[STAGE] Build Gradle and Deploy"
name: "[DEV] Build Gradle and Deploy"

on:
push:
branches: [ "release" ]
branches: [ "develop" ]
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -38,38 +38,47 @@ jobs:
- name: Copy jar file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.STAGE_HOST }}
username: ${{ secrets.STAGE_USERNAME }}
key: ${{ secrets.STAGE_PRIVATE_KEY }}
host: ${{ secrets.DEV_HOST }}
username: ${{ secrets.DEV_USERNAME }}
key: ${{ secrets.DEV_PRIVATE_KEY }}
source: "./build/libs/*.jar"
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
target: "/home/${{ secrets.DEV_USERNAME }}/solid-connection-dev/"

- name: Copy docker file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.STAGE_HOST }}
username: ${{ secrets.STAGE_USERNAME }}
key: ${{ secrets.STAGE_PRIVATE_KEY }}
host: ${{ secrets.DEV_HOST }}
username: ${{ secrets.DEV_USERNAME }}
key: ${{ secrets.DEV_PRIVATE_KEY }}
source: "./Dockerfile"
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
target: "/home/${{ secrets.DEV_USERNAME }}/solid-connection-dev/"

- name: Copy docker compose file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.STAGE_HOST }}
username: ${{ secrets.STAGE_USERNAME }}
key: ${{ secrets.STAGE_PRIVATE_KEY }}
source: "./docker-compose.stage.yml"
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
host: ${{ secrets.DEV_HOST }}
username: ${{ secrets.DEV_USERNAME }}
key: ${{ secrets.DEV_PRIVATE_KEY }}
source: "./docker-compose.dev.yml"
target: "/home/${{ secrets.DEV_USERNAME }}/solid-connection-dev/"

- name: Copy alloy config file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.DEV_HOST }}
username: ${{ secrets.DEV_USERNAME }}
key: ${{ secrets.DEV_PRIVATE_KEY }}
source: "./docs/infra-config/config.alloy"
target: "/home/${{ secrets.DEV_USERNAME }}/solid-connection-dev/"

- name: Run docker compose
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.STAGE_HOST }}
username: ${{ secrets.STAGE_USERNAME }}
key: ${{ secrets.STAGE_PRIVATE_KEY }}
host: ${{ secrets.DEV_HOST }}
username: ${{ secrets.DEV_USERNAME }}
key: ${{ secrets.DEV_PRIVATE_KEY }}
script_stop: true
script: |
cd /home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage
cd /home/${{ secrets.DEV_USERNAME }}/solid-connection-dev
docker compose down
docker compose -f docker-compose.stage.yml up -d --build
docker compose -f docker-compose.dev.yml up -d --build
11 changes: 10 additions & 1 deletion .github/workflows/prod-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,16 @@ jobs:
key: ${{ secrets.PRIVATE_KEY }}
source: "./docker-compose.prod.yml"
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"


- name: Copy alloy config file to remote
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.PRIVATE_KEY }}
source: "./docs/infra-config/config.alloy"
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"

- name: Run docker compose
uses: appleboy/ssh-action@master
with:
Expand Down
1 change: 1 addition & 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/
logs/

### STS ###
.apt_generated
Expand Down
Binary file modified README.md
Binary file not shown.
24 changes: 24 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.1.5'
id 'io.spring.dependency-management' version '1.1.4'
id 'org.flywaydb.flyway' version '9.16.3'
}

group = 'com.example'
Expand Down Expand Up @@ -31,6 +32,7 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.flywaydb:flyway-core'
implementation 'org.flywaydb:flyway-mysql'
runtimeOnly 'com.h2database:h2'

// QueryDSL
implementation 'io.github.openfeign.querydsl:querydsl-jpa:6.11'
Expand Down Expand Up @@ -58,10 +60,14 @@ dependencies {
testImplementation 'org.testcontainers:testcontainers'
testImplementation 'org.testcontainers:junit-jupiter'
testImplementation 'org.testcontainers:mysql'
testImplementation 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.awaitility:awaitility:4.2.0'

// Etc
implementation 'org.hibernate.validator:hibernate-validator'
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.782'
implementation 'org.springframework.boot:spring-boot-starter-websocket'
}

tasks.named('test', Test) {
Expand All @@ -72,3 +78,21 @@ tasks.named('test', Test) {
sourceSets {
main.java.srcDirs += ['build/generated/sources/annotationProcessor/java/main']
}

// build 단계에서 flyway 검증
flyway {
url = 'jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1'
user = 'sa'
password = ''
locations = ['filesystem:src/main/resources/db/migration']
validateMigrationNaming = true
ignoreMigrationPatterns = ['*:pending']
}

tasks.named('build') {
dependsOn 'flywayValidate'
}

tasks.named('bootJar') {
dependsOn 'flywayValidate'
}
19 changes: 16 additions & 3 deletions docker-compose.stage.yml → docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,28 @@ services:
- redis
network_mode: host

solid-connection-stage:
solid-connection-dev:
build:
context: .
dockerfile: Dockerfile
container_name: solid-connection-stage
container_name: solid-connection-dev
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=stage
- SPRING_PROFILES_ACTIVE=dev
volumes:
- ./logs:/var/log/spring
depends_on:
- redis
network_mode: host

alloy:
image: grafana/alloy:latest
container_name: alloy
ports:
- "12345:12345"
volumes:
- ./logs:/var/log/spring
- ./docs/config.alloy:/etc/alloy/config.alloy:ro
environment:
- ALLOY_ENV=dev
13 changes: 13 additions & 0 deletions docker-compose.prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,18 @@ services:
- SPRING_PROFILES_ACTIVE=prod
- SPRING_DATA_REDIS_HOST=redis
- SPRING_DATA_REDIS_PORT=6379
volumes:
- ./logs:/var/log/spring
depends_on:
- redis

alloy:
image: grafana/alloy:latest
container_name: alloy
ports:
- "12345:12345"
volumes:
- ./logs:/var/log/spring
- ./docs/config.alloy:/etc/alloy/config.alloy:ro
environment:
- ALLOY_ENV=production
Loading
Loading