Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
538 commits
Select commit Hold shift + click to select a range
35a491b
[chore] global 경로를 포함한 패키지 import 경로 수정 #75
icegosimperson Aug 7, 2025
fa4d880
[feat] influencers 테이블에 fancard_image칼럼 추가 #75
icegosimperson Aug 7, 2025
129e23c
[feat] category 저장을 위한 EnumTypeHandler 추가 #75
icegosimperson Aug 7, 2025
013585b
[feat] findProfile로 통일 및 불필요한 컨트롤러 삭제 #75
icegosimperson Aug 7, 2025
efe4045
[delete] S3 구현으로 인해 불필요해진 컨트롤러 삭제 #75
icegosimperson Aug 7, 2025
beb630c
[delete] S3 구현으로 인해 불필요해진 메서드 삭제 #75
icegosimperson Aug 7, 2025
b9b8d68
[feat] 이미 예약한 팬미팅인지 확인하는 API 추가 (#85)
AshtonSW Aug 8, 2025
78ecebb
[feat] 인플루언서 상세 조회 API에 멤버십 정보 연동 #62
joojinhyeok Aug 8, 2025
adb8e9a
[chore] Enum(UserRole) 추가
yonseeee Aug 8, 2025
3308b45
[chore] UserDTO: recipient_name 삭제, UserRole 추가
yonseeee Aug 8, 2025
0e5cda0
[chore] UserMappe.xml Users->users 대소문자 수정
yonseeee Aug 8, 2025
f779da2
[chore] createTables.sql 삭제
yonseeee Aug 8, 2025
209987f
[feat] CardMapper, FanCardMapper, MarketMapper, MembershipMapper 테이블명…
yonseeee Aug 9, 2025
a840541
[feat] createTables.sql 추가
yonseeee Aug 9, 2025
6fbc710
[fix] dto 클래스에 각 필요 필드 추가
AshtonSW Aug 10, 2025
e18d781
[feat] 팬미팅 매퍼에 인플루언서 정보 및 좌석 수 관리 기능 추가
AshtonSW Aug 10, 2025
0e025fb
[feat] 팬미팅 생성 시 인플루언서 정보 및 이미지 URL 추가 및 검증 로직 반영
AshtonSW Aug 10, 2025
c581f86
[feat] 팬미팅 좌석 예약에 사용자+좌석 잠금 및 잔여 좌석 관리 추가
AshtonSW Aug 10, 2025
504d5af
[feat] 팬미팅 좌석 예약에 사용자+좌석 잠금 및 잔여 좌석 관리 추가
AshtonSW Aug 10, 2025
e9075ec
[fix] swagger 오류 해결
khanz0613 Aug 6, 2025
46c7172
[fix] JWT 인증 필터에서 공개 엔드포인트 제외 처리 추가
khanz0613 Aug 8, 2025
96869b1
[feat] 팬카드 API 실제 데이터베이스 연동 구현
khanz0613 Aug 8, 2025
9bcd53b
[fix] 애플리케이션 설정 파일 정리 및 수정
khanz0613 Aug 8, 2025
91867b7
[remove] 불필요한 테스트 SQL 파일 삭제
khanz0613 Aug 11, 2025
c56ea25
[feat] QR 코드 검증 API 구현
khanz0613 Aug 11, 2025
3110fbf
[refactor] 팬카드 도메인 모델 간소화
khanz0613 Aug 11, 2025
9ac545c
[chore] .gitignore 업데이트
khanz0613 Aug 11, 2025
096b9d7
[fix] JWT 인증 필터에서 공개 엔드포인트 제외 처리 추가
khanz0613 Aug 8, 2025
e57e115
[feat] 팬카드 API 실제 데이터베이스 연동 구현
khanz0613 Aug 8, 2025
7f23314
[fix] swagger 오류 해결
khanz0613 Aug 6, 2025
d1111c9
[fix] JWT 인증 필터에서 공개 엔드포인트 제외 처리 추가
khanz0613 Aug 8, 2025
252d45f
[feat] QR 코드 검증 API 구현
khanz0613 Aug 11, 2025
ee5c753
[refactor] 팬카드 도메인 모델 간소화
khanz0613 Aug 11, 2025
cd57e4c
[fix] JWT 인증 필터에서 공개 엔드포인트 제외 처리 추가
khanz0613 Aug 8, 2025
15e5529
[feat] 팬카드 API 실제 데이터베이스 연동 구현
khanz0613 Aug 8, 2025
d4a9f9d
[feat] QR 코드 검증 API 구현
khanz0613 Aug 11, 2025
dbee030
[refactor] 팬카드 도메인 모델 간소화
khanz0613 Aug 11, 2025
fc64c0e
[fix] JWT 인증 필터에서 공개 엔드포인트 제외 처리 추가
khanz0613 Aug 8, 2025
82c446a
[feat] 팬카드 API 실제 데이터베이스 연동 구현
khanz0613 Aug 8, 2025
d32d5c3
[feat] QR 코드 검증 API 구현
khanz0613 Aug 11, 2025
ec5db55
[refactor] 팬카드 도메인 모델 간소화
khanz0613 Aug 11, 2025
c8a3908
[feat] MeetingSurveyMapper 구현 #99
icegosimperson Aug 11, 2025
92e0304
[feat] survey 관련 설정 추가 #99
icegosimperson Aug 11, 2025
f63ec78
[feat] 사용자 만족도 조사 API 구현 #99
icegosimperson Aug 11, 2025
02cf867
[feat] 사용자 만족도 요약 API 구현 #99
icegosimperson Aug 11, 2025
2a9b423
[feat] 사용자 만족도 AI 보고서 구현 #99
icegosimperson Aug 11, 2025
a942f48
[feat] OpenAI API 의존성 추가 #99
icegosimperson Aug 11, 2025
a45863f
[chore] .gitignore 업데이트
joojinhyeok Aug 11, 2025
ea3031a
[chore] service-account 예시 파일 추가 #93
joojinhyeok Aug 11, 2025
c755dc6
[chore] Firebase 의존성 추가 #93
joojinhyeok Aug 11, 2025
835679d
[feat] FCM 초기화 발송, 토큰 업서트, 알림 API 추가 #93
joojinhyeok Aug 11, 2025
18f73e3
[fix] mapper 수정 #93
joojinhyeok Aug 11, 2025
afbc777
[chore] 공통 sql 수정 #93
joojinhyeok Aug 11, 2025
e195a2e
[fix] payments @NoArgsConstructor 어노테이션 추가 #99
icegosimperson Aug 11, 2025
003ca83
[feat] AI 리포트 분석 줄글 형태로 변경 #99
icegosimperson Aug 11, 2025
09bb3ff
[feat] JwtProcessor: JWT에 role 추가
yonseeee Aug 11, 2025
f8959c6
[feat] KakaoUserDTO: UserRole 필드 추가
yonseeee Aug 11, 2025
5f3a44f
[feat] JwtAccessDeniedHandler: 403 핸들러 등록
yonseeee Aug 11, 2025
8828fe8
[feat] JwtAuthenticationFilter에 role 기반 GrantedAuthority 적용
yonseeee Aug 11, 2025
de24f50
[feat] SecurityConfig: jwtAccessDeniedHandler 추가, 경로에 따른 권한 수정
yonseeee Aug 11, 2025
ab53cae
[fix] UserService: register 리턴 타입 Long->UserDTO 변경
yonseeee Aug 11, 2025
5d30115
[fix] KakaoOAuthService: KaKaoIserDTO에 role 세팅
yonseeee Aug 11, 2025
31f4193
[fix] AuthController, UserController: jwt 생성 인자에 role 추가
yonseeee Aug 11, 2025
d6c7b90
[fix] SecurityConfig: 인플루언서 경로 권한 설정
yonseeee Aug 11, 2025
0f9a5db
[fix] SecurityConfig: 인플루언서 경로 권한 설정
yonseeee Aug 12, 2025
55eb6a5
[feat] GPT4로 모델 변경 후 친근한 줄글 말투로 반환 #99
icegosimperson Aug 12, 2025
805921f
[test] AI 리포트 테스트 #99
icegosimperson Aug 12, 2025
7662534
[feat] 사용자의 배송지 불러오기 #60
DaOpen Aug 3, 2025
fca42fb
[refactor] 정리된 컬럼 수정 #60
DaOpen Aug 10, 2025
d188e75
[fix] JWT Security 추가 후 토큰 받기 수정 #60
DaOpen Aug 10, 2025
116b315
[fix] Security 추가 후 토큰 받기 수정 #60
DaOpen Aug 10, 2025
b7503d2
[refactor] options 테이블 삭제 후 코드 리팩토링 #60
DaOpen Aug 10, 2025
98f74fb
[feat] 사용자 배송 정보 추가 #60
DaOpen Aug 10, 2025
8731253
[test] 삭제, 추가된 컬럼에 대한 단위테스트 #60
DaOpen Aug 10, 2025
c5bbfc5
[feat] 마켓에서 주문 생성 #60
DaOpen Aug 10, 2025
aea36c1
[feat] 결제 승인 및 실패시 처리 #60
DaOpen Aug 10, 2025
b583cf4
[refactor] db snake case로 수정 #60
DaOpen Aug 11, 2025
0bd791c
[feat] 주문 용 에러 추가 #60
DaOpen Aug 12, 2025
0271a41
[feat] 결제 연동 #60
DaOpen Aug 12, 2025
0531e94
Merge branch 'develop' into feature/FZ-136-feature/meeting-survey-fee…
icegosimperson Aug 12, 2025
b7edfe3
[fix] 충돌 해결 #99
icegosimperson Aug 12, 2025
f717985
[fix] 충돌 해결 #99
icegosimperson Aug 12, 2025
f138ced
Merge pull request #109 from fanzip/feature/FZ-136-feature/meeting-su…
icegosimperson Aug 12, 2025
ba4cbaf
[feat] 구독자 수 증감 추이 Mapper 구현 #110
icegosimperson Aug 12, 2025
aaf9ae0
[feat] 구독자 수 증감 추이 Mapper.java 구현 #110
icegosimperson Aug 12, 2025
a7ed74a
[feat] 구독자 수 증감 추이 serviceImpl 구현 #110
icegosimperson Aug 12, 2025
b896ac1
[feat] 구독자 수 증감 추이 service 구현 #110
icegosimperson Aug 12, 2025
f129434
[feat] 현재 날짜별 구독자 수 데이터를 반환하는 DTO 구현 #110
icegosimperson Aug 12, 2025
6720fce
[feat] 기간 별 구독자 증감 추이 DTO 구현 #110
icegosimperson Aug 12, 2025
46583bb
[feat] 증가 감소 반영한 총 구독 인원 포함 DTO 구현 #110
icegosimperson Aug 12, 2025
d220885
[delete] trand/weekly API 삭제 #110
icegosimperson Aug 12, 2025
aedadd2
[delete] trand/weekly API 삭제 #110
icegosimperson Aug 12, 2025
db20217
[feat] 구독자 수 증감 추이 관련 API 구현 #110
icegosimperson Aug 12, 2025
f577e4c
[feat] application.yml 최신화
khanz0613 Aug 12, 2025
b6062cf
[feat] QR 코드 생성 및 팬카드 시스템 개선
khanz0613 Aug 13, 2025
682fe7e
[feat] FCM 푸시 알림 시스템 및 토큰 관리 개선
khanz0613 Aug 13, 2025
f7792d1
[feat] 보안 설정 및 데이터베이스 스키마 업데이트
khanz0613 Aug 13, 2025
016fa92
[feat] 팬미팅 예약 시스템 매퍼 개선
khanz0613 Aug 13, 2025
c01eef7
[remove] Firebase 예시 설정 파일 제거
khanz0613 Aug 13, 2025
6e10031
[feat] 인플루언서 별 구독자 수 추이 mapper 구현 #110
icegosimperson Aug 13, 2025
bf6577a
[feat] 인플루언서 별 구독자 수 추이 repository 구현 #110
icegosimperson Aug 13, 2025
efd134d
[feat] 수익관련 DTO 추가 #110
icegosimperson Aug 13, 2025
f763e2c
[feat] 수익 관련 Service 추가 #110
icegosimperson Aug 13, 2025
badbc4a
[feat] 인플루언서 별 누적 수익, 오늘 수익, 월별 수익 API 구현 #110
icegosimperson Aug 13, 2025
5ff28a7
[feat] 인플루언서 프론트 요청 사항 추가 구현 #110
icegosimperson Aug 13, 2025
8f751b6
[fix] 인플루언서 차트(일, 주, 월) 리스트 형태로 반환하도록 수정
yonseeee Aug 13, 2025
737dfb4
[chore] PaymentMapper 수정: 년-월 포맷에서 월 포맷으로 변경
yonseeee Aug 13, 2025
c16ccd1
[feat] 상품 추가 API 구현
khanz0613 Aug 13, 2025
e0ad81f
[feat] 상품 추가 검증 및 예외 처리 시스템
khanz0613 Aug 13, 2025
3b881dc
[remove] category 항목 삭제
khanz0613 Aug 13, 2025
d0c99f0
[fix] influencerId 추가
AshtonSW Aug 13, 2025
1ce8190
[feat] 멤버십 정보 조회 API 추가
AshtonSW Aug 13, 2025
3d7cfba
[feat] 멤버십 정보 및 구독 상태 조회 DTO 추가
AshtonSW Aug 13, 2025
280bd4c
[feat] 사용자 멤버십 조회 서비스 로직 추가
AshtonSW Aug 13, 2025
148e28d
[refactor] 회원 정보 및 구독 조회 API 인증 방식 개선
AshtonSW Aug 13, 2025
6939ce4
[refactor] 주석 제거
AshtonSW Aug 13, 2025
45c0a2e
[feat] categories 컬럼 추가 및 vo, dto 수정 #152112
DaOpen Aug 13, 2025
82c62fc
[feat] 정렬 및 추천 기능 추가 #152
DaOpen Aug 13, 2025
874a88e
[test] 정렬 단위 테스트 진행 #152
DaOpen Aug 13, 2025
e6e8257
[style] 주석 삭제 #112
DaOpen Aug 13, 2025
3272d12
[feat] 검색 결과도 정렬 가능 #112
DaOpen Aug 13, 2025
84354f1
[test] 검색 결과 정렬 단위 테스트 #112
DaOpen Aug 13, 2025
5190191
[feat] 팬미팅 예약 결제/대기 상태 관리 쿼리 추가 및 취소 로직 개선
AshtonSW Aug 13, 2025
527129e
[feat] 팬미팅 예약 결제 프로세스 및 PENDING 상태 관리 로직 추가
AshtonSW Aug 13, 2025
59721af
[feat] 팬미팅 좌석 결제 시작 API 추가
AshtonSW Aug 13, 2025
9f517b7
[feat] 팬미팅 조회 기능 구독 여부 기반으로 확장 및 세부 정보 필드 추가
AshtonSW Aug 13, 2025
2667762
[feat] 결제/예약 상태 동기화용 FanMeetingPaymentProbeMapper 추가
AshtonSW Aug 13, 2025
b8ccdd5
[feat] 결제 의도 응답 DTO(PaymentIntentResponseDTO) 추가
AshtonSW Aug 13, 2025
2eb7a77
[feat] Redis 좌석 홀드 관리용 SeatHold DTO 추가
AshtonSW Aug 13, 2025
d158e1c
[config] 스케줄링 기능 활성화 설정(MeetingSchedulingConfig) 추가
AshtonSW Aug 13, 2025
ce14031
[feat] FanMeetingController에 구독/비구독 팬미팅 조회 API 추가
AshtonSW Aug 13, 2025
17639e7
[feat] FanMeetingMapper에 구독 여부 기반 팬미팅 조회 및 influencerId 반환 기능 추가
AshtonSW Aug 13, 2025
928022e
[feat] FanMeetingSeatResponseDTO에 결제 대기 상태 필드 추가
AshtonSW Aug 13, 2025
6f5dd43
[feat] ReservationStatus에 PENDING 추가
AshtonSW Aug 13, 2025
c775b3b
[feat] 좌석 조회 시 결제 대기 상태(pending) 표시 기능 추가
AshtonSW Aug 13, 2025
195a59b
[fix] 컨트롤러 인증 정보 접근 방식 통일
AshtonSW Aug 13, 2025
5ed7b2f
[refactor] 오타 수정 및 주석 추가
AshtonSW Aug 13, 2025
7544ac1
[fix] UserGrade 하드코딩 된 부분 수정
AshtonSW Aug 13, 2025
41ff505
[chore] PaymentMapper 수정: 정렬 기준 오름차순으로 변경
yonseeee Aug 14, 2025
b8c27bf
[feat] 상품 추가 api categories 추가 #133
DaOpen Aug 14, 2025
3dfaa2d
[fix] 등급에 따른 상품 오픈 시간 같아도 되도록 수정 #133
DaOpen Aug 14, 2025
7f35255
[fix] 카테고리를 리스트로 받아오도록 수정 #133
DaOpen Aug 14, 2025
b8c14df
[chore] Bean Validation 관련 의존성 추가 #107
joojinhyeok Aug 14, 2025
2b2ea7d
[feat] Notification 구현 #107
joojinhyeok Aug 14, 2025
7d6882e
[feat] 팬미팅 이벤트, 리스너 구현 및 DTO 수정 #107
joojinhyeok Aug 14, 2025
a563c5a
[feat] 인플루언서 서비스 코드 수정 #107
joojinhyeok Aug 14, 2025
30e42f3
[fix] VO 수정 #107
joojinhyeok Aug 14, 2025
66b6003
[feat] JWT 값 환경변수에 추가
khanz0613 Aug 14, 2025
8873e98
[feat] gradle.yml에 값 추가
khanz0613 Aug 14, 2025
c27db5a
[feat] 멤버십 결제 연동 #136
joojinhyeok Aug 14, 2025
f23aa6e
[feat] 멤버십 결제 연동 #136
joojinhyeok Aug 14, 2025
8688bda
[feat] service-account.json을 환경변수로 추가.
khanz0613 Aug 15, 2025
9c14e8a
[feat] yml 파싱 에러 해결 및 docker-compose 수정
khanz0613 Aug 15, 2025
4148ecd
[fix] docker-compose 업데이트 되지 않는 오류 해결 및 FCM 검증 로직 추가
khanz0613 Aug 15, 2025
028a345
[fix] json 따옴표 삭제
khanz0613 Aug 15, 2025
5fb68f5
[fix] docker-compose 생성 순서 변경
khanz0613 Aug 15, 2025
666eb00
[feat] gradle.yml에 env 추가
khanz0613 Aug 15, 2025
4493241
[feat] 환경변수 파일로 저장
khanz0613 Aug 15, 2025
a1a9504
[fix] github actions 로그 추가
khanz0613 Aug 15, 2025
a17712c
[feat] SecurityConfig.java에 카카오 경로 인증 없이 접근하게 변경
khanz0613 Aug 15, 2025
9e834c3
[feat] CORS 설정에 도메인 추가
khanz0613 Aug 15, 2025
eccda78
[fix] setSecure true 로 변경.
khanz0613 Aug 15, 2025
0a5aa0f
[feat] 팬카드 결제 히스토리 조회 기능 구현
khanz0613 Aug 16, 2025
71175f2
[feat] 팬카드 상세 응답에 결제 히스토리 추가 및 DTO 개선
khanz0613 Aug 16, 2025
efb150e
[feat] 멤버십 구독 취소 API 및 매퍼 구현
khanz0613 Aug 16, 2025
c55f0bf
[refactor] 글로벌 설정 및 결제 에러 코드 개선
khanz0613 Aug 16, 2025
0e00d04
[fix] 구독 취소 후 인플루언서 목록 재표시 문제 해결
khanz0613 Aug 16, 2025
16aa74b
[feat] service-account.json을 환경변수로 추가.
khanz0613 Aug 15, 2025
e812fc0
[feat] yml 파싱 에러 해결 및 docker-compose 수정
khanz0613 Aug 15, 2025
4a3050c
[fix] docker-compose 업데이트 되지 않는 오류 해결 및 FCM 검증 로직 추가
khanz0613 Aug 15, 2025
4c539d0
[fix] json 따옴표 삭제
khanz0613 Aug 15, 2025
8fa4ae0
[fix] docker-compose 생성 순서 변경
khanz0613 Aug 15, 2025
8e8f831
[feat] gradle.yml에 env 추가
khanz0613 Aug 15, 2025
3ab0976
[feat] 환경변수 파일로 저장
khanz0613 Aug 15, 2025
56417c1
[fix] github actions 로그 추가
khanz0613 Aug 15, 2025
e1852c7
[feat] SecurityConfig.java에 카카오 경로 인증 없이 접근하게 변경
khanz0613 Aug 15, 2025
18bad1c
[feat] CORS 설정에 도메인 추가
khanz0613 Aug 15, 2025
b52d0f8
[fix] setSecure true 로 변경.
khanz0613 Aug 15, 2025
dc472cf
[feat] 팬카드 결제 히스토리 조회 기능 구현
khanz0613 Aug 16, 2025
7990566
[feat] 팬카드 상세 응답에 결제 히스토리 추가 및 DTO 개선
khanz0613 Aug 16, 2025
bb282ce
[feat] 멤버십 구독 취소 API 및 매퍼 구현
khanz0613 Aug 16, 2025
e7ec345
[refactor] 글로벌 설정 및 결제 에러 코드 개선
khanz0613 Aug 16, 2025
56f05fc
[fix] 구독 취소 후 인플루언서 목록 재표시 문제 해결
khanz0613 Aug 16, 2025
c430e70
[feat] membership 결제 승인 연동
icegosimperson Aug 15, 2025
afb3bac
[feat] mock 데이터 삭제
icegosimperson Aug 15, 2025
d642c50
[feat] selectPaymentForUpdate 구현
icegosimperson Aug 16, 2025
014991b
[feat] fanMeetingReservation에 reservationID로 검색 기능 구현
icegosimperson Aug 16, 2025
ce6d2d2
[test] 단위 테스트 mock 데이터 -> 실제 로직 반영
icegosimperson Aug 16, 2025
5d3c9c5
[test] 통합 테스트 삭제
icegosimperson Aug 16, 2025
a9c9602
[feat] payments 테이블 influencer_id 컬럼 추가
icegosimperson Aug 16, 2025
067d82e
[feat] membership 결제 승인 로직 중복 제거 및 변경
icegosimperson Aug 16, 2025
3ce7cb5
[feat] 결제 요청 시 influencer_id 누락 문제 해결
icegosimperson Aug 16, 2025
826bfe9
[feat] 각 결제 타입 별로 메서드 분리
icegosimperson Aug 16, 2025
e9588ef
[feat] rootConfig에 fancard.service 추가
icegosimperson Aug 16, 2025
1464615
Merge branch 'develop' into feature/membership-payment-back
icegosimperson Aug 16, 2025
960698e
Resolve merge conflicts in membership and payment modules
icegosimperson Aug 16, 2025
6f7e9c1
[fix] 충돌 해결
icegosimperson Aug 16, 2025
882cd40
[fix] 충돌 해결
icegosimperson Aug 16, 2025
617e054
Merge pull request #155 from fanzip/feature/membership-payment-back
icegosimperson Aug 16, 2025
f97f8c6
[feat] build.gradle: 모니터링 관련 의존성 추가
yonseeee Aug 16, 2025
fe42da6
[feat] 모니터링 docker compose 환경 구성
yonseeee Aug 16, 2025
0cb5b64
[feat] Prometheus 수집 대상 및 AlertManager 연동 설정
yonseeee Aug 16, 2025
65ba46f
[feat] 시스템 성능 및 비즈니스 메트릭 알림 규칙 추가
yonseeee Aug 16, 2025
ac106c0
[feat] Slack 연동 알림 시스템 설정
yonseeee Aug 16, 2025
7d16579
[feat] Micrometer Prometheus 메트릭 설정 추가
yonseeee Aug 16, 2025
82de54e
[feat] 비즈니스 메트릭 수집 서비스 추가
yonseeee Aug 16, 2025
88bb96f
[feat] API 메트릭 자동 수집 인터셉터 추가
yonseeee Aug 16, 2025
aa9823a
[feat] Prometheus 메트릭 엔드포인트 컨트롤러 추가
yonseeee Aug 16, 2025
4957b4c
[feat] metricsInterceptor 등록
yonseeee Aug 16, 2025
c5bdbfc
[feat] /metrics 엔드포인트 jwt 인증 x
yonseeee Aug 16, 2025
b797ef9
[feat] 컨트롤러 비즈니스 메트릭 연동
yonseeee Aug 16, 2025
47f46a6
[fix] 인플루언서 등급 못받아오던 문제 해결 #158
DaOpen Aug 16, 2025
da1afae
[feat] 상품 이미지 및 팬미팅 포스터 s3 업로드 기능 추가#142
joojinhyeok Aug 17, 2025
539b317
[refactor] 서비스 코드 수정 및 주석 제거 #142
joojinhyeok Aug 17, 2025
8b54bc1
[feat] 마켓 등록 연동 및 FCM 이벤트 및 리스너 추가 #142
joojinhyeok Aug 17, 2025
2670faf
[feat] 마켓 등록 시 알림 발송 매퍼 추가 #142
joojinhyeok Aug 17, 2025
3269acf
[refactor] 마켓 등록 시 등급별 오픈시간 자동 계산 #142
joojinhyeok Aug 17, 2025
c470e21
[refactor] 서비스 코드 수정 및 주석 제거 #142
joojinhyeok Aug 17, 2025
8cb9164
[fix] pending-seats 오류 수정
AshtonSW Aug 17, 2025
27ba697
[fix] 미 커밋된 부분 추가
AshtonSW Aug 17, 2025
938feb4
[fix] 결제 시스템 보안 강화 및 ORDER 타입 influencer_id 자동 조회
khanz0613 Aug 17, 2025
618918e
[feat] 팬카드 추억 탭 결제 히스토리 완전 개선
khanz0613 Aug 17, 2025
fe5679d
[feat] 구독 해지 이벤트 시간순 아카이빙 시스템 구현
khanz0613 Aug 17, 2025
b82688c
[feat] 팬카드 상세 응답에 활성 상태 정보 추가
khanz0613 Aug 17, 2025
2c8670e
[feat] 주문 완료 처리 실패 에러 코드 추가
khanz0613 Aug 17, 2025
7fb6441
[feat] 결제 승인/실패/취소 처리 로직 완전 개선
khanz0613 Aug 17, 2025
bd73deb
[feat] 만료된 결제 정리 스케줄러 서비스 추가
khanz0613 Aug 17, 2025
123d45f
[feat] 모바일 티켓 데이터 API 인플루언서 정보 추가
khanz0613 Aug 17, 2025
40720e9
[feat] 멤버십 해지 시 팬카드 자동 비활성화
khanz0613 Aug 17, 2025
57d76cf
[feat] 팬미팅 예약 정보 조회 API 확장
khanz0613 Aug 17, 2025
76eb67f
[feat] 팬미팅 인식 조건 추가
khanz0613 Aug 17, 2025
1f95d22
[fix] 팬미팅 예약 확인 쿼리 조건 수정
khanz0613 Aug 18, 2025
9120f06
[feat] 사용자 전체 팬미팅 예약 확인 API 추가
khanz0613 Aug 18, 2025
3cb1a90
[fix] 팬카드 추억 텍스트 '예약'을 '예매'로 변경
khanz0613 Aug 18, 2025
2b98880
[fix] QR 검증 제대로 되도록 수정
khanz0613 Aug 18, 2025
31ba4d3
[fix] mybatis 로그 안나오도록 변경
khanz0613 Aug 18, 2025
69efeab
[feat] 주문 완료 페이지용 주문 상품 조회 API 추가
khanz0613 Aug 18, 2025
91d0014
[feat] 주문 상세 정보 조회 API 추가
khanz0613 Aug 18, 2025
47c74f3
결제 완료 jsp 추가
khanz0613 Aug 18, 2025
c46a316
[fix] 상품 구매 페이지 오류 수정
khanz0613 Aug 19, 2025
c843dad
[refactor] FCM 토큰 저장 매퍼 및 서비스 코드 수정 #168
joojinhyeok Aug 19, 2025
78262ce
[feat] yml에 aws, app 추가
khanz0613 Aug 19, 2025
085c3c9
[chore] yml 파일 수정 #177
joojinhyeok Aug 19, 2025
b291a38
[fix] 카트 없을 때 자동으로 생성되도록 수정
khanz0613 Aug 19, 2025
7976225
[chore] yml 파일 수정 #180
joojinhyeok Aug 19, 2025
d83d368
[fix] swagger 미적용 부분들 마무리
AshtonSW Aug 19, 2025
bb487d1
[fix] aws 키 미적용 문제 해결
AshtonSW Aug 19, 2025
1e07ea4
[refactor] 마켓 등록 DTO, Mapper 수정 #185
joojinhyeok Aug 20, 2025
5aafa98
Revert "[refactor] 마켓 등록 DTO, Mapper 수정 #185"
joojinhyeok Aug 20, 2025
f427ccb
[chore] merge: resolve conflicts between main and develop
AshtonSW Sep 4, 2025
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
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/issue-form.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: '이슈 생성'
description: 'Repo에 이슈를 생성하며, 생성된 이슈는 Jira와 연동됩니다.'
labels: [feat]
title: '이슈 이름을 작성해주세요'
body:
- type: input
id: parentKey
attributes:
label: '🎟️ 상위 작업 (Ticket Number)'
description: '상위 작업의 Ticket Number를 기입해주세요'
placeholder: 'PRJ-00'
validations:
required: true

- type: dropdown
id: branchType
attributes:
label: '📂 브랜치 타입 (Branch Type)'
description: '브랜치 타입을 선택해주세요'
options:
- feature
- style
- fix
- refactor
- docs
- chore
validations:
required: true

- type: input
id: branch
attributes:
label: '🌳 브랜치명 (Branch)'
description: '영어로 브랜치명을 작성해주세요'
validations:
required: true

- type: input
id: description
attributes:
label: '📝 상세 내용(Description)'
description: '이슈에 대해서 간략히 설명해주세요'
validations:
required: true

- type: textarea
id: tasks
attributes:
label: '✅ 체크리스트(Tasks)'
description: '해당 이슈에 대해 필요한 작업목록을 작성해주세요'
value: |
- [ ] Task1
- [ ] Task2
validations:
required: true
35 changes: 35 additions & 0 deletions .github/workflows/close-jira-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Close Jira issue
on:
issues:
types:
- closed

jobs:
close-issue:
name: Close Jira issue
runs-on: ubuntu-latest

steps:
- name: Login to Jira
uses: atlassian/gajira-login@v3
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}

- name: Extract Jira issue key from GitHub issue title
id: extract-key
run: |
ISSUE_TITLE="${{ github.event.issue.title }}"
# 알파벳/숫자/하이픈만 허용하여 필터링
SAFE_TITLE=$(echo "$ISSUE_TITLE" | tr -cd '[:alnum:]- ')
# 패턴 미매칭 시에도 스크립트가 종료되지 않도록 처리
JIRA_KEY=$(echo "$SAFE_TITLE" | grep -oE '[A-Z]+-[0-9]+' || true)
echo "JIRA_KEY=$JIRA_KEY" >> $GITHUB_ENV

- name: Close Jira issue
if: env.JIRA_KEY != ''
uses: atlassian/gajira-transition@v3
with:
issue: ${{ env.JIRA_KEY }}
transition: 완료
97 changes: 97 additions & 0 deletions .github/workflows/create-jira-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Create Jira issue
on:
issues:
types:
- opened

permissions:
contents: write
issues: write

jobs:
create-issue:
name: Create Jira issue
runs-on: ubuntu-latest
steps:
- name: Login
uses: atlassian/gajira-login@v3
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}

- name: Checkout main code
uses: actions/checkout@v4
with:
ref: main

- name: Issue Parser
uses: stefanbuck/github-issue-parser@v3
id: issue-parser
with:
template-path: .github/ISSUE_TEMPLATE/issue-form.yml

- name: Log Issue Parser
run: |
echo '${{ steps.issue-parser.outputs.issueparser_parentKey }}'
echo '${{ steps.issue-parser.outputs.__ticket_number }}'
echo '${{ steps.issue-parser.outputs.jsonString }}'

- name: Convert markdown to Jira Syntax
uses: peter-evans/jira2md@v1
id: md2jira
with:
input-text: |
### Github Issue Link
- ${{ github.event.issue.html_url }}

${{ github.event.issue.body }}
mode: md2jira

- name: Create Issue
id: create
uses: atlassian/gajira-create@v3
with:
project: FZ
issuetype: Task
summary: '${{ github.event.issue.title }}'
description: '${{ steps.md2jira.outputs.output-text }}'
fields: |
{
"parent": {
"key": "${{ steps.issue-parser.outputs.issueparser_parentKey }}"
}
}

- name: Log created issue
run: echo "Jira Issue ${{ steps.issue-parser.outputs.issueparser_parentKey }}/${{ steps.create.outputs.issue }} was created"

- name: Checkout develop code
uses: actions/checkout@v4
with:
ref: develop

- name: Create branch with Ticket number and type
run: |
ISSUE_NUMBER="${{ steps.create.outputs.issue }}"
BRANCH_TYPE="${{ steps.issue-parser.outputs.issueparser_branchType }}"
ISSUE_TITLE="${{ steps.issue-parser.outputs.issueparser_branch }}"
SLUG_TITLE=$(echo "${ISSUE_TITLE}" | sed 's/ /-/g' | tr '[:upper:]' '[:lower:]')
BRANCH_NAME="${BRANCH_TYPE}/${ISSUE_NUMBER}-${SLUG_TITLE}"
git checkout -b "${BRANCH_NAME}"
git push origin "${BRANCH_NAME}"

- name: Update issue title
uses: actions-cool/issues-helper@v3
with:
actions: 'update-issue'
token: ${{ secrets.GITHUB_TOKEN }}
title: '[${{ steps.create.outputs.issue }}] ${{ github.event.issue.title }}'

- name: Add comment with Jira issue link
uses: actions-cool/issues-helper@v3
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
body: 'Jira Issue Created: [${{ steps.create.outputs.issue }}](${{ secrets.JIRA_BASE_URL }}/browse/${{ steps.create.outputs.issue }})'
164 changes: 164 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
name: Fanzip Server CI/CD with Docker

on:
push:
branches: ['develop'] # main 브랜치에 push할 때 실행

jobs:
deploy:
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'

# Spring Legacy Build (WAR)
- name: Make gradlew executable
run: chmod +x ./gradlew

- name: Spring Legacy Build
run: ./gradlew clean build -x test

# Docker Image Build
- name: Docker Image Build
run: docker build -t ekhanz/fanzip-server .

# DockerHub Login
- name: Docker Hub Login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# Docker Hub push
- name: Docker Hub Push
run: docker push ekhanz/fanzip-server

# GET GitHub IP
- name: Get GitHub IP
id: ip
uses: haythem/[email protected]

# Configure AWS Credentials
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2

- name: Add GitHub IP to AWS
run: |
echo "Using Security Group ID: ${{ secrets.AWS_SG_ID }}"
echo "Current AWS Account:"
aws sts get-caller-identity
echo "Available Security Groups:"
aws ec2 describe-security-groups --query 'SecurityGroups[*].[GroupId,GroupName]' --output table
aws ec2 authorize-security-group-ingress --group-id ${{ secrets.AWS_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32

# Deploy to EC2 with environment variables
- name: Deploy to EC2
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
port: ${{ secrets.EC2_SSH_PORT }}
timeout: 120s
script: |
# 현재 위치 확인
echo "=== 현재 디렉토리 ==="
pwd
ls -la

# 환경변수 파일 생성
echo "=== .env 파일 생성 ==="
cat > .env << 'EOF'
JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }}
DB_URL=${{ secrets.DB_URL }}
DB_USERNAME=${{ secrets.DB_USERNAME }}
DB_PASSWORD=${{ secrets.DB_PASSWORD }}
KAKAO_CLIENT_ID=${{ secrets.KAKAO_CLIENT_ID }}
KAKAO_REDIRECT_URI=${{ secrets.KAKAO_REDIRECT_URI }}
TOSS_PAYMENTS_CLIENT_KEY=${{ secrets.TOSS_PAYMENTS_CLIENT_KEY }}
TOSS_PAYMENTS_SECRET_KEY=${{ secrets.TOSS_PAYMENTS_SECRET_KEY }}
FIREBASE_CREDENTIALS_PATH=${{ secrets.FIREBASE_CREDENTIALS_PATH }}
FIREBASE_PROJECT_ID=${{ secrets.FIREBASE_PROJECT_ID }}
FIREBASE_CREDENTIALS_JSON=${{ secrets.FIREBASE_CREDENTIALS_JSON }}
aws.access-key=${{ secrets.AWS_ACCESS_KEY_ID }}
aws.secret-key=${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws.region=ap-northeast-2
EOF

# .env 파일 생성 확인
echo "=== .env 파일 확인 ==="
ls -la .env
head -3 .env

# Docker Compose 파일 생성
echo "=== docker-compose.yml 파일 생성 ==="
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
redis:
image: redis:7-alpine
container_name: fanzip-redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
restart: unless-stopped
command: redis-server --appendonly yes

app:
image: ekhanz/fanzip-server
container_name: fanzip-server
ports:
- "8080:8080"
depends_on:
- redis
env_file:
- .env
environment:
- REDIS_HOST=redis
- REDIS_PORT=6379
restart: unless-stopped

volumes:
redis_data:
EOF

# docker-compose.yml 파일 생성 확인
echo "=== docker-compose.yml 파일 확인 ==="
ls -la docker-compose.yml
echo "=== docker-compose.yml 내용 확인 ==="
cat docker-compose.yml

# 기존 컨테이너들 정리
sudo docker stop fanzip-redis fanzip-server || true
sudo docker rm fanzip-redis fanzip-server || true
sudo docker-compose down || true

# 최신 이미지 다운로드
sudo docker pull ekhanz/fanzip-server

# Docker Compose로 서비스 시작
sudo docker-compose up -d

# 컨테이너 상태 확인
sudo docker ps

# 환경변수 확인 (보안상 일부만)
echo "=== 환경변수 확인 ==="
sudo docker exec fanzip-server env | grep -E "FIREBASE_PROJECT_ID|DB_URL" | head -2

# Remove GitHub IP from Security Group
- name: Remove IP FROM security group
run: |
aws ec2 revoke-security-group-ingress --group-id ${{ secrets.AWS_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
14 changes: 13 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ build/
!**/src/test/**/build/

### IntelliJ IDEA ###
.idea
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
Expand Down Expand Up @@ -42,4 +43,15 @@ bin/
.DS_Store

### 환경 변수 ###
.env
.env

# workspace.xml 로컬 설정 파일
.idea/workspace.xml

### 설정 파일 ###
src/main/resources/application.yml
.claude/settings.local.json


### firebase 설정 파일
src/main/resources/firebase/service-account.json
1 change: 1 addition & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading