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

[deploy] merge develop to main #130

Merged
merged 59 commits into from
Jul 17, 2024
Merged

[deploy] merge develop to main #130

merged 59 commits into from
Jul 17, 2024

Conversation

hyerinhwang-sailin
Copy link
Collaborator

Related issue πŸ› 

  • closes #번호

Work Description ✏️

Trouble Shooting ⚽️

Related ScreenShot πŸ“·

Uncompleted Tasks πŸ˜…

To Reviewers πŸ“’

hoonyworld and others added 30 commits July 12, 2024 01:32
* [deploy] merge to main (#26)

* [#2] chore(.gitignore): .gradle, .idea 파일 μ‚­μ œ (#3)

* [refactor] #4 - λ„λ©”μΈν˜• 디렉터리 ꡬ쑰 λ³€κ²½ 및 local, dev, prod 운영 ν™˜κ²½ 뢄리 (#5)

* [#4] fix: 클래슀 μ²«κΈ€μž λŒ€λ¬Έμžλ‘œ μˆ˜μ •

* [#4] remove: enum μ‚­μ œ

* [#4] feat(BaseSuccessCode): 성곡 μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] feat(BaseErrorCode): μ—λŸ¬ μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] refactor: global νŒ¨ν‚€μ§€λ‘œ 이동

* [#4] refactor: μ„œλ²„ 운영 ν™˜κ²½ 뢄리

* [feat] #6 - dev, prod Dockerfile 뢄리 및 github Action CI workflow κ΅¬ν˜„ (#7)

* [#6] feat(Dockerfile): prod용 도컀 파일 κ΅¬ν˜„

* [#6] feat(Dockerfile-dev): dev용 도컀 파일 κ΅¬ν˜„

* [#6] feat(dev-CI.yml): dev용 CI workflow κ΅¬ν˜„

* [#6] feat(prod-CI.yml): prod용 CI workflow κ΅¬ν˜„

* [#6] chore(.gitignore): gradle-wrapper.jar νŒŒμΌμ€ λ ˆν¬μ§€ν† λ¦¬μ— ν¬ν•¨λ˜λ„λ‘ μ„€μ •

* [#6] fix(gradle-wrapper.jar): .gitignore둜 λˆ„λ½λœ 파일 μΆ”κ°€

* [#6] chore(build.grade): plain jar 생성 방지

* [#9] docs(README.md): μ„œλΉ„μŠ€ μ†Œκ°œ README v1 μž‘μ„± (#10)

* [#11] docs(README.md): λ¦¬λ“œλ―Έ μ—…λ°μ΄νŠΈ (#12)

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [feat] #14 - νšŒμ›, 홍보, λ“±μž₯인물, μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성 (#16)

* [#14] feat(Member): 멀버 μ—”ν‹°ν‹° 생성

* [#14] feat(Promotion): 홍보 μ—”ν‹°ν‹° 생성

* [#14] feat(Cast): λ“±μž₯인물 μ—”ν‹°ν‹° 생성

* [#14] feat(Staff): μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [#14} fix: μŠ€νƒœν”„, λ“±μž₯인물, 홍보 μ—”ν‹°ν‹° 상속관계 μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [#18] feat(Jenkinsfile): μ  ν‚¨μŠ€ 파일 생성 (#19)

* [#20] refactor(Jenkinsfile): μ  ν‚¨μŠ€ 파일 Webhook ν…ŒμŠ€νŠΈμš© 컀밋 (#21)

* [#22] feat(Jenkinsfile): Jenkins multibranch 슀크립트 μž‘μ„± (#23)

* HOTFIX(Jenkinsfile): Jenkins multibranch 슀크립트 μˆ˜μ •

* HOTFIX(workflows): λΉŒλ“œ ν›„ μ  ν‚¨μŠ€ 배포가 μ§„ν–‰λ˜λ„λ‘ μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* [#24] feat(Jenkinsfile): slack 연동 슀크립트 μž‘μ„± (#25)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* HOTFIX(workflow): μ˜€νƒ€ μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>
* chore(application-dev.yml): dialect μΆ”κ°€

* chore(application-prod.yml): dialect μΆ”κ°€

* [#28] chore(build.gradle): security μ˜μ‘΄μ„± λΉ„ν™œμ„±ν™”

- security μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”

* [#28] refactor(Booking): 예맀 엔티티에 λΉŒλ” 및 μ •μ νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(ErrorResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(Schedule): 회차 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(Performance): 곡연 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(SuccessResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(GlobalExceptionHandler): INTERNAL_SERVER_ERROR ν•Έλ“€λŸ¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] feat(BookingSuccessCode): 예맀 성곡 λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingErrorCode): 예맀 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingRetrieveResponse): 예맀 쑰회 응닡 DTO 생성

* [#28] feat(BookingRetrieveRequest): 예맀 쑰회 μš”μ²­ DTO 생성

* [#28] feat(BookingRepository): 예맀 λ ˆν¬μ§€ν† λ¦¬ 생성 및 λΉ„νšŒμ› 예맀 쑰회 μ‹œ 예맀 λ‚΄μ—­ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingService): 예맀 μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ 생성 및 λΉ„νšŒμ› 쑰회 λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingController): 예맀 컨트둀러 생성 및 λΉ„νšŒμ› 예맀쑰회 POST API κ΅¬ν˜„
* [#30] chore(build.gradle): springdoc μ˜μ‘΄μ„± μΆ”κ°€

* [#30] feat(SwaggerConfig): SwaggerConfig μΆ”κ°€

* [#30] feat(WebConfig): WebConfig μΆ”κ°€
* [#32] refactor(BookingController): λ©”μ„œλ“œλͺ… μˆ˜μ •

* [#32] feat(ConflictException): Conflict 409μ—λŸ¬ 클래슀 생성

* [#32] feat(GlobalExceptionHandler): ConflictException 등둝

* [#32] feat(TicketAvailabilityRequest): TicketAvailabilityRequest DTO 생성

* [#32] feat(TicketAvailabilityResponse): TicketAvailabilityResponse DTO 생성

* [#32] feat(ScheduleSuccessCode): ScheduleSuccessCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleErrorCode): ScheduleErrorCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleRepository): ScheduleRepository 생성

* [#32] feat(ScheduleService): ScheduleService 생성 및 νšŒμ°¨λ³„ ν‹°μΌ“ ꡬ맀 κ°€λŠ₯ μ—¬λΆ€ νŒλ‹¨ λ©”μ„œλ“œ κ΅¬ν˜„

* [#32] feat(ScheduleController): νšŒμ°¨λ³„ ν‹°μΌ“ μˆ˜λŸ‰ 쑰회 GET API κ΅¬ν˜„
* [#17] feat(build.gradle): jwt, security, open feign, Redis μ˜μ‘΄μ„± μΆ”κ°€

* [#17] feat(BeatApplication): OpenFeign κ΄€λ ¨ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#17] feat(RedisConfig): redis μ„€μ •

* [#17] feat: redis ν™œμš© jwt 토큰 생성 둜직 κ΅¬ν˜„

* [#17] feat(SecurityConfig): security μ„€μ •

* [#17] refactor: Member, Users μ—”ν‹°ν‹° μˆ˜μ • 및 κ΄€λ ¨ enum μΆ”κ°€

* [#17] feat: Member, Users 도메인 κ΄€λ ¨ 인증 둜직 κ΅¬ν˜„

* [#17] feat(MemberController): Member κ΄€λ ¨ API μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#17] feat: Security κ΄€λ ¨ 인증 객체 κ΅¬ν˜„

* [#17] feat: μ†Œμ…œλ‘œκ·ΈμΈ 둜직 κ΅¬ν˜„

* [#17] fix: μ†Œμ…œλ‘œκ·ΈμΈ 였λ₯˜ ν•΄κ²°

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

---------

Co-authored-by: DongHoon Lee <[email protected]>
* [#34] feat(Users): λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#34] feat(Entity): μ—”ν‹°ν‹° id ν•„λ“œ μˆ˜μ •

* [#34] refactor(application.yml): dialect μΆ”κ°€

* [#34] refactor(ScheduleService): 넀이밍 μˆ˜μ •

* [#34] refactor(BookingSuccessCode): λΉ„νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#34] feat(GuestBookingRequest): λΉ„νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#34] feat(GuestBookingResponse): λΉ„νšŒμ› 예맀 응닡 DTO 생성

* [#34] refactor(BookingRetrieveService): 넀이밍 μˆ˜μ •

* [#34] feat(PerformanceRepository): 곡연 λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] feat(UserRepository): μœ μ € λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] refactor(BookingRepository): λΉ„νšŒμ› 예맀 μ‹œ 넀가지 정보가 λͺ¨λ‘ 일치 ν•΄μ•Όλ§Œ λ‹€λ₯Έ μœ μ €λ‘œ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#34] refactor(ScheduleRepository): 비관적 락 적용

* [#34] feat(GuestBookingService): 비관적 락을 μ΄μš©ν•΄ λΉ„νšŒμ› 예맀 둜직 κ΅¬ν˜„

* [#34] feat(BookingController): λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„

* [#34] test(GuestBookingServiceConcurrencyTest): λ™μ‹œμ„± ν…ŒμŠ€νŠΈ κ΅¬ν˜„
* [#37] rename: 빈 좩돌 ν•΄κ²° μœ„ν•΄ UserRepositoryλ₯Ό UsersRepository둜 rename

* [#37] refactor: login responseμ—μ„œ refreshToken을 cookie에 담아주도둝 λ³€κ²½

* [#37] fix: dao, repository 좩돌 ν•΄κ²°

* [#37] refactor: μ–΄λ…Έν…Œμ΄μ…˜ μˆ˜μ •
* [#40] feat: repository μΆ”κ°€

* [#40] feat: 곡연 κ΄€λ ¨ 성곡, μ‹€νŒ¨ 메세지 μΆ”κ°€

* [#40] feat(PerformanceDetailResponse): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 응닡 dto

* [#40] feat(PerformanceService): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 둜직 κ΅¬ν˜„

* [#40] feat(PerformanceController): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#40] feat(SecurityConfig): auth whitelist update

* [#40] refactor: dto 뢄리 및 rename
* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 dto 생성

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 성곡 메세지 μΆ”κ°€

* [#42] feat(ScheduleService): μž”μ—¬ν‹°μΌ“κ³„μ‚°, μ˜ˆλ§€κ°€λŠ₯여뢀확인, μ˜ˆλ§€κ°€λŠ₯μ—¬λΆ€ update λ©”μ†Œλ“œ κ΅¬ν˜„

* [#42] feat(PerformanceService): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄μ˜ response μƒμ„±ν•˜λŠ” 둜직 κ΅¬ν˜„

* [#42] feat(PerformanceController): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄ 쑰회 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#42] feat(SecurityConfig): auth_whitelist update

* [#42] refactor(ScheduleService): findTicketAvailabilityμ—μ„œ getAvailableTicketCount method μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ •
* [#38] fix(Cast): Join ν•˜λŠ” λΆ€λΆ„ μˆ˜μ • 및 λΉŒλ”μ™€ 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ λ„μž…

* [#38] chore(application.yml): 계측 μˆ˜μ •

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성

* [#38] fix(UserRepository): μ€‘λ³΅λœ 클래슀 μ‚­μ œ

* [#38] feat(UserErrorCode): μœ μ €μ˜ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#38] refactor(MemberErrorCode): message λͺ©μ μ— 맞게 λ³€κ²½

* [#38] refactor(BookingSuccessCode): νšŒμ› 예맀 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성 컀밋에 λˆ„λ½λœ 클래슀 μΆ”κ°€

* [#38] refactor(GuestBookingService): scheduleμ—μ„œ λ°”λ‘œ get ν•˜λ„λ‘ μˆ˜μ •

* [#38] test(GuestBookingServiceConcurrencyTest): importλ¬Έ 경둜λͺ… λ³€κ²½

* [#38] refactor(MemberService): @transactional μ–΄λ…Έν…Œμ΄μ…˜μ΄ ν•„μš”ν•œ λ©”μ„œλ“œμ— ν•΄λ‹Ή μ˜΅μ…˜ μΆ”κ°€

* [#38] feat(MemberBookingRequest): νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#38] feat(MemberBookingResponse): νšŒμ› 예맀 응닡 DTO 생성

* [#38] refactor(MemberController): refreshToken을 쿠킀에 넣어주도둝 κ΅¬ν˜„

* [#38] feat(MemberBookingService): νšŒμ› 예맀 μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#38] feat(BookingController): νšŒμ› 예맀 μš”μ²­ POST API κ΅¬ν˜„

* [#38] fix: λΉŒλ“œ μ•ˆλ˜λŠ” λΆ€λΆ„ μˆ˜μ •

* [#38] remove(MemberBookingService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” importλ¬Έ μ‚­μ œ

* [#38] refactor: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 이름 μˆ˜μ •
* [#44] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#44] fix(Promotion): κΈ°λ³Έν‚€ 이름 μˆ˜μ •, performanceId 연관관계 μ„€μ •

* [#44] feat: Repository 및 κ΄€λ ¨ 둜직 μΆ”κ°€

* [#44] feat: errorcode, successcode μΆ”κ°€

* [#44] feat: ν™ˆνŽ˜μ΄μ§€ request, response dto 생성

* [#44] feat(ScheduleService): dueDate κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#44] feat(PerformanceService): ν™ˆνŽ˜μ΄μ§€ μ •λ ¬ 및 response 생성 둜직 κ΅¬ν˜„

* [#44] chore: import문 좔가
* [#46] remove(BookingRetrieveRequest): 클래슀 μ‚­μ œ

* [#46] refactor(BookingSuccessCode): νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#46] refactor(GuestBookingRetrieveResponse): 클래슀 λͺ… λ³€κ²½

* [#46] refactor(GuestBookingRetrieveRequest): μ•ˆμ“°λŠ” μ½”λ“œ μ£Όμ„μ²˜λ¦¬

* [#46] refactor(GuestBookingRetrieveService): 클래슀 λͺ… μˆ˜μ •μœΌλ‘œ μΈν•œ λ¦¬νŒ©ν† λ§

* [#46] refactor(SecurityConfig): 토큰 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” api 경둜 μΆ”κ°€ν•˜κΈ°

* [#46] refactor(BookingRepository): userId둜 μ˜ˆμ•½ 정보λ₯Ό κ°€μ Έμ˜€λŠ” JPA λ©”μ„œλ“œ κ΅¬ν˜„

* [#46] feat(MemberBookingRetrieveResponse): νšŒμ› 쑰회 응닡 DTO 생성

* [#46] feat(MemberBookingRetrieveService): νšŒμ› 예맀 쑰회 λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ κ΅¬ν˜„

* [#46] feat(BookingController): νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„
* [#49] feat: ν‹°μΌ“ κ΄€λ ¨ success, error code μΆ”κ°€

* [#49] feat(Booking): μž…κΈˆμ—¬λΆ€ setter λ©”μ†Œλ“œ μΆ”κ°€

* [#49] feat(TicketRetrieveResponse): 예맀자 확인 response dto 생성

* [#49] feat(Ticket): 예맀자 ν™•μΈμš© ν‹°μΌ“ 정보 response dto 생성

* [#49] feat(TicketRepository): 예맀자 ν•„ν„°λ§μš© λ©”μ†Œλ“œ 생성

* [#49] feat: 예맀자 μž…κΈˆμ •λ³΄ μˆ˜μ • request dto 생성

* [#49] feat(TicketDeleteRequest): 예맀자 μ‚­μ œ request dto 생성

* [#49] feat(TicketService): 예맀자 관리 κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#49] feat(TicketController): 예맀자 관리 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#49] chore: swagger annotation μΆ”κ°€
* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>
* [#54] feat(PerformanceSuccessCode): success code μΆ”κ°€

* [#54] feat: νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 dto 생성

* [#54] feat(PerformanceService): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 둜직 κ΅¬ν˜„

* [#54] feat(PerformanceRepository): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 κ΄€λ ¨ λ©”μ†Œλ“œ μΆ”κ°€

* [#54] feat(PerformanceController): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 μ—”λ“œν¬μΈνŠΈ 생성

* [#54] fix(TicketService): exception error μˆ˜μ •

* [#54] chore(application.yml): yml μˆ˜μ •
* [#58] fix(dev-CI.yml): Dev μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [#58] fix(prod-CI.yml): Prod μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •
* [#61] refactor(Performance): bankHolder ν•„λ“œ μΆ”κ°€

* [#61] chore(BookingController): swagger annotation μˆ˜μ •
* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성
* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [#63] feat(SecurityConfig): healthcheck url white_list에 등둝
* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

---------

Co-authored-by: DongHoon Lee <[email protected]>
* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€
* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [#57] fix:security μˆ˜μ •
hoonyworld and others added 24 commits July 17, 2024 00:44
* [#88] chore(dev-CI.yml): devμ„œλ²„ λ ˆλ””μŠ€ ν™˜κ²½λ³€μˆ˜ μ„€μ • μΆ”κ°€

* [#88] chore(prod-CI.yml): prod μ„œλ²„ λ ˆλ””μŠ€ ν™˜κ²½λ³€μˆ˜ μ„€μ • μΆ”κ°€
* [deploy] merge to main (#83)

* [deploy] merge to develop (#27)

* [deploy] merge to main (#26)

* [#2] chore(.gitignore): .gradle, .idea 파일 μ‚­μ œ (#3)

* [refactor] #4 - λ„λ©”μΈν˜• 디렉터리 ꡬ쑰 λ³€κ²½ 및 local, dev, prod 운영 ν™˜κ²½ 뢄리 (#5)

* [#4] fix: 클래슀 μ²«κΈ€μž λŒ€λ¬Έμžλ‘œ μˆ˜μ •

* [#4] remove: enum μ‚­μ œ

* [#4] feat(BaseSuccessCode): 성곡 μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] feat(BaseErrorCode): μ—λŸ¬ μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] refactor: global νŒ¨ν‚€μ§€λ‘œ 이동

* [#4] refactor: μ„œλ²„ 운영 ν™˜κ²½ 뢄리

* [feat] #6 - dev, prod Dockerfile 뢄리 및 github Action CI workflow κ΅¬ν˜„ (#7)

* [#6] feat(Dockerfile): prod용 도컀 파일 κ΅¬ν˜„

* [#6] feat(Dockerfile-dev): dev용 도컀 파일 κ΅¬ν˜„

* [#6] feat(dev-CI.yml): dev용 CI workflow κ΅¬ν˜„

* [#6] feat(prod-CI.yml): prod용 CI workflow κ΅¬ν˜„

* [#6] chore(.gitignore): gradle-wrapper.jar νŒŒμΌμ€ λ ˆν¬μ§€ν† λ¦¬μ— ν¬ν•¨λ˜λ„λ‘ μ„€μ •

* [#6] fix(gradle-wrapper.jar): .gitignore둜 λˆ„λ½λœ 파일 μΆ”κ°€

* [#6] chore(build.grade): plain jar 생성 방지

* [#9] docs(README.md): μ„œλΉ„μŠ€ μ†Œκ°œ README v1 μž‘μ„± (#10)

* [#11] docs(README.md): λ¦¬λ“œλ―Έ μ—…λ°μ΄νŠΈ (#12)

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [feat] #14 - νšŒμ›, 홍보, λ“±μž₯인물, μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성 (#16)

* [#14] feat(Member): 멀버 μ—”ν‹°ν‹° 생성

* [#14] feat(Promotion): 홍보 μ—”ν‹°ν‹° 생성

* [#14] feat(Cast): λ“±μž₯인물 μ—”ν‹°ν‹° 생성

* [#14] feat(Staff): μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [#14} fix: μŠ€νƒœν”„, λ“±μž₯인물, 홍보 μ—”ν‹°ν‹° 상속관계 μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [#18] feat(Jenkinsfile): μ  ν‚¨μŠ€ 파일 생성 (#19)

* [#20] refactor(Jenkinsfile): μ  ν‚¨μŠ€ 파일 Webhook ν…ŒμŠ€νŠΈμš© 컀밋 (#21)

* [#22] feat(Jenkinsfile): Jenkins multibranch 슀크립트 μž‘μ„± (#23)

* HOTFIX(Jenkinsfile): Jenkins multibranch 슀크립트 μˆ˜μ •

* HOTFIX(workflows): λΉŒλ“œ ν›„ μ  ν‚¨μŠ€ 배포가 μ§„ν–‰λ˜λ„λ‘ μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* [#24] feat(Jenkinsfile): slack 연동 슀크립트 μž‘μ„± (#25)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* HOTFIX(workflow): μ˜€νƒ€ μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [feat] #28 - λΉ„νšŒμ› 예맀 쑰회 POST API κ΅¬ν˜„ (#29)

* chore(application-dev.yml): dialect μΆ”κ°€

* chore(application-prod.yml): dialect μΆ”κ°€

* [#28] chore(build.gradle): security μ˜μ‘΄μ„± λΉ„ν™œμ„±ν™”

- security μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”

* [#28] refactor(Booking): 예맀 엔티티에 λΉŒλ” 및 μ •μ νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(ErrorResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(Schedule): 회차 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(Performance): 곡연 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(SuccessResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(GlobalExceptionHandler): INTERNAL_SERVER_ERROR ν•Έλ“€λŸ¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] feat(BookingSuccessCode): 예맀 성곡 λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingErrorCode): 예맀 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingRetrieveResponse): 예맀 쑰회 응닡 DTO 생성

* [#28] feat(BookingRetrieveRequest): 예맀 쑰회 μš”μ²­ DTO 생성

* [#28] feat(BookingRepository): 예맀 λ ˆν¬μ§€ν† λ¦¬ 생성 및 λΉ„νšŒμ› 예맀 쑰회 μ‹œ 예맀 λ‚΄μ—­ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingService): 예맀 μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ 생성 및 λΉ„νšŒμ› 쑰회 λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingController): 예맀 컨트둀러 생성 및 λΉ„νšŒμ› 예맀쑰회 POST API κ΅¬ν˜„

* [feat] #30 - SwaggerConfig 및 WebConfig κ΅¬ν˜„ (#31)

* [#30] chore(build.gradle): springdoc μ˜μ‘΄μ„± μΆ”κ°€

* [#30] feat(SwaggerConfig): SwaggerConfig μΆ”κ°€

* [#30] feat(WebConfig): WebConfig μΆ”κ°€

* HOTFIX(workflows): push 이벀트 μ‹œ github action이 λΉŒλ“œ λ˜μ§€ μ•Šλ„λ‘ μˆ˜μ •

* HOTFIX(Jenkinsfile): 포트 μˆ˜μ •

* [feat] #32 - ν‹°μΌ“ 예맀 κ°€λŠ₯ μ—¬λΆ€ GET API κ΅¬ν˜„ (#33)

* [#32] refactor(BookingController): λ©”μ„œλ“œλͺ… μˆ˜μ •

* [#32] feat(ConflictException): Conflict 409μ—λŸ¬ 클래슀 생성

* [#32] feat(GlobalExceptionHandler): ConflictException 등둝

* [#32] feat(TicketAvailabilityRequest): TicketAvailabilityRequest DTO 생성

* [#32] feat(TicketAvailabilityResponse): TicketAvailabilityResponse DTO 생성

* [#32] feat(ScheduleSuccessCode): ScheduleSuccessCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleErrorCode): ScheduleErrorCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleRepository): ScheduleRepository 생성

* [#32] feat(ScheduleService): ScheduleService 생성 및 νšŒμ°¨λ³„ ν‹°μΌ“ ꡬ맀 κ°€λŠ₯ μ—¬λΆ€ νŒλ‹¨ λ©”μ„œλ“œ κ΅¬ν˜„

* [#32] feat(ScheduleController): νšŒμ°¨λ³„ ν‹°μΌ“ μˆ˜λŸ‰ 쑰회 GET API κ΅¬ν˜„

* [feat] #17 - 카카였 μ†Œμ…œ 둜그인 API κ΅¬ν˜„ (#36)

* [#17] feat(build.gradle): jwt, security, open feign, Redis μ˜μ‘΄μ„± μΆ”κ°€

* [#17] feat(BeatApplication): OpenFeign κ΄€λ ¨ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#17] feat(RedisConfig): redis μ„€μ •

* [#17] feat: redis ν™œμš© jwt 토큰 생성 둜직 κ΅¬ν˜„

* [#17] feat(SecurityConfig): security μ„€μ •

* [#17] refactor: Member, Users μ—”ν‹°ν‹° μˆ˜μ • 및 κ΄€λ ¨ enum μΆ”κ°€

* [#17] feat: Member, Users 도메인 κ΄€λ ¨ 인증 둜직 κ΅¬ν˜„

* [#17] feat(MemberController): Member κ΄€λ ¨ API μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#17] feat: Security κ΄€λ ¨ 인증 객체 κ΅¬ν˜„

* [#17] feat: μ†Œμ…œλ‘œκ·ΈμΈ 둜직 κ΅¬ν˜„

* [#17] fix: μ†Œμ…œλ‘œκ·ΈμΈ 였λ₯˜ ν•΄κ²°

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #34 - λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„ (#35)

* [#34] feat(Users): λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#34] feat(Entity): μ—”ν‹°ν‹° id ν•„λ“œ μˆ˜μ •

* [#34] refactor(application.yml): dialect μΆ”κ°€

* [#34] refactor(ScheduleService): 넀이밍 μˆ˜μ •

* [#34] refactor(BookingSuccessCode): λΉ„νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#34] feat(GuestBookingRequest): λΉ„νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#34] feat(GuestBookingResponse): λΉ„νšŒμ› 예맀 응닡 DTO 생성

* [#34] refactor(BookingRetrieveService): 넀이밍 μˆ˜μ •

* [#34] feat(PerformanceRepository): 곡연 λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] feat(UserRepository): μœ μ € λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] refactor(BookingRepository): λΉ„νšŒμ› 예맀 μ‹œ 넀가지 정보가 λͺ¨λ‘ 일치 ν•΄μ•Όλ§Œ λ‹€λ₯Έ μœ μ €λ‘œ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#34] refactor(ScheduleRepository): 비관적 락 적용

* [#34] feat(GuestBookingService): 비관적 락을 μ΄μš©ν•΄ λΉ„νšŒμ› 예맀 둜직 κ΅¬ν˜„

* [#34] feat(BookingController): λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„

* [#34] test(GuestBookingServiceConcurrencyTest): λ™μ‹œμ„± ν…ŒμŠ€νŠΈ κ΅¬ν˜„

* [Refactor] #37 - 카카였 둜그인 API response μˆ˜μ • (#39)

* [#37] rename: 빈 좩돌 ν•΄κ²° μœ„ν•΄ UserRepositoryλ₯Ό UsersRepository둜 rename

* [#37] refactor: login responseμ—μ„œ refreshToken을 cookie에 담아주도둝 λ³€κ²½

* [#37] fix: dao, repository 좩돌 ν•΄κ²°

* [#37] refactor: μ–΄λ…Έν…Œμ΄μ…˜ μˆ˜μ •

* [feat] #40 - μ†Œκ°œ κ΄€λ ¨ 곡연 정보 쑰회 GET API κ΅¬ν˜„ (#41)

* [#40] feat: repository μΆ”κ°€

* [#40] feat: 곡연 κ΄€λ ¨ 성곡, μ‹€νŒ¨ 메세지 μΆ”κ°€

* [#40] feat(PerformanceDetailResponse): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 응닡 dto

* [#40] feat(PerformanceService): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 둜직 κ΅¬ν˜„

* [#40] feat(PerformanceController): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#40] feat(SecurityConfig): auth whitelist update

* [#40] refactor: dto 뢄리 및 rename

* [feat] #42 - 예맀 κ΄€λ ¨ 곡연 정보 GET API κ΅¬ν˜„ (#43)

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 dto 생성

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 성곡 메세지 μΆ”κ°€

* [#42] feat(ScheduleService): μž”μ—¬ν‹°μΌ“κ³„μ‚°, μ˜ˆλ§€κ°€λŠ₯여뢀확인, μ˜ˆλ§€κ°€λŠ₯μ—¬λΆ€ update λ©”μ†Œλ“œ κ΅¬ν˜„

* [#42] feat(PerformanceService): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄μ˜ response μƒμ„±ν•˜λŠ” 둜직 κ΅¬ν˜„

* [#42] feat(PerformanceController): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄ 쑰회 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#42] feat(SecurityConfig): auth_whitelist update

* [#42] refactor(ScheduleService): findTicketAvailabilityμ—μ„œ getAvailableTicketCount method μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ •

* [feat] #38 - νšŒμ› 예맀 POST API κ΅¬ν˜„ (#45)

* [#38] fix(Cast): Join ν•˜λŠ” λΆ€λΆ„ μˆ˜μ • 및 λΉŒλ”μ™€ 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ λ„μž…

* [#38] chore(application.yml): 계측 μˆ˜μ •

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성

* [#38] fix(UserRepository): μ€‘λ³΅λœ 클래슀 μ‚­μ œ

* [#38] feat(UserErrorCode): μœ μ €μ˜ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#38] refactor(MemberErrorCode): message λͺ©μ μ— 맞게 λ³€κ²½

* [#38] refactor(BookingSuccessCode): νšŒμ› 예맀 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성 컀밋에 λˆ„λ½λœ 클래슀 μΆ”κ°€

* [#38] refactor(GuestBookingService): scheduleμ—μ„œ λ°”λ‘œ get ν•˜λ„λ‘ μˆ˜μ •

* [#38] test(GuestBookingServiceConcurrencyTest): importλ¬Έ 경둜λͺ… λ³€κ²½

* [#38] refactor(MemberService): @transactional μ–΄λ…Έν…Œμ΄μ…˜μ΄ ν•„μš”ν•œ λ©”μ„œλ“œμ— ν•΄λ‹Ή μ˜΅μ…˜ μΆ”κ°€

* [#38] feat(MemberBookingRequest): νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#38] feat(MemberBookingResponse): νšŒμ› 예맀 응닡 DTO 생성

* [#38] refactor(MemberController): refreshToken을 쿠킀에 넣어주도둝 κ΅¬ν˜„

* [#38] feat(MemberBookingService): νšŒμ› 예맀 μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#38] feat(BookingController): νšŒμ› 예맀 μš”μ²­ POST API κ΅¬ν˜„

* [#38] fix: λΉŒλ“œ μ•ˆλ˜λŠ” λΆ€λΆ„ μˆ˜μ •

* [#38] remove(MemberBookingService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” importλ¬Έ μ‚­μ œ

* [#38] refactor: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 이름 μˆ˜μ •

* [feat] #44 - ν™ˆνŽ˜μ΄μ§€ 곡연 및 홍보 쑰회 GET API κ΅¬ν˜„ (#47)

* [#44] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#44] fix(Promotion): κΈ°λ³Έν‚€ 이름 μˆ˜μ •, performanceId 연관관계 μ„€μ •

* [#44] feat: Repository 및 κ΄€λ ¨ 둜직 μΆ”κ°€

* [#44] feat: errorcode, successcode μΆ”κ°€

* [#44] feat: ν™ˆνŽ˜μ΄μ§€ request, response dto 생성

* [#44] feat(ScheduleService): dueDate κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#44] feat(PerformanceService): ν™ˆνŽ˜μ΄μ§€ μ •λ ¬ 및 response 생성 둜직 κ΅¬ν˜„

* [#44] chore: import문 좔가

* [feat] #46 - νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„ (#48)

* [#46] remove(BookingRetrieveRequest): 클래슀 μ‚­μ œ

* [#46] refactor(BookingSuccessCode): νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#46] refactor(GuestBookingRetrieveResponse): 클래슀 λͺ… λ³€κ²½

* [#46] refactor(GuestBookingRetrieveRequest): μ•ˆμ“°λŠ” μ½”λ“œ μ£Όμ„μ²˜λ¦¬

* [#46] refactor(GuestBookingRetrieveService): 클래슀 λͺ… μˆ˜μ •μœΌλ‘œ μΈν•œ λ¦¬νŒ©ν† λ§

* [#46] refactor(SecurityConfig): 토큰 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” api 경둜 μΆ”κ°€ν•˜κΈ°

* [#46] refactor(BookingRepository): userId둜 μ˜ˆμ•½ 정보λ₯Ό κ°€μ Έμ˜€λŠ” JPA λ©”μ„œλ“œ κ΅¬ν˜„

* [#46] feat(MemberBookingRetrieveResponse): νšŒμ› 쑰회 응닡 DTO 생성

* [#46] feat(MemberBookingRetrieveService): νšŒμ› 예맀 쑰회 λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ κ΅¬ν˜„

* [#46] feat(BookingController): νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„

* [feat] #49 - 예맀자 관리 API κ΅¬ν˜„ (#51)

* [#49] feat: ν‹°μΌ“ κ΄€λ ¨ success, error code μΆ”κ°€

* [#49] feat(Booking): μž…κΈˆμ—¬λΆ€ setter λ©”μ†Œλ“œ μΆ”κ°€

* [#49] feat(TicketRetrieveResponse): 예맀자 확인 response dto 생성

* [#49] feat(Ticket): 예맀자 ν™•μΈμš© ν‹°μΌ“ 정보 response dto 생성

* [#49] feat(TicketRepository): 예맀자 ν•„ν„°λ§μš© λ©”μ†Œλ“œ 생성

* [#49] feat: 예맀자 μž…κΈˆμ •λ³΄ μˆ˜μ • request dto 생성

* [#49] feat(TicketDeleteRequest): 예맀자 μ‚­μ œ request dto 생성

* [#49] feat(TicketService): 예맀자 관리 κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#49] feat(TicketController): 예맀자 관리 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#49] chore: swagger annotation μΆ”κ°€

* HOTFIX(SecurityConfig): WHITELIST 경둜λͺ… μˆ˜μ •

* [fix] #52 - auth whitelist μˆ˜μ • (#53)

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #54 - λ“±λ‘ν•œ 곡연 λͺ©λ‘ 쑰회 GET API κ΅¬ν˜„ (#55)

* [#54] feat(PerformanceSuccessCode): success code μΆ”κ°€

* [#54] feat: νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 dto 생성

* [#54] feat(PerformanceService): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 둜직 κ΅¬ν˜„

* [#54] feat(PerformanceRepository): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 κ΄€λ ¨ λ©”μ†Œλ“œ μΆ”κ°€

* [#54] feat(PerformanceController): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 μ—”λ“œν¬μΈνŠΈ 생성

* [#54] fix(TicketService): exception error μˆ˜μ •

* [#54] chore(application.yml): yml μˆ˜μ •

* [fix] #58 - dev-ci.yml, prod-ci.yml ν™˜κ²½λ³€μˆ˜ μΆ”κ°€  (#59)

* [#58] fix(dev-CI.yml): Dev μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [#58] fix(prod-CI.yml): Prod μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [refactor] #61 - Performance Entity field μΆ”κ°€ (#62)

* [#61] refactor(Performance): bankHolder ν•„λ“œ μΆ”κ°€

* [#61] chore(BookingController): swagger annotation μˆ˜μ •

* [feat] #63 - healthCheckController 생성 (#64)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [feat] #63 - health check URL ν™”μ΄νŠΈλ¦¬μŠ€νŠΈμ— 등둝 (#67)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [#63] feat(SecurityConfig): healthcheck url white_list에 등둝

* [fix] #57 -  entity 연관관계 μ„€μ •  SecurityConfig μˆ˜μ • (#65)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [fix] #57 - security κ΄€λ ¨ μ—λŸ¬ λŒ€μ‘ (#71)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [fix] #73 - security μˆ˜μ • (#74)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [#57] fix:security μˆ˜μ •

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½ (#77)

* [fix] #76 - λˆ„λ½λœ μ½”λ“œ μΆ”κ°€ (#79)

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½

* [#76] chore(SecurityConfig): λˆ„λ½λœ importλ¬Έ μΆ”κ°€

* [#76] chore(JwtTokenProvider): λˆ„λ½λœ μ½”λ“œ μΆ”κ°€

* [#81] fix(JwtTokenProvider): jwtsecret을 μΈμ½”λ”©ν•˜κ³  디코딩을 ν•˜λ„λ‘ μˆ˜μ • (#82)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [deploy] merge to main (#87)

* [deploy] merge to develop (#27)

* [deploy] merge to main (#26)

* [#2] chore(.gitignore): .gradle, .idea 파일 μ‚­μ œ (#3)

* [refactor] #4 - λ„λ©”μΈν˜• 디렉터리 ꡬ쑰 λ³€κ²½ 및 local, dev, prod 운영 ν™˜κ²½ 뢄리 (#5)

* [#4] fix: 클래슀 μ²«κΈ€μž λŒ€λ¬Έμžλ‘œ μˆ˜μ •

* [#4] remove: enum μ‚­μ œ

* [#4] feat(BaseSuccessCode): 성곡 μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] feat(BaseErrorCode): μ—λŸ¬ μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] refactor: global νŒ¨ν‚€μ§€λ‘œ 이동

* [#4] refactor: μ„œλ²„ 운영 ν™˜κ²½ 뢄리

* [feat] #6 - dev, prod Dockerfile 뢄리 및 github Action CI workflow κ΅¬ν˜„ (#7)

* [#6] feat(Dockerfile): prod용 도컀 파일 κ΅¬ν˜„

* [#6] feat(Dockerfile-dev): dev용 도컀 파일 κ΅¬ν˜„

* [#6] feat(dev-CI.yml): dev용 CI workflow κ΅¬ν˜„

* [#6] feat(prod-CI.yml): prod용 CI workflow κ΅¬ν˜„

* [#6] chore(.gitignore): gradle-wrapper.jar νŒŒμΌμ€ λ ˆν¬μ§€ν† λ¦¬μ— ν¬ν•¨λ˜λ„λ‘ μ„€μ •

* [#6] fix(gradle-wrapper.jar): .gitignore둜 λˆ„λ½λœ 파일 μΆ”κ°€

* [#6] chore(build.grade): plain jar 생성 방지

* [#9] docs(README.md): μ„œλΉ„μŠ€ μ†Œκ°œ README v1 μž‘μ„± (#10)

* [#11] docs(README.md): λ¦¬λ“œλ―Έ μ—…λ°μ΄νŠΈ (#12)

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [feat] #14 - νšŒμ›, 홍보, λ“±μž₯인물, μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성 (#16)

* [#14] feat(Member): 멀버 μ—”ν‹°ν‹° 생성

* [#14] feat(Promotion): 홍보 μ—”ν‹°ν‹° 생성

* [#14] feat(Cast): λ“±μž₯인물 μ—”ν‹°ν‹° 생성

* [#14] feat(Staff): μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [#14} fix: μŠ€νƒœν”„, λ“±μž₯인물, 홍보 μ—”ν‹°ν‹° 상속관계 μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [#18] feat(Jenkinsfile): μ  ν‚¨μŠ€ 파일 생성 (#19)

* [#20] refactor(Jenkinsfile): μ  ν‚¨μŠ€ 파일 Webhook ν…ŒμŠ€νŠΈμš© 컀밋 (#21)

* [#22] feat(Jenkinsfile): Jenkins multibranch 슀크립트 μž‘μ„± (#23)

* HOTFIX(Jenkinsfile): Jenkins multibranch 슀크립트 μˆ˜μ •

* HOTFIX(workflows): λΉŒλ“œ ν›„ μ  ν‚¨μŠ€ 배포가 μ§„ν–‰λ˜λ„λ‘ μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* [#24] feat(Jenkinsfile): slack 연동 슀크립트 μž‘μ„± (#25)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* HOTFIX(workflow): μ˜€νƒ€ μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [feat] #28 - λΉ„νšŒμ› 예맀 쑰회 POST API κ΅¬ν˜„ (#29)

* chore(application-dev.yml): dialect μΆ”κ°€

* chore(application-prod.yml): dialect μΆ”κ°€

* [#28] chore(build.gradle): security μ˜μ‘΄μ„± λΉ„ν™œμ„±ν™”

- security μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”

* [#28] refactor(Booking): 예맀 엔티티에 λΉŒλ” 및 μ •μ νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(ErrorResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(Schedule): 회차 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(Performance): 곡연 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(SuccessResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(GlobalExceptionHandler): INTERNAL_SERVER_ERROR ν•Έλ“€λŸ¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] feat(BookingSuccessCode): 예맀 성곡 λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingErrorCode): 예맀 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingRetrieveResponse): 예맀 쑰회 응닡 DTO 생성

* [#28] feat(BookingRetrieveRequest): 예맀 쑰회 μš”μ²­ DTO 생성

* [#28] feat(BookingRepository): 예맀 λ ˆν¬μ§€ν† λ¦¬ 생성 및 λΉ„νšŒμ› 예맀 쑰회 μ‹œ 예맀 λ‚΄μ—­ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingService): 예맀 μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ 생성 및 λΉ„νšŒμ› 쑰회 λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingController): 예맀 컨트둀러 생성 및 λΉ„νšŒμ› 예맀쑰회 POST API κ΅¬ν˜„

* [feat] #30 - SwaggerConfig 및 WebConfig κ΅¬ν˜„ (#31)

* [#30] chore(build.gradle): springdoc μ˜μ‘΄μ„± μΆ”κ°€

* [#30] feat(SwaggerConfig): SwaggerConfig μΆ”κ°€

* [#30] feat(WebConfig): WebConfig μΆ”κ°€

* HOTFIX(workflows): push 이벀트 μ‹œ github action이 λΉŒλ“œ λ˜μ§€ μ•Šλ„λ‘ μˆ˜μ •

* HOTFIX(Jenkinsfile): 포트 μˆ˜μ •

* [feat] #32 - ν‹°μΌ“ 예맀 κ°€λŠ₯ μ—¬λΆ€ GET API κ΅¬ν˜„ (#33)

* [#32] refactor(BookingController): λ©”μ„œλ“œλͺ… μˆ˜μ •

* [#32] feat(ConflictException): Conflict 409μ—λŸ¬ 클래슀 생성

* [#32] feat(GlobalExceptionHandler): ConflictException 등둝

* [#32] feat(TicketAvailabilityRequest): TicketAvailabilityRequest DTO 생성

* [#32] feat(TicketAvailabilityResponse): TicketAvailabilityResponse DTO 생성

* [#32] feat(ScheduleSuccessCode): ScheduleSuccessCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleErrorCode): ScheduleErrorCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleRepository): ScheduleRepository 생성

* [#32] feat(ScheduleService): ScheduleService 생성 및 νšŒμ°¨λ³„ ν‹°μΌ“ ꡬ맀 κ°€λŠ₯ μ—¬λΆ€ νŒλ‹¨ λ©”μ„œλ“œ κ΅¬ν˜„

* [#32] feat(ScheduleController): νšŒμ°¨λ³„ ν‹°μΌ“ μˆ˜λŸ‰ 쑰회 GET API κ΅¬ν˜„

* [feat] #17 - 카카였 μ†Œμ…œ 둜그인 API κ΅¬ν˜„ (#36)

* [#17] feat(build.gradle): jwt, security, open feign, Redis μ˜μ‘΄μ„± μΆ”κ°€

* [#17] feat(BeatApplication): OpenFeign κ΄€λ ¨ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#17] feat(RedisConfig): redis μ„€μ •

* [#17] feat: redis ν™œμš© jwt 토큰 생성 둜직 κ΅¬ν˜„

* [#17] feat(SecurityConfig): security μ„€μ •

* [#17] refactor: Member, Users μ—”ν‹°ν‹° μˆ˜μ • 및 κ΄€λ ¨ enum μΆ”κ°€

* [#17] feat: Member, Users 도메인 κ΄€λ ¨ 인증 둜직 κ΅¬ν˜„

* [#17] feat(MemberController): Member κ΄€λ ¨ API μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#17] feat: Security κ΄€λ ¨ 인증 객체 κ΅¬ν˜„

* [#17] feat: μ†Œμ…œλ‘œκ·ΈμΈ 둜직 κ΅¬ν˜„

* [#17] fix: μ†Œμ…œλ‘œκ·ΈμΈ 였λ₯˜ ν•΄κ²°

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #34 - λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„ (#35)

* [#34] feat(Users): λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#34] feat(Entity): μ—”ν‹°ν‹° id ν•„λ“œ μˆ˜μ •

* [#34] refactor(application.yml): dialect μΆ”κ°€

* [#34] refactor(ScheduleService): 넀이밍 μˆ˜μ •

* [#34] refactor(BookingSuccessCode): λΉ„νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#34] feat(GuestBookingRequest): λΉ„νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#34] feat(GuestBookingResponse): λΉ„νšŒμ› 예맀 응닡 DTO 생성

* [#34] refactor(BookingRetrieveService): 넀이밍 μˆ˜μ •

* [#34] feat(PerformanceRepository): 곡연 λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] feat(UserRepository): μœ μ € λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] refactor(BookingRepository): λΉ„νšŒμ› 예맀 μ‹œ 넀가지 정보가 λͺ¨λ‘ 일치 ν•΄μ•Όλ§Œ λ‹€λ₯Έ μœ μ €λ‘œ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#34] refactor(ScheduleRepository): 비관적 락 적용

* [#34] feat(GuestBookingService): 비관적 락을 μ΄μš©ν•΄ λΉ„νšŒμ› 예맀 둜직 κ΅¬ν˜„

* [#34] feat(BookingController): λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„

* [#34] test(GuestBookingServiceConcurrencyTest): λ™μ‹œμ„± ν…ŒμŠ€νŠΈ κ΅¬ν˜„

* [Refactor] #37 - 카카였 둜그인 API response μˆ˜μ • (#39)

* [#37] rename: 빈 좩돌 ν•΄κ²° μœ„ν•΄ UserRepositoryλ₯Ό UsersRepository둜 rename

* [#37] refactor: login responseμ—μ„œ refreshToken을 cookie에 담아주도둝 λ³€κ²½

* [#37] fix: dao, repository 좩돌 ν•΄κ²°

* [#37] refactor: μ–΄λ…Έν…Œμ΄μ…˜ μˆ˜μ •

* [feat] #40 - μ†Œκ°œ κ΄€λ ¨ 곡연 정보 쑰회 GET API κ΅¬ν˜„ (#41)

* [#40] feat: repository μΆ”κ°€

* [#40] feat: 곡연 κ΄€λ ¨ 성곡, μ‹€νŒ¨ 메세지 μΆ”κ°€

* [#40] feat(PerformanceDetailResponse): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 응닡 dto

* [#40] feat(PerformanceService): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 둜직 κ΅¬ν˜„

* [#40] feat(PerformanceController): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#40] feat(SecurityConfig): auth whitelist update

* [#40] refactor: dto 뢄리 및 rename

* [feat] #42 - 예맀 κ΄€λ ¨ 곡연 정보 GET API κ΅¬ν˜„ (#43)

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 dto 생성

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 성곡 메세지 μΆ”κ°€

* [#42] feat(ScheduleService): μž”μ—¬ν‹°μΌ“κ³„μ‚°, μ˜ˆλ§€κ°€λŠ₯여뢀확인, μ˜ˆλ§€κ°€λŠ₯μ—¬λΆ€ update λ©”μ†Œλ“œ κ΅¬ν˜„

* [#42] feat(PerformanceService): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄μ˜ response μƒμ„±ν•˜λŠ” 둜직 κ΅¬ν˜„

* [#42] feat(PerformanceController): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄ 쑰회 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#42] feat(SecurityConfig): auth_whitelist update

* [#42] refactor(ScheduleService): findTicketAvailabilityμ—μ„œ getAvailableTicketCount method μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ •

* [feat] #38 - νšŒμ› 예맀 POST API κ΅¬ν˜„ (#45)

* [#38] fix(Cast): Join ν•˜λŠ” λΆ€λΆ„ μˆ˜μ • 및 λΉŒλ”μ™€ 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ λ„μž…

* [#38] chore(application.yml): 계측 μˆ˜μ •

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성

* [#38] fix(UserRepository): μ€‘λ³΅λœ 클래슀 μ‚­μ œ

* [#38] feat(UserErrorCode): μœ μ €μ˜ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#38] refactor(MemberErrorCode): message λͺ©μ μ— 맞게 λ³€κ²½

* [#38] refactor(BookingSuccessCode): νšŒμ› 예맀 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성 컀밋에 λˆ„λ½λœ 클래슀 μΆ”κ°€

* [#38] refactor(GuestBookingService): scheduleμ—μ„œ λ°”λ‘œ get ν•˜λ„λ‘ μˆ˜μ •

* [#38] test(GuestBookingServiceConcurrencyTest): importλ¬Έ 경둜λͺ… λ³€κ²½

* [#38] refactor(MemberService): @transactional μ–΄λ…Έν…Œμ΄μ…˜μ΄ ν•„μš”ν•œ λ©”μ„œλ“œμ— ν•΄λ‹Ή μ˜΅μ…˜ μΆ”κ°€

* [#38] feat(MemberBookingRequest): νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#38] feat(MemberBookingResponse): νšŒμ› 예맀 응닡 DTO 생성

* [#38] refactor(MemberController): refreshToken을 쿠킀에 넣어주도둝 κ΅¬ν˜„

* [#38] feat(MemberBookingService): νšŒμ› 예맀 μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#38] feat(BookingController): νšŒμ› 예맀 μš”μ²­ POST API κ΅¬ν˜„

* [#38] fix: λΉŒλ“œ μ•ˆλ˜λŠ” λΆ€λΆ„ μˆ˜μ •

* [#38] remove(MemberBookingService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” importλ¬Έ μ‚­μ œ

* [#38] refactor: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 이름 μˆ˜μ •

* [feat] #44 - ν™ˆνŽ˜μ΄μ§€ 곡연 및 홍보 쑰회 GET API κ΅¬ν˜„ (#47)

* [#44] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#44] fix(Promotion): κΈ°λ³Έν‚€ 이름 μˆ˜μ •, performanceId 연관관계 μ„€μ •

* [#44] feat: Repository 및 κ΄€λ ¨ 둜직 μΆ”κ°€

* [#44] feat: errorcode, successcode μΆ”κ°€

* [#44] feat: ν™ˆνŽ˜μ΄μ§€ request, response dto 생성

* [#44] feat(ScheduleService): dueDate κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#44] feat(PerformanceService): ν™ˆνŽ˜μ΄μ§€ μ •λ ¬ 및 response 생성 둜직 κ΅¬ν˜„

* [#44] chore: import문 좔가

* [feat] #46 - νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„ (#48)

* [#46] remove(BookingRetrieveRequest): 클래슀 μ‚­μ œ

* [#46] refactor(BookingSuccessCode): νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#46] refactor(GuestBookingRetrieveResponse): 클래슀 λͺ… λ³€κ²½

* [#46] refactor(GuestBookingRetrieveRequest): μ•ˆμ“°λŠ” μ½”λ“œ μ£Όμ„μ²˜λ¦¬

* [#46] refactor(GuestBookingRetrieveService): 클래슀 λͺ… μˆ˜μ •μœΌλ‘œ μΈν•œ λ¦¬νŒ©ν† λ§

* [#46] refactor(SecurityConfig): 토큰 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” api 경둜 μΆ”κ°€ν•˜κΈ°

* [#46] refactor(BookingRepository): userId둜 μ˜ˆμ•½ 정보λ₯Ό κ°€μ Έμ˜€λŠ” JPA λ©”μ„œλ“œ κ΅¬ν˜„

* [#46] feat(MemberBookingRetrieveResponse): νšŒμ› 쑰회 응닡 DTO 생성

* [#46] feat(MemberBookingRetrieveService): νšŒμ› 예맀 쑰회 λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ κ΅¬ν˜„

* [#46] feat(BookingController): νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„

* [feat] #49 - 예맀자 관리 API κ΅¬ν˜„ (#51)

* [#49] feat: ν‹°μΌ“ κ΄€λ ¨ success, error code μΆ”κ°€

* [#49] feat(Booking): μž…κΈˆμ—¬λΆ€ setter λ©”μ†Œλ“œ μΆ”κ°€

* [#49] feat(TicketRetrieveResponse): 예맀자 확인 response dto 생성

* [#49] feat(Ticket): 예맀자 ν™•μΈμš© ν‹°μΌ“ 정보 response dto 생성

* [#49] feat(TicketRepository): 예맀자 ν•„ν„°λ§μš© λ©”μ†Œλ“œ 생성

* [#49] feat: 예맀자 μž…κΈˆμ •λ³΄ μˆ˜μ • request dto 생성

* [#49] feat(TicketDeleteRequest): 예맀자 μ‚­μ œ request dto 생성

* [#49] feat(TicketService): 예맀자 관리 κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#49] feat(TicketController): 예맀자 관리 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#49] chore: swagger annotation μΆ”κ°€

* HOTFIX(SecurityConfig): WHITELIST 경둜λͺ… μˆ˜μ •

* [fix] #52 - auth whitelist μˆ˜μ • (#53)

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #54 - λ“±λ‘ν•œ 곡연 λͺ©λ‘ 쑰회 GET API κ΅¬ν˜„ (#55)

* [#54] feat(PerformanceSuccessCode): success code μΆ”κ°€

* [#54] feat: νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 dto 생성

* [#54] feat(PerformanceService): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 둜직 κ΅¬ν˜„

* [#54] feat(PerformanceRepository): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 κ΄€λ ¨ λ©”μ†Œλ“œ μΆ”κ°€

* [#54] feat(PerformanceController): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 μ—”λ“œν¬μΈνŠΈ 생성

* [#54] fix(TicketService): exception error μˆ˜μ •

* [#54] chore(application.yml): yml μˆ˜μ •

* [fix] #58 - dev-ci.yml, prod-ci.yml ν™˜κ²½λ³€μˆ˜ μΆ”κ°€  (#59)

* [#58] fix(dev-CI.yml): Dev μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [#58] fix(prod-CI.yml): Prod μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [refactor] #61 - Performance Entity field μΆ”κ°€ (#62)

* [#61] refactor(Performance): bankHolder ν•„λ“œ μΆ”κ°€

* [#61] chore(BookingController): swagger annotation μˆ˜μ •

* [feat] #63 - healthCheckController 생성 (#64)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [feat] #63 - health check URL ν™”μ΄νŠΈλ¦¬μŠ€νŠΈμ— 등둝 (#67)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [#63] feat(SecurityConfig): healthcheck url white_list에 등둝

* [fix] #57 -  entity 연관관계 μ„€μ •  SecurityConfig μˆ˜μ • (#65)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [fix] #57 - security κ΄€λ ¨ μ—λŸ¬ λŒ€μ‘ (#71)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [fix] #73 - security μˆ˜μ • (#74)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [#57] fix:security μˆ˜μ •

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½ (#77)

* [fix] #76 - λˆ„λ½λœ μ½”λ“œ μΆ”κ°€ (#79)

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½

* [#76] chore(SecurityConfig): λˆ„λ½λœ importλ¬Έ μΆ”κ°€

* [#76] chore(JwtTokenProvider): λˆ„λ½λœ μ½”λ“œ μΆ”κ°€

* [#81] fix(JwtTokenProvider): jwtsecret을 μΈμ½”λ”©ν•˜κ³  디코딩을 ν•˜λ„λ‘ μˆ˜μ • (#82)

* [#85] chore(application.yml): ν™˜κ²½λ³€μˆ˜ μ„€μ • (#86)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>
* [#93] fix(HealthCheckController): λˆ„λ½λœ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#93] refactor(SecurityConfig): λˆ„λ½λœ 경둜λͺ… μΆ”κ°€
* [#84] chore(build.gradle): μ˜μ‘΄μ„± μΆ”κ°€

* [#84] chore: health/actuator yml μ„€μ • μΆ”κ°€

* [#84] chore: redis yml μ„€μ • μΆ”κ°€
* [#101] chore: yml μˆ˜μ •

* [#101] feat: s3 μΆ”κ°€
* [deploy] merge to main (#104)

* [deploy] merge to develop (#27)

* [deploy] merge to main (#26)

* [#2] chore(.gitignore): .gradle, .idea 파일 μ‚­μ œ (#3)

* [refactor] #4 - λ„λ©”μΈν˜• 디렉터리 ꡬ쑰 λ³€κ²½ 및 local, dev, prod 운영 ν™˜κ²½ 뢄리 (#5)

* [#4] fix: 클래슀 μ²«κΈ€μž λŒ€λ¬Έμžλ‘œ μˆ˜μ •

* [#4] remove: enum μ‚­μ œ

* [#4] feat(BaseSuccessCode): 성곡 μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] feat(BaseErrorCode): μ—λŸ¬ μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] refactor: global νŒ¨ν‚€μ§€λ‘œ 이동

* [#4] refactor: μ„œλ²„ 운영 ν™˜κ²½ 뢄리

* [feat] #6 - dev, prod Dockerfile 뢄리 및 github Action CI workflow κ΅¬ν˜„ (#7)

* [#6] feat(Dockerfile): prod용 도컀 파일 κ΅¬ν˜„

* [#6] feat(Dockerfile-dev): dev용 도컀 파일 κ΅¬ν˜„

* [#6] feat(dev-CI.yml): dev용 CI workflow κ΅¬ν˜„

* [#6] feat(prod-CI.yml): prod용 CI workflow κ΅¬ν˜„

* [#6] chore(.gitignore): gradle-wrapper.jar νŒŒμΌμ€ λ ˆν¬μ§€ν† λ¦¬μ— ν¬ν•¨λ˜λ„λ‘ μ„€μ •

* [#6] fix(gradle-wrapper.jar): .gitignore둜 λˆ„λ½λœ 파일 μΆ”κ°€

* [#6] chore(build.grade): plain jar 생성 방지

* [#9] docs(README.md): μ„œλΉ„μŠ€ μ†Œκ°œ README v1 μž‘μ„± (#10)

* [#11] docs(README.md): λ¦¬λ“œλ―Έ μ—…λ°μ΄νŠΈ (#12)

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [feat] #14 - νšŒμ›, 홍보, λ“±μž₯인물, μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성 (#16)

* [#14] feat(Member): 멀버 μ—”ν‹°ν‹° 생성

* [#14] feat(Promotion): 홍보 μ—”ν‹°ν‹° 생성

* [#14] feat(Cast): λ“±μž₯인물 μ—”ν‹°ν‹° 생성

* [#14] feat(Staff): μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [#14} fix: μŠ€νƒœν”„, λ“±μž₯인물, 홍보 μ—”ν‹°ν‹° 상속관계 μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [#18] feat(Jenkinsfile): μ  ν‚¨μŠ€ 파일 생성 (#19)

* [#20] refactor(Jenkinsfile): μ  ν‚¨μŠ€ 파일 Webhook ν…ŒμŠ€νŠΈμš© 컀밋 (#21)

* [#22] feat(Jenkinsfile): Jenkins multibranch 슀크립트 μž‘μ„± (#23)

* HOTFIX(Jenkinsfile): Jenkins multibranch 슀크립트 μˆ˜μ •

* HOTFIX(workflows): λΉŒλ“œ ν›„ μ  ν‚¨μŠ€ 배포가 μ§„ν–‰λ˜λ„λ‘ μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* [#24] feat(Jenkinsfile): slack 연동 슀크립트 μž‘μ„± (#25)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* HOTFIX(workflow): μ˜€νƒ€ μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [feat] #28 - λΉ„νšŒμ› 예맀 쑰회 POST API κ΅¬ν˜„ (#29)

* chore(application-dev.yml): dialect μΆ”κ°€

* chore(application-prod.yml): dialect μΆ”κ°€

* [#28] chore(build.gradle): security μ˜μ‘΄μ„± λΉ„ν™œμ„±ν™”

- security μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”

* [#28] refactor(Booking): 예맀 엔티티에 λΉŒλ” 및 μ •μ νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(ErrorResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(Schedule): 회차 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(Performance): 곡연 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(SuccessResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(GlobalExceptionHandler): INTERNAL_SERVER_ERROR ν•Έλ“€λŸ¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] feat(BookingSuccessCode): 예맀 성곡 λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingErrorCode): 예맀 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingRetrieveResponse): 예맀 쑰회 응닡 DTO 생성

* [#28] feat(BookingRetrieveRequest): 예맀 쑰회 μš”μ²­ DTO 생성

* [#28] feat(BookingRepository): 예맀 λ ˆν¬μ§€ν† λ¦¬ 생성 및 λΉ„νšŒμ› 예맀 쑰회 μ‹œ 예맀 λ‚΄μ—­ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingService): 예맀 μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ 생성 및 λΉ„νšŒμ› 쑰회 λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingController): 예맀 컨트둀러 생성 및 λΉ„νšŒμ› 예맀쑰회 POST API κ΅¬ν˜„

* [feat] #30 - SwaggerConfig 및 WebConfig κ΅¬ν˜„ (#31)

* [#30] chore(build.gradle): springdoc μ˜μ‘΄μ„± μΆ”κ°€

* [#30] feat(SwaggerConfig): SwaggerConfig μΆ”κ°€

* [#30] feat(WebConfig): WebConfig μΆ”κ°€

* HOTFIX(workflows): push 이벀트 μ‹œ github action이 λΉŒλ“œ λ˜μ§€ μ•Šλ„λ‘ μˆ˜μ •

* HOTFIX(Jenkinsfile): 포트 μˆ˜μ •

* [feat] #32 - ν‹°μΌ“ 예맀 κ°€λŠ₯ μ—¬λΆ€ GET API κ΅¬ν˜„ (#33)

* [#32] refactor(BookingController): λ©”μ„œλ“œλͺ… μˆ˜μ •

* [#32] feat(ConflictException): Conflict 409μ—λŸ¬ 클래슀 생성

* [#32] feat(GlobalExceptionHandler): ConflictException 등둝

* [#32] feat(TicketAvailabilityRequest): TicketAvailabilityRequest DTO 생성

* [#32] feat(TicketAvailabilityResponse): TicketAvailabilityResponse DTO 생성

* [#32] feat(ScheduleSuccessCode): ScheduleSuccessCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleErrorCode): ScheduleErrorCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleRepository): ScheduleRepository 생성

* [#32] feat(ScheduleService): ScheduleService 생성 및 νšŒμ°¨λ³„ ν‹°μΌ“ ꡬ맀 κ°€λŠ₯ μ—¬λΆ€ νŒλ‹¨ λ©”μ„œλ“œ κ΅¬ν˜„

* [#32] feat(ScheduleController): νšŒμ°¨λ³„ ν‹°μΌ“ μˆ˜λŸ‰ 쑰회 GET API κ΅¬ν˜„

* [feat] #17 - 카카였 μ†Œμ…œ 둜그인 API κ΅¬ν˜„ (#36)

* [#17] feat(build.gradle): jwt, security, open feign, Redis μ˜μ‘΄μ„± μΆ”κ°€

* [#17] feat(BeatApplication): OpenFeign κ΄€λ ¨ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#17] feat(RedisConfig): redis μ„€μ •

* [#17] feat: redis ν™œμš© jwt 토큰 생성 둜직 κ΅¬ν˜„

* [#17] feat(SecurityConfig): security μ„€μ •

* [#17] refactor: Member, Users μ—”ν‹°ν‹° μˆ˜μ • 및 κ΄€λ ¨ enum μΆ”κ°€

* [#17] feat: Member, Users 도메인 κ΄€λ ¨ 인증 둜직 κ΅¬ν˜„

* [#17] feat(MemberController): Member κ΄€λ ¨ API μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#17] feat: Security κ΄€λ ¨ 인증 객체 κ΅¬ν˜„

* [#17] feat: μ†Œμ…œλ‘œκ·ΈμΈ 둜직 κ΅¬ν˜„

* [#17] fix: μ†Œμ…œλ‘œκ·ΈμΈ 였λ₯˜ ν•΄κ²°

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #34 - λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„ (#35)

* [#34] feat(Users): λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#34] feat(Entity): μ—”ν‹°ν‹° id ν•„λ“œ μˆ˜μ •

* [#34] refactor(application.yml): dialect μΆ”κ°€

* [#34] refactor(ScheduleService): 넀이밍 μˆ˜μ •

* [#34] refactor(BookingSuccessCode): λΉ„νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#34] feat(GuestBookingRequest): λΉ„νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#34] feat(GuestBookingResponse): λΉ„νšŒμ› 예맀 응닡 DTO 생성

* [#34] refactor(BookingRetrieveService): 넀이밍 μˆ˜μ •

* [#34] feat(PerformanceRepository): 곡연 λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] feat(UserRepository): μœ μ € λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] refactor(BookingRepository): λΉ„νšŒμ› 예맀 μ‹œ 넀가지 정보가 λͺ¨λ‘ 일치 ν•΄μ•Όλ§Œ λ‹€λ₯Έ μœ μ €λ‘œ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#34] refactor(ScheduleRepository): 비관적 락 적용

* [#34] feat(GuestBookingService): 비관적 락을 μ΄μš©ν•΄ λΉ„νšŒμ› 예맀 둜직 κ΅¬ν˜„

* [#34] feat(BookingController): λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„

* [#34] test(GuestBookingServiceConcurrencyTest): λ™μ‹œμ„± ν…ŒμŠ€νŠΈ κ΅¬ν˜„

* [Refactor] #37 - 카카였 둜그인 API response μˆ˜μ • (#39)

* [#37] rename: 빈 좩돌 ν•΄κ²° μœ„ν•΄ UserRepositoryλ₯Ό UsersRepository둜 rename

* [#37] refactor: login responseμ—μ„œ refreshToken을 cookie에 담아주도둝 λ³€κ²½

* [#37] fix: dao, repository 좩돌 ν•΄κ²°

* [#37] refactor: μ–΄λ…Έν…Œμ΄μ…˜ μˆ˜μ •

* [feat] #40 - μ†Œκ°œ κ΄€λ ¨ 곡연 정보 쑰회 GET API κ΅¬ν˜„ (#41)

* [#40] feat: repository μΆ”κ°€

* [#40] feat: 곡연 κ΄€λ ¨ 성곡, μ‹€νŒ¨ 메세지 μΆ”κ°€

* [#40] feat(PerformanceDetailResponse): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 응닡 dto

* [#40] feat(PerformanceService): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 둜직 κ΅¬ν˜„

* [#40] feat(PerformanceController): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#40] feat(SecurityConfig): auth whitelist update

* [#40] refactor: dto 뢄리 및 rename

* [feat] #42 - 예맀 κ΄€λ ¨ 곡연 정보 GET API κ΅¬ν˜„ (#43)

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 dto 생성

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 성곡 메세지 μΆ”κ°€

* [#42] feat(ScheduleService): μž”μ—¬ν‹°μΌ“κ³„μ‚°, μ˜ˆλ§€κ°€λŠ₯여뢀확인, μ˜ˆλ§€κ°€λŠ₯μ—¬λΆ€ update λ©”μ†Œλ“œ κ΅¬ν˜„

* [#42] feat(PerformanceService): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄μ˜ response μƒμ„±ν•˜λŠ” 둜직 κ΅¬ν˜„

* [#42] feat(PerformanceController): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄ 쑰회 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#42] feat(SecurityConfig): auth_whitelist update

* [#42] refactor(ScheduleService): findTicketAvailabilityμ—μ„œ getAvailableTicketCount method μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ •

* [feat] #38 - νšŒμ› 예맀 POST API κ΅¬ν˜„ (#45)

* [#38] fix(Cast): Join ν•˜λŠ” λΆ€λΆ„ μˆ˜μ • 및 λΉŒλ”μ™€ 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ λ„μž…

* [#38] chore(application.yml): 계측 μˆ˜μ •

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성

* [#38] fix(UserRepository): μ€‘λ³΅λœ 클래슀 μ‚­μ œ

* [#38] feat(UserErrorCode): μœ μ €μ˜ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#38] refactor(MemberErrorCode): message λͺ©μ μ— 맞게 λ³€κ²½

* [#38] refactor(BookingSuccessCode): νšŒμ› 예맀 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성 컀밋에 λˆ„λ½λœ 클래슀 μΆ”κ°€

* [#38] refactor(GuestBookingService): scheduleμ—μ„œ λ°”λ‘œ get ν•˜λ„λ‘ μˆ˜μ •

* [#38] test(GuestBookingServiceConcurrencyTest): importλ¬Έ 경둜λͺ… λ³€κ²½

* [#38] refactor(MemberService): @transactional μ–΄λ…Έν…Œμ΄μ…˜μ΄ ν•„μš”ν•œ λ©”μ„œλ“œμ— ν•΄λ‹Ή μ˜΅μ…˜ μΆ”κ°€

* [#38] feat(MemberBookingRequest): νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#38] feat(MemberBookingResponse): νšŒμ› 예맀 응닡 DTO 생성

* [#38] refactor(MemberController): refreshToken을 쿠킀에 넣어주도둝 κ΅¬ν˜„

* [#38] feat(MemberBookingService): νšŒμ› 예맀 μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#38] feat(BookingController): νšŒμ› 예맀 μš”μ²­ POST API κ΅¬ν˜„

* [#38] fix: λΉŒλ“œ μ•ˆλ˜λŠ” λΆ€λΆ„ μˆ˜μ •

* [#38] remove(MemberBookingService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” importλ¬Έ μ‚­μ œ

* [#38] refactor: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 이름 μˆ˜μ •

* [feat] #44 - ν™ˆνŽ˜μ΄μ§€ 곡연 및 홍보 쑰회 GET API κ΅¬ν˜„ (#47)

* [#44] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#44] fix(Promotion): κΈ°λ³Έν‚€ 이름 μˆ˜μ •, performanceId 연관관계 μ„€μ •

* [#44] feat: Repository 및 κ΄€λ ¨ 둜직 μΆ”κ°€

* [#44] feat: errorcode, successcode μΆ”κ°€

* [#44] feat: ν™ˆνŽ˜μ΄μ§€ request, response dto 생성

* [#44] feat(ScheduleService): dueDate κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#44] feat(PerformanceService): ν™ˆνŽ˜μ΄μ§€ μ •λ ¬ 및 response 생성 둜직 κ΅¬ν˜„

* [#44] chore: import문 좔가

* [feat] #46 - νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„ (#48)

* [#46] remove(BookingRetrieveRequest): 클래슀 μ‚­μ œ

* [#46] refactor(BookingSuccessCode): νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#46] refactor(GuestBookingRetrieveResponse): 클래슀 λͺ… λ³€κ²½

* [#46] refactor(GuestBookingRetrieveRequest): μ•ˆμ“°λŠ” μ½”λ“œ μ£Όμ„μ²˜λ¦¬

* [#46] refactor(GuestBookingRetrieveService): 클래슀 λͺ… μˆ˜μ •μœΌλ‘œ μΈν•œ λ¦¬νŒ©ν† λ§

* [#46] refactor(SecurityConfig): 토큰 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” api 경둜 μΆ”κ°€ν•˜κΈ°

* [#46] refactor(BookingRepository): userId둜 μ˜ˆμ•½ 정보λ₯Ό κ°€μ Έμ˜€λŠ” JPA λ©”μ„œλ“œ κ΅¬ν˜„

* [#46] feat(MemberBookingRetrieveResponse): νšŒμ› 쑰회 응닡 DTO 생성

* [#46] feat(MemberBookingRetrieveService): νšŒμ› 예맀 쑰회 λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ κ΅¬ν˜„

* [#46] feat(BookingController): νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„

* [feat] #49 - 예맀자 관리 API κ΅¬ν˜„ (#51)

* [#49] feat: ν‹°μΌ“ κ΄€λ ¨ success, error code μΆ”κ°€

* [#49] feat(Booking): μž…κΈˆμ—¬λΆ€ setter λ©”μ†Œλ“œ μΆ”κ°€

* [#49] feat(TicketRetrieveResponse): 예맀자 확인 response dto 생성

* [#49] feat(Ticket): 예맀자 ν™•μΈμš© ν‹°μΌ“ 정보 response dto 생성

* [#49] feat(TicketRepository): 예맀자 ν•„ν„°λ§μš© λ©”μ†Œλ“œ 생성

* [#49] feat: 예맀자 μž…κΈˆμ •λ³΄ μˆ˜μ • request dto 생성

* [#49] feat(TicketDeleteRequest): 예맀자 μ‚­μ œ request dto 생성

* [#49] feat(TicketService): 예맀자 관리 κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#49] feat(TicketController): 예맀자 관리 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#49] chore: swagger annotation μΆ”κ°€

* HOTFIX(SecurityConfig): WHITELIST 경둜λͺ… μˆ˜μ •

* [fix] #52 - auth whitelist μˆ˜μ • (#53)

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #54 - λ“±λ‘ν•œ 곡연 λͺ©λ‘ 쑰회 GET API κ΅¬ν˜„ (#55)

* [#54] feat(PerformanceSuccessCode): success code μΆ”κ°€

* [#54] feat: νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 dto 생성

* [#54] feat(PerformanceService): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 둜직 κ΅¬ν˜„

* [#54] feat(PerformanceRepository): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 κ΄€λ ¨ λ©”μ†Œλ“œ μΆ”κ°€

* [#54] feat(PerformanceController): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 μ—”λ“œν¬μΈνŠΈ 생성

* [#54] fix(TicketService): exception error μˆ˜μ •

* [#54] chore(application.yml): yml μˆ˜μ •

* [fix] #58 - dev-ci.yml, prod-ci.yml ν™˜κ²½λ³€μˆ˜ μΆ”κ°€  (#59)

* [#58] fix(dev-CI.yml): Dev μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [#58] fix(prod-CI.yml): Prod μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [refactor] #61 - Performance Entity field μΆ”κ°€ (#62)

* [#61] refactor(Performance): bankHolder ν•„λ“œ μΆ”κ°€

* [#61] chore(BookingController): swagger annotation μˆ˜μ •

* [feat] #63 - healthCheckController 생성 (#64)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [feat] #63 - health check URL ν™”μ΄νŠΈλ¦¬μŠ€νŠΈμ— 등둝 (#67)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [#63] feat(SecurityConfig): healthcheck url white_list에 등둝

* [fix] #57 -  entity 연관관계 μ„€μ •  SecurityConfig μˆ˜μ • (#65)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [fix] #57 - security κ΄€λ ¨ μ—λŸ¬ λŒ€μ‘ (#71)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [fix] #73 - security μˆ˜μ • (#74)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [#57] fix:security μˆ˜μ •

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½ (#77)

* [fix] #76 - λˆ„λ½λœ μ½”λ“œ μΆ”κ°€ (#79)

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½

* [#76] chore(SecurityConfig): λˆ„λ½λœ importλ¬Έ μΆ”κ°€

* [#76] chore(JwtTokenProvider): λˆ„λ½λœ μ½”λ“œ μΆ”κ°€

* [#81] fix(JwtTokenProvider): jwtsecret을 μΈμ½”λ”©ν•˜κ³  디코딩을 ν•˜λ„λ‘ μˆ˜μ • (#82)

* [#85] chore(application.yml): ν™˜κ²½λ³€μˆ˜ μ„€μ • (#86)

* [chore] #88 - λ ˆλ””μŠ€ ν™˜κ²½λ³€μˆ˜ μΆ”κ°€ (#89)

* [#88] chore(dev-CI.yml): devμ„œλ²„ λ ˆλ””μŠ€ ν™˜κ²½λ³€μˆ˜ μ„€μ • μΆ”κ°€

* [#88] chore(prod-CI.yml): prod μ„œλ²„ λ ˆλ””μŠ€ ν™˜κ²½λ³€μˆ˜ μ„€μ • μΆ”κ°€

* [deploy] merge to main (#90)

* [deploy] merge to main (#83)

* [deploy] merge to develop (#27)

* [deploy] merge to main (#26)

* [#2] chore(.gitignore): .gradle, .idea 파일 μ‚­μ œ (#3)

* [refactor] #4 - λ„λ©”μΈν˜• 디렉터리 ꡬ쑰 λ³€κ²½ 및 local, dev, prod 운영 ν™˜κ²½ 뢄리 (#5)

* [#4] fix: 클래슀 μ²«κΈ€μž λŒ€λ¬Έμžλ‘œ μˆ˜μ •

* [#4] remove: enum μ‚­μ œ

* [#4] feat(BaseSuccessCode): 성곡 μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] feat(BaseErrorCode): μ—λŸ¬ μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] refactor: global νŒ¨ν‚€μ§€λ‘œ 이동

* [#4] refactor: μ„œλ²„ 운영 ν™˜κ²½ 뢄리

* [feat] #6 - dev, prod Dockerfile 뢄리 및 github Action CI workflow κ΅¬ν˜„ (#7)

* [#6] feat(Dockerfile): prod용 도컀 파일 κ΅¬ν˜„

* [#6] feat(Dockerfile-dev): dev용 도컀 파일 κ΅¬ν˜„

* [#6] feat(dev-CI.yml): dev용 CI workflow κ΅¬ν˜„

* [#6] feat(prod-CI.yml): prod용 CI workflow κ΅¬ν˜„

* [#6] chore(.gitignore): gradle-wrapper.jar νŒŒμΌμ€ λ ˆν¬μ§€ν† λ¦¬μ— ν¬ν•¨λ˜λ„λ‘ μ„€μ •

* [#6] fix(gradle-wrapper.jar): .gitignore둜 λˆ„λ½λœ 파일 μΆ”κ°€

* [#6] chore(build.grade): plain jar 생성 방지

* [#9] docs(README.md): μ„œλΉ„μŠ€ μ†Œκ°œ README v1 μž‘μ„± (#10)

* [#11] docs(README.md): λ¦¬λ“œλ―Έ μ—…λ°μ΄νŠΈ (#12)

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [feat] #14 - νšŒμ›, 홍보, λ“±μž₯인물, μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성 (#16)

* [#14] feat(Member): 멀버 μ—”ν‹°ν‹° 생성

* [#14] feat(Promotion): 홍보 μ—”ν‹°ν‹° 생성

* [#14] feat(Cast): λ“±μž₯인물 μ—”ν‹°ν‹° 생성

* [#14] feat(Staff): μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [#14} fix: μŠ€νƒœν”„, λ“±μž₯인물, 홍보 μ—”ν‹°ν‹° 상속관계 μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [#18] feat(Jenkinsfile): μ  ν‚¨μŠ€ 파일 생성 (#19)

* [#20] refactor(Jenkinsfile): μ  ν‚¨μŠ€ 파일 Webhook ν…ŒμŠ€νŠΈμš© 컀밋 (#21)

* [#22] feat(Jenkinsfile): Jenkins multibranch 슀크립트 μž‘μ„± (#23)

* HOTFIX(Jenkinsfile): Jenkins multibranch 슀크립트 μˆ˜μ •

* HOTFIX(workflows): λΉŒλ“œ ν›„ μ  ν‚¨μŠ€ 배포가 μ§„ν–‰λ˜λ„λ‘ μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* [#24] feat(Jenkinsfile): slack 연동 슀크립트 μž‘μ„± (#25)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* HOTFIX(workflow): μ˜€νƒ€ μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [feat] #28 - λΉ„νšŒμ› 예맀 쑰회 POST API κ΅¬ν˜„ (#29)

* chore(application-dev.yml): dialect μΆ”κ°€

* chore(application-prod.yml): dialect μΆ”κ°€

* [#28] chore(build.gradle): security μ˜μ‘΄μ„± λΉ„ν™œμ„±ν™”

- security μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”

* [#28] refactor(Booking): 예맀 엔티티에 λΉŒλ” 및 μ •μ νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(ErrorResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(Schedule): 회차 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(Performance): 곡연 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(SuccessResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(GlobalExceptionHandler): INTERNAL_SERVER_ERROR ν•Έλ“€λŸ¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] feat(BookingSuccessCode): 예맀 성곡 λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingErrorCode): 예맀 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingRetrieveResponse): 예맀 쑰회 응닡 DTO 생성

* [#28] feat(BookingRetrieveRequest): 예맀 쑰회 μš”μ²­ DTO 생성

* [#28] feat(BookingRepository): 예맀 λ ˆν¬μ§€ν† λ¦¬ 생성 및 λΉ„νšŒμ› 예맀 쑰회 μ‹œ 예맀 λ‚΄μ—­ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingService): 예맀 μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ 생성 및 λΉ„νšŒμ› 쑰회 λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingController): 예맀 컨트둀러 생성 및 λΉ„νšŒμ› 예맀쑰회 POST API κ΅¬ν˜„

* [feat] #30 - SwaggerConfig 및 WebConfig κ΅¬ν˜„ (#31)

* [#30] chore(build.gradle): springdoc μ˜μ‘΄μ„± μΆ”κ°€

* [#30] feat(SwaggerConfig): SwaggerConfig μΆ”κ°€

* [#30] feat(WebConfig): WebConfig μΆ”κ°€

* HOTFIX(workflows): push 이벀트 μ‹œ github action이 λΉŒλ“œ λ˜μ§€ μ•Šλ„λ‘ μˆ˜μ •

* HOTFIX(Jenkinsfile): 포트 μˆ˜μ •

* [feat] #32 - ν‹°μΌ“ 예맀 κ°€λŠ₯ μ—¬λΆ€ GET API κ΅¬ν˜„ (#33)

* [#32] refactor(BookingController): λ©”μ„œλ“œλͺ… μˆ˜μ •

* [#32] feat(ConflictException): Conflict 409μ—λŸ¬ 클래슀 생성

* [#32] feat(GlobalExceptionHandler): ConflictException 등둝

* [#32] feat(TicketAvailabilityRequest): TicketAvailabilityRequest DTO 생성

* [#32] feat(TicketAvailabilityResponse): TicketAvailabilityResponse DTO 생성

* [#32] feat(ScheduleSuccessCode): ScheduleSuccessCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleErrorCode): ScheduleErrorCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleRepository): ScheduleRepository 생성

* [#32] feat(ScheduleService): ScheduleService 생성 및 νšŒμ°¨λ³„ ν‹°μΌ“ ꡬ맀 κ°€λŠ₯ μ—¬λΆ€ νŒλ‹¨ λ©”μ„œλ“œ κ΅¬ν˜„

* [#32] feat(ScheduleController): νšŒμ°¨λ³„ ν‹°μΌ“ μˆ˜λŸ‰ 쑰회 GET API κ΅¬ν˜„

* [feat] #17 - 카카였 μ†Œμ…œ 둜그인 API κ΅¬ν˜„ (#36)

* [#17] feat(build.gradle): jwt, security, open feign, Redis μ˜μ‘΄μ„± μΆ”κ°€

* [#17] feat(BeatApplication): OpenFeign κ΄€λ ¨ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#17] feat(RedisConfig): redis μ„€μ •

* [#17] feat: redis ν™œμš© jwt 토큰 생성 둜직 κ΅¬ν˜„

* [#17] feat(SecurityConfig): security μ„€μ •

* [#17] refactor: Member, Users μ—”ν‹°ν‹° μˆ˜μ • 및 κ΄€λ ¨ enum μΆ”κ°€

* [#17] feat: Member, Users 도메인 κ΄€λ ¨ 인증 둜직 κ΅¬ν˜„

* [#17] feat(MemberController): Member κ΄€λ ¨ API μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#17] feat: Security κ΄€λ ¨ 인증 객체 κ΅¬ν˜„

* [#17] feat: μ†Œμ…œλ‘œκ·ΈμΈ 둜직 κ΅¬ν˜„

* [#17] fix: μ†Œμ…œλ‘œκ·ΈμΈ 였λ₯˜ ν•΄κ²°

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #34 - λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„ (#35)

* [#34] feat(Users): λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#34] feat(Entity): μ—”ν‹°ν‹° id ν•„λ“œ μˆ˜μ •

* [#34] refactor(application.yml): dialect μΆ”κ°€

* [#34] refactor(ScheduleService): 넀이밍 μˆ˜μ •

* [#34] refactor(BookingSuccessCode): λΉ„νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#34] feat(GuestBookingRequest): λΉ„νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#34] feat(GuestBookingResponse): λΉ„νšŒμ› 예맀 응닡 DTO 생성

* [#34] refactor(BookingRetrieveService): 넀이밍 μˆ˜μ •

* [#34] feat(PerformanceRepository): 곡연 λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] feat(UserRepository): μœ μ € λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] refactor(BookingRepository): λΉ„νšŒμ› 예맀 μ‹œ 넀가지 정보가 λͺ¨λ‘ 일치 ν•΄μ•Όλ§Œ λ‹€λ₯Έ μœ μ €λ‘œ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#34] refactor(ScheduleRepository): 비관적 락 적용

* [#34] feat(GuestBookingService): 비관적 락을 μ΄μš©ν•΄ λΉ„νšŒμ› 예맀 둜직 κ΅¬ν˜„

* [#34] feat(BookingController): λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„

* [#34] test(GuestBookingServiceConcurrencyTest): λ™μ‹œμ„± ν…ŒμŠ€νŠΈ κ΅¬ν˜„

* [Refactor] #37 - 카카였 둜그인 API response μˆ˜μ • (#39)

* [#37] rename: 빈 좩돌 ν•΄κ²° μœ„ν•΄ UserRepositoryλ₯Ό UsersRepository둜 rename

* [#37] refactor: login responseμ—μ„œ refreshToken을 cookie에 담아주도둝 λ³€κ²½

* [#37] fix: dao, repository 좩돌 ν•΄κ²°

* [#37] refactor: μ–΄λ…Έν…Œμ΄μ…˜ μˆ˜μ •

* [feat] #40 - μ†Œκ°œ κ΄€λ ¨ 곡연 정보 쑰회 GET API κ΅¬ν˜„ (#41)

* [#40] feat: repository μΆ”κ°€

* [#40] feat: 곡연 κ΄€λ ¨ 성곡, μ‹€νŒ¨ 메세지 μΆ”κ°€

* [#40] feat(PerformanceDetailResponse): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 응닡 dto

* [#40] feat(PerformanceService): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 둜직 κ΅¬ν˜„

* [#40] feat(PerformanceController): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#40] feat(SecurityConfig): auth whitelist update

* [#40] refactor: dto 뢄리 및 rename

* [feat] #42 - 예맀 κ΄€λ ¨ 곡연 정보 GET API κ΅¬ν˜„ (#43)

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 dto 생성

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 성곡 메세지 μΆ”κ°€

* [#42] feat(ScheduleService): μž”μ—¬ν‹°μΌ“κ³„μ‚°, μ˜ˆλ§€κ°€λŠ₯여뢀확인, μ˜ˆλ§€κ°€λŠ₯μ—¬λΆ€ update λ©”μ†Œλ“œ κ΅¬ν˜„

* [#42] feat(PerformanceService): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄μ˜ response μƒμ„±ν•˜λŠ” 둜직 κ΅¬ν˜„

* [#42] feat(PerformanceController): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄ 쑰회 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#42] feat(SecurityConfig): auth_whitelist update

* [#42] refactor(ScheduleService): findTicketAvailabilityμ—μ„œ getAvailableTicketCount method μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ •

* [feat] #38 - νšŒμ› 예맀 POST API κ΅¬ν˜„ (#45)

* [#38] fix(Cast): Join ν•˜λŠ” λΆ€λΆ„ μˆ˜μ • 및 λΉŒλ”μ™€ 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ λ„μž…

* [#38] chore(application.yml): 계측 μˆ˜μ •

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성

* [#38] fix(UserRepository): μ€‘λ³΅λœ 클래슀 μ‚­μ œ

* [#38] feat(UserErrorCode): μœ μ €μ˜ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#38] refactor(MemberErrorCode): message λͺ©μ μ— 맞게 λ³€κ²½

* [#38] refactor(BookingSuccessCode): νšŒμ› 예맀 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성 컀밋에 λˆ„λ½λœ 클래슀 μΆ”κ°€

* [#38] refactor(GuestBookingService): scheduleμ—μ„œ λ°”λ‘œ get ν•˜λ„λ‘ μˆ˜μ •

* [#38] test(GuestBookingServiceConcurrencyTest): importλ¬Έ 경둜λͺ… λ³€κ²½

* [#38] refactor(MemberService): @transactional μ–΄λ…Έν…Œμ΄μ…˜μ΄ ν•„μš”ν•œ λ©”μ„œλ“œμ— ν•΄λ‹Ή μ˜΅μ…˜ μΆ”κ°€

* [#38] feat(MemberBookingRequest): νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#38] feat(MemberBookingResponse): νšŒμ› 예맀 응닡 DTO 생성

* [#38] refactor(MemberController): refreshToken을 쿠킀에 넣어주도둝 κ΅¬ν˜„

* [#38] feat(MemberBookingService): νšŒμ› 예맀 μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#38] feat(BookingController): νšŒμ› 예맀 μš”μ²­ POST API κ΅¬ν˜„

* [#38] fix: λΉŒλ“œ μ•ˆλ˜λŠ” λΆ€λΆ„ μˆ˜μ •

* [#38] remove(MemberBookingService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” importλ¬Έ μ‚­μ œ

* [#38] refactor: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 이름 μˆ˜μ •

* [feat] #44 - ν™ˆνŽ˜μ΄μ§€ 곡연 및 홍보 쑰회 GET API κ΅¬ν˜„ (#47)

* [#44] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#44] fix(Promotion): κΈ°λ³Έν‚€ 이름 μˆ˜μ •, performanceId 연관관계 μ„€μ •

* [#44] feat: Repository 및 κ΄€λ ¨ 둜직 μΆ”κ°€

* [#44] feat: errorcode, successcode μΆ”κ°€

* [#44] feat: ν™ˆνŽ˜μ΄μ§€ request, response dto 생성

* [#44] feat(ScheduleService): dueDate κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#44] feat(PerformanceService): ν™ˆνŽ˜μ΄μ§€ μ •λ ¬ 및 response 생성 둜직 κ΅¬ν˜„

* [#44] chore: import문 좔가

* [feat] #46 - νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„ (#48)

* [#46] remove(BookingRetrieveRequest): 클래슀 μ‚­μ œ

* [#46] refactor(BookingSuccessCode): νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#46] refactor(GuestBookingRetrieveResponse): 클래슀 λͺ… λ³€κ²½

* [#46] refactor(GuestBookingRetrieveRequest): μ•ˆμ“°λŠ” μ½”λ“œ μ£Όμ„μ²˜λ¦¬

* [#46] refactor(GuestBookingRetrieveService): 클래슀 λͺ… μˆ˜μ •μœΌλ‘œ μΈν•œ λ¦¬νŒ©ν† λ§

* [#46] refactor(SecurityConfig): 토큰 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” api 경둜 μΆ”κ°€ν•˜κΈ°

* [#46] refactor(BookingRepository): userId둜 μ˜ˆμ•½ 정보λ₯Ό κ°€μ Έμ˜€λŠ” JPA λ©”μ„œλ“œ κ΅¬ν˜„

* [#46] feat(MemberBookingRetrieveResponse): νšŒμ› 쑰회 응닡 DTO 생성

* [#46] feat(MemberBookingRetrieveService): νšŒμ› 예맀 쑰회 λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ κ΅¬ν˜„

* [#46] feat(BookingController): νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„

* [feat] #49 - 예맀자 관리 API κ΅¬ν˜„ (#51)

* [#49] feat: ν‹°μΌ“ κ΄€λ ¨ success, error code μΆ”κ°€

* [#49] feat(Booking): μž…κΈˆμ—¬λΆ€ setter λ©”μ†Œλ“œ μΆ”κ°€

* [#49] feat(TicketRetrieveResponse): 예맀자 확인 response dto 생성

* [#49] feat(Ticket): 예맀자 ν™•μΈμš© ν‹°μΌ“ 정보 response dto 생성

* [#49] feat(TicketRepository): 예맀자 ν•„ν„°λ§μš© λ©”μ†Œλ“œ 생성

* [#49] feat: 예맀자 μž…κΈˆμ •λ³΄ μˆ˜μ • request dto 생성

* [#49] feat(TicketDeleteRequest): 예맀자 μ‚­μ œ request dto 생성

* [#49] feat(TicketService): 예맀자 관리 κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#49] feat(TicketController): 예맀자 관리 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#49] chore: swagger annotation μΆ”κ°€

* HOTFIX(SecurityConfig): WHITELIST 경둜λͺ… μˆ˜μ •

* [fix] #52 - auth whitelist μˆ˜μ • (#53)

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #54 - λ“±λ‘ν•œ 곡연 λͺ©λ‘ 쑰회 GET API κ΅¬ν˜„ (#55)

* [#54] feat(PerformanceSuccessCode): success code μΆ”κ°€

* [#54] feat: νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 dto 생성

* [#54] feat(PerformanceService): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 둜직 κ΅¬ν˜„

* [#54] feat(PerformanceRepository): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 κ΄€λ ¨ λ©”μ†Œλ“œ μΆ”κ°€

* [#54] feat(PerformanceController): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 μ—”λ“œν¬μΈνŠΈ 생성

* [#54] fix(TicketService): exception error μˆ˜μ •

* [#54] chore(application.yml): yml μˆ˜μ •

* [fix] #58 - dev-ci.yml, prod-ci.yml ν™˜κ²½λ³€μˆ˜ μΆ”κ°€  (#59)

* [#58] fix(dev-CI.yml): Dev μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [#58] fix(prod-CI.yml): Prod μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [refactor] #61 - Performance Entity field μΆ”κ°€ (#62)

* [#61] refactor(Performance): bankHolder ν•„λ“œ μΆ”κ°€

* [#61] chore(BookingController): swagger annotation μˆ˜μ •

* [feat] #63 - healthCheckController 생성 (#64)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [feat] #63 - health check URL ν™”μ΄νŠΈλ¦¬μŠ€νŠΈμ— 등둝 (#67)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [#63] feat(SecurityConfig): healthcheck url white_list에 등둝

* [fix] #57 -  entity 연관관계 μ„€μ •  SecurityConfig μˆ˜μ • (#65)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [fix] #57 - security κ΄€λ ¨ μ—λŸ¬ λŒ€μ‘ (#71)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [fix] #73 - security μˆ˜μ • (#74)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [#57] fix:security μˆ˜μ •

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½ (#77)

* [fix] #76 - λˆ„λ½λœ μ½”λ“œ μΆ”κ°€ (#79)

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½

* [#76] chore(SecurityConfig): λˆ„λ½λœ importλ¬Έ μΆ”κ°€

* [#76] chore(JwtTokenProvider): λˆ„λ½λœ μ½”λ“œ μΆ”κ°€

* [#81] fix(JwtTokenProvider): jwtsecret을 μΈμ½”λ”©ν•˜κ³  디코딩을 ν•˜λ„λ‘ μˆ˜μ • (#82)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [deploy] merge to main (#87)

* [deploy] merge to develop (#27)

* [deploy] merge to main (#26)

* [#2] chore(.gitignore): .gradle, .idea 파일 μ‚­μ œ (#3)

* [refactor] #4 - λ„λ©”μΈν˜• 디렉터리 ꡬ쑰 λ³€κ²½ 및 local, dev, prod 운영 ν™˜κ²½ 뢄리 (#5)

* [#4] fix: 클래슀 μ²«κΈ€μž λŒ€λ¬Έμžλ‘œ μˆ˜μ •

* [#4] remove: enum μ‚­μ œ

* [#4] feat(BaseSuccessCode): 성곡 μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] feat(BaseErrorCode): μ—λŸ¬ μƒνƒœ 관리λ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ 생성

* [#4] refactor: global νŒ¨ν‚€μ§€λ‘œ 이동

* [#4] refactor: μ„œλ²„ 운영 ν™˜κ²½ 뢄리

* [feat] #6 - dev, prod Dockerfile 뢄리 및 github Action CI workflow κ΅¬ν˜„ (#7)

* [#6] feat(Dockerfile): prod용 도컀 파일 κ΅¬ν˜„

* [#6] feat(Dockerfile-dev): dev용 도컀 파일 κ΅¬ν˜„

* [#6] feat(dev-CI.yml): dev용 CI workflow κ΅¬ν˜„

* [#6] feat(prod-CI.yml): prod용 CI workflow κ΅¬ν˜„

* [#6] chore(.gitignore): gradle-wrapper.jar νŒŒμΌμ€ λ ˆν¬μ§€ν† λ¦¬μ— ν¬ν•¨λ˜λ„λ‘ μ„€μ •

* [#6] fix(gradle-wrapper.jar): .gitignore둜 λˆ„λ½λœ 파일 μΆ”κ°€

* [#6] chore(build.grade): plain jar 생성 방지

* [#9] docs(README.md): μ„œλΉ„μŠ€ μ†Œκ°œ README v1 μž‘μ„± (#10)

* [#11] docs(README.md): λ¦¬λ“œλ―Έ μ—…λ°μ΄νŠΈ (#12)

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [feat] #14 - νšŒμ›, 홍보, λ“±μž₯인물, μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성 (#16)

* [#14] feat(Member): 멀버 μ—”ν‹°ν‹° 생성

* [#14] feat(Promotion): 홍보 μ—”ν‹°ν‹° 생성

* [#14] feat(Cast): λ“±μž₯인물 μ—”ν‹°ν‹° 생성

* [#14] feat(Staff): μŠ€νƒœν”„ μ—”ν‹°ν‹° 생성

* [feat] #13 - μœ μ €, 예맀, 곡연, 회차 μ—”ν‹°ν‹° 생성 (#15)

* [#13] feat(Users): μ‚¬μš©μž μ—”ν‹°ν‹° 생성

* [#13] feat(Genre): μž₯λ₯΄ μ—΄κ±°ν˜• 생성

* [#13] feat(BankName): 은행λͺ… μ—΄κ±°ν˜• 생성

* [#13] refactor(BaseTimeEntity): μ—…λ°μ΄νŠΈ μ‹œκ°„ 관리 ν•„λ“œ ν™œμ„±ν™”

* [#13] feat(Performance): 곡연 μ—”ν‹°ν‹° 생성

* [#13] feat(ScheduleNumber): 회차 번호 μ—΄κ±°ν˜• 생성

* [#13] feat(Schedule): 회차 μ—”ν‹°ν‹° 생성

* [#13] feat(Booking): 예맀 μ—”ν‹°ν‹° 생성

* [#13] refactor(ScheduleNumber): 넀이밍 μˆ˜μ •

* [#14} fix: μŠ€νƒœν”„, λ“±μž₯인물, 홍보 μ—”ν‹°ν‹° 상속관계 μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [#18] feat(Jenkinsfile): μ  ν‚¨μŠ€ 파일 생성 (#19)

* [#20] refactor(Jenkinsfile): μ  ν‚¨μŠ€ 파일 Webhook ν…ŒμŠ€νŠΈμš© 컀밋 (#21)

* [#22] feat(Jenkinsfile): Jenkins multibranch 슀크립트 μž‘μ„± (#23)

* HOTFIX(Jenkinsfile): Jenkins multibranch 슀크립트 μˆ˜μ •

* HOTFIX(workflows): λΉŒλ“œ ν›„ μ  ν‚¨μŠ€ 배포가 μ§„ν–‰λ˜λ„λ‘ μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* HOTFIX(workflows): Jenkinsfile 슀크립트 μˆ˜μ •

* [#24] feat(Jenkinsfile): slack 연동 슀크립트 μž‘μ„± (#25)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* HOTFIX(workflow): μ˜€νƒ€ μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* [feat] #28 - λΉ„νšŒμ› 예맀 쑰회 POST API κ΅¬ν˜„ (#29)

* chore(application-dev.yml): dialect μΆ”κ°€

* chore(application-prod.yml): dialect μΆ”κ°€

* [#28] chore(build.gradle): security μ˜μ‘΄μ„± λΉ„ν™œμ„±ν™”

- security μΌμ‹œμ μœΌλ‘œ λΉ„ν™œμ„±ν™”

* [#28] refactor(Booking): 예맀 엔티티에 λΉŒλ” 및 μ •μ νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(ErrorResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(Schedule): 회차 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(Performance): 곡연 엔티티에 λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] refactor(SuccessResponse): 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ 넀이밍 λ³€ν™˜

* [#28] refactor(GlobalExceptionHandler): INTERNAL_SERVER_ERROR ν•Έλ“€λŸ¬ λ©”μ„œλ“œ μΆ”κ°€

* [#28] feat(BookingSuccessCode): 예맀 성곡 λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingErrorCode): 예맀 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#28] feat(BookingRetrieveResponse): 예맀 쑰회 응닡 DTO 생성

* [#28] feat(BookingRetrieveRequest): 예맀 쑰회 μš”μ²­ DTO 생성

* [#28] feat(BookingRepository): 예맀 λ ˆν¬μ§€ν† λ¦¬ 생성 및 λΉ„νšŒμ› 예맀 쑰회 μ‹œ 예맀 λ‚΄μ—­ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingService): 예맀 μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ 생성 및 λΉ„νšŒμ› 쑰회 λ©”μ„œλ“œ κ΅¬ν˜„

* [#28] feat(BookingController): 예맀 컨트둀러 생성 및 λΉ„νšŒμ› 예맀쑰회 POST API κ΅¬ν˜„

* [feat] #30 - SwaggerConfig 및 WebConfig κ΅¬ν˜„ (#31)

* [#30] chore(build.gradle): springdoc μ˜μ‘΄μ„± μΆ”κ°€

* [#30] feat(SwaggerConfig): SwaggerConfig μΆ”κ°€

* [#30] feat(WebConfig): WebConfig μΆ”κ°€

* HOTFIX(workflows): push 이벀트 μ‹œ github action이 λΉŒλ“œ λ˜μ§€ μ•Šλ„λ‘ μˆ˜μ •

* HOTFIX(Jenkinsfile): 포트 μˆ˜μ •

* [feat] #32 - ν‹°μΌ“ 예맀 κ°€λŠ₯ μ—¬λΆ€ GET API κ΅¬ν˜„ (#33)

* [#32] refactor(BookingController): λ©”μ„œλ“œλͺ… μˆ˜μ •

* [#32] feat(ConflictException): Conflict 409μ—λŸ¬ 클래슀 생성

* [#32] feat(GlobalExceptionHandler): ConflictException 등둝

* [#32] feat(TicketAvailabilityRequest): TicketAvailabilityRequest DTO 생성

* [#32] feat(TicketAvailabilityResponse): TicketAvailabilityResponse DTO 생성

* [#32] feat(ScheduleSuccessCode): ScheduleSuccessCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleErrorCode): ScheduleErrorCode μ—΄κ±°ν˜• 생성

* [#32] feat(ScheduleRepository): ScheduleRepository 생성

* [#32] feat(ScheduleService): ScheduleService 생성 및 νšŒμ°¨λ³„ ν‹°μΌ“ ꡬ맀 κ°€λŠ₯ μ—¬λΆ€ νŒλ‹¨ λ©”μ„œλ“œ κ΅¬ν˜„

* [#32] feat(ScheduleController): νšŒμ°¨λ³„ ν‹°μΌ“ μˆ˜λŸ‰ 쑰회 GET API κ΅¬ν˜„

* [feat] #17 - 카카였 μ†Œμ…œ 둜그인 API κ΅¬ν˜„ (#36)

* [#17] feat(build.gradle): jwt, security, open feign, Redis μ˜μ‘΄μ„± μΆ”κ°€

* [#17] feat(BeatApplication): OpenFeign κ΄€λ ¨ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#17] feat(RedisConfig): redis μ„€μ •

* [#17] feat: redis ν™œμš© jwt 토큰 생성 둜직 κ΅¬ν˜„

* [#17] feat(SecurityConfig): security μ„€μ •

* [#17] refactor: Member, Users μ—”ν‹°ν‹° μˆ˜μ • 및 κ΄€λ ¨ enum μΆ”κ°€

* [#17] feat: Member, Users 도메인 κ΄€λ ¨ 인증 둜직 κ΅¬ν˜„

* [#17] feat(MemberController): Member κ΄€λ ¨ API μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#17] feat: Security κ΄€λ ¨ 인증 객체 κ΅¬ν˜„

* [#17] feat: μ†Œμ…œλ‘œκ·ΈμΈ 둜직 κ΅¬ν˜„

* [#17] fix: μ†Œμ…œλ‘œκ·ΈμΈ 였λ₯˜ ν•΄κ²°

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#17] refactor: μ½”λ“œλ¦¬λ·° 반영

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #34 - λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„ (#35)

* [#34] feat(Users): λΉŒλ” 및 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ μΆ”κ°€

* [#34] feat(Entity): μ—”ν‹°ν‹° id ν•„λ“œ μˆ˜μ •

* [#34] refactor(application.yml): dialect μΆ”κ°€

* [#34] refactor(ScheduleService): 넀이밍 μˆ˜μ •

* [#34] refactor(BookingSuccessCode): λΉ„νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#34] feat(GuestBookingRequest): λΉ„νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#34] feat(GuestBookingResponse): λΉ„νšŒμ› 예맀 응닡 DTO 생성

* [#34] refactor(BookingRetrieveService): 넀이밍 μˆ˜μ •

* [#34] feat(PerformanceRepository): 곡연 λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] feat(UserRepository): μœ μ € λ ˆν¬μ§€ν† λ¦¬ 생성

* [#34] refactor(BookingRepository): λΉ„νšŒμ› 예맀 μ‹œ 넀가지 정보가 λͺ¨λ‘ 일치 ν•΄μ•Όλ§Œ λ‹€λ₯Έ μœ μ €λ‘œ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#34] refactor(ScheduleRepository): 비관적 락 적용

* [#34] feat(GuestBookingService): 비관적 락을 μ΄μš©ν•΄ λΉ„νšŒμ› 예맀 둜직 κ΅¬ν˜„

* [#34] feat(BookingController): λΉ„νšŒμ› 예맀 POST API κ΅¬ν˜„

* [#34] test(GuestBookingServiceConcurrencyTest): λ™μ‹œμ„± ν…ŒμŠ€νŠΈ κ΅¬ν˜„

* [Refactor] #37 - 카카였 둜그인 API response μˆ˜μ • (#39)

* [#37] rename: 빈 좩돌 ν•΄κ²° μœ„ν•΄ UserRepositoryλ₯Ό UsersRepository둜 rename

* [#37] refactor: login responseμ—μ„œ refreshToken을 cookie에 담아주도둝 λ³€κ²½

* [#37] fix: dao, repository 좩돌 ν•΄κ²°

* [#37] refactor: μ–΄λ…Έν…Œμ΄μ…˜ μˆ˜μ •

* [feat] #40 - μ†Œκ°œ κ΄€λ ¨ 곡연 정보 쑰회 GET API κ΅¬ν˜„ (#41)

* [#40] feat: repository μΆ”κ°€

* [#40] feat: 곡연 κ΄€λ ¨ 성곡, μ‹€νŒ¨ 메세지 μΆ”κ°€

* [#40] feat(PerformanceDetailResponse): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 응닡 dto

* [#40] feat(PerformanceService): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ 쑰회 둜직 κ΅¬ν˜„

* [#40] feat(PerformanceController): 곡연 μƒμ„ΈνŽ˜μ΄μ§€ μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#40] feat(SecurityConfig): auth whitelist update

* [#40] refactor: dto 뢄리 및 rename

* [feat] #42 - 예맀 κ΄€λ ¨ 곡연 정보 GET API κ΅¬ν˜„ (#43)

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 dto 생성

* [#42] feat: 예맀 κ΄€λ ¨ 정보 쑰회 성곡 메세지 μΆ”κ°€

* [#42] feat(ScheduleService): μž”μ—¬ν‹°μΌ“κ³„μ‚°, μ˜ˆλ§€κ°€λŠ₯여뢀확인, μ˜ˆλ§€κ°€λŠ₯μ—¬λΆ€ update λ©”μ†Œλ“œ κ΅¬ν˜„

* [#42] feat(PerformanceService): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄μ˜ response μƒμ„±ν•˜λŠ” 둜직 κ΅¬ν˜„

* [#42] feat(PerformanceController): μ˜ˆλ§€κ΄€λ ¨κ³΅μ—°μ •λ³΄ 쑰회 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#42] feat(SecurityConfig): auth_whitelist update

* [#42] refactor(ScheduleService): findTicketAvailabilityμ—μ„œ getAvailableTicketCount method μ‚¬μš©ν•˜λ„λ‘ μˆ˜μ •

* [feat] #38 - νšŒμ› 예맀 POST API κ΅¬ν˜„ (#45)

* [#38] fix(Cast): Join ν•˜λŠ” λΆ€λΆ„ μˆ˜μ • 및 λΉŒλ”μ™€ 정적 νŒ©ν† λ¦¬ λ©”μ„œλ“œ νŒ¨ν„΄ λ„μž…

* [#38] chore(application.yml): 계측 μˆ˜μ •

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성

* [#38] fix(UserRepository): μ€‘λ³΅λœ 클래슀 μ‚­μ œ

* [#38] feat(UserErrorCode): μœ μ €μ˜ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—΄κ±°ν˜• 생성

* [#38] refactor(MemberErrorCode): message λͺ©μ μ— 맞게 λ³€κ²½

* [#38] refactor(BookingSuccessCode): νšŒμ› 예맀 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#38] feat: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 생성 컀밋에 λˆ„λ½λœ 클래슀 μΆ”κ°€

* [#38] refactor(GuestBookingService): scheduleμ—μ„œ λ°”λ‘œ get ν•˜λ„λ‘ μˆ˜μ •

* [#38] test(GuestBookingServiceConcurrencyTest): importλ¬Έ 경둜λͺ… λ³€κ²½

* [#38] refactor(MemberService): @transactional μ–΄λ…Έν…Œμ΄μ…˜μ΄ ν•„μš”ν•œ λ©”μ„œλ“œμ— ν•΄λ‹Ή μ˜΅μ…˜ μΆ”κ°€

* [#38] feat(MemberBookingRequest): νšŒμ› 예맀 μš”μ²­ DTO 생성

* [#38] feat(MemberBookingResponse): νšŒμ› 예맀 응닡 DTO 생성

* [#38] refactor(MemberController): refreshToken을 쿠킀에 넣어주도둝 κ΅¬ν˜„

* [#38] feat(MemberBookingService): νšŒμ› 예맀 μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#38] feat(BookingController): νšŒμ› 예맀 μš”μ²­ POST API κ΅¬ν˜„

* [#38] fix: λΉŒλ“œ μ•ˆλ˜λŠ” λΆ€λΆ„ μˆ˜μ •

* [#38] remove(MemberBookingService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” importλ¬Έ μ‚­μ œ

* [#38] refactor: μ»€μŠ€ν…€ μ–΄λ…Έν…Œμ΄μ…˜ 이름 μˆ˜μ •

* [feat] #44 - ν™ˆνŽ˜μ΄μ§€ 곡연 및 홍보 쑰회 GET API κ΅¬ν˜„ (#47)

* [#44] refactor: μ½”λ“œλ¦¬λ·° 반영

* [#44] fix(Promotion): κΈ°λ³Έν‚€ 이름 μˆ˜μ •, performanceId 연관관계 μ„€μ •

* [#44] feat: Repository 및 κ΄€λ ¨ 둜직 μΆ”κ°€

* [#44] feat: errorcode, successcode μΆ”κ°€

* [#44] feat: ν™ˆνŽ˜μ΄μ§€ request, response dto 생성

* [#44] feat(ScheduleService): dueDate κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#44] feat(PerformanceService): ν™ˆνŽ˜μ΄μ§€ μ •λ ¬ 및 response 생성 둜직 κ΅¬ν˜„

* [#44] chore: import문 좔가

* [feat] #46 - νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„ (#48)

* [#46] remove(BookingRetrieveRequest): 클래슀 μ‚­μ œ

* [#46] refactor(BookingSuccessCode): νšŒμ› 예맀 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#46] refactor(GuestBookingRetrieveResponse): 클래슀 λͺ… λ³€κ²½

* [#46] refactor(GuestBookingRetrieveRequest): μ•ˆμ“°λŠ” μ½”λ“œ μ£Όμ„μ²˜λ¦¬

* [#46] refactor(GuestBookingRetrieveService): 클래슀 λͺ… μˆ˜μ •μœΌλ‘œ μΈν•œ λ¦¬νŒ©ν† λ§

* [#46] refactor(SecurityConfig): 토큰 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” api 경둜 μΆ”κ°€ν•˜κΈ°

* [#46] refactor(BookingRepository): userId둜 μ˜ˆμ•½ 정보λ₯Ό κ°€μ Έμ˜€λŠ” JPA λ©”μ„œλ“œ κ΅¬ν˜„

* [#46] feat(MemberBookingRetrieveResponse): νšŒμ› 쑰회 응닡 DTO 생성

* [#46] feat(MemberBookingRetrieveService): νšŒμ› 예맀 쑰회 λ‘œμ§μ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€ λ ˆμ΄μ–΄ κ΅¬ν˜„

* [#46] feat(BookingController): νšŒμ› 예맀 쑰회 GET API κ΅¬ν˜„

* [feat] #49 - 예맀자 관리 API κ΅¬ν˜„ (#51)

* [#49] feat: ν‹°μΌ“ κ΄€λ ¨ success, error code μΆ”κ°€

* [#49] feat(Booking): μž…κΈˆμ—¬λΆ€ setter λ©”μ†Œλ“œ μΆ”κ°€

* [#49] feat(TicketRetrieveResponse): 예맀자 확인 response dto 생성

* [#49] feat(Ticket): 예맀자 ν™•μΈμš© ν‹°μΌ“ 정보 response dto 생성

* [#49] feat(TicketRepository): 예맀자 ν•„ν„°λ§μš© λ©”μ†Œλ“œ 생성

* [#49] feat: 예맀자 μž…κΈˆμ •λ³΄ μˆ˜μ • request dto 생성

* [#49] feat(TicketDeleteRequest): 예맀자 μ‚­μ œ request dto 생성

* [#49] feat(TicketService): 예맀자 관리 κ΄€λ ¨ 둜직 κ΅¬ν˜„

* [#49] feat(TicketController): 예맀자 관리 μ—”λ“œν¬μΈνŠΈ κ΅¬ν˜„

* [#49] chore: swagger annotation μΆ”κ°€

* HOTFIX(SecurityConfig): WHITELIST 경둜λͺ… μˆ˜μ •

* [fix] #52 - auth whitelist μˆ˜μ • (#53)

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

* [#52]fix(SecurityConfig): auth_whitelist μˆ˜μ •

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [feat] #54 - λ“±λ‘ν•œ 곡연 λͺ©λ‘ 쑰회 GET API κ΅¬ν˜„ (#55)

* [#54] feat(PerformanceSuccessCode): success code μΆ”κ°€

* [#54] feat: νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 dto 생성

* [#54] feat(PerformanceService): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 둜직 κ΅¬ν˜„

* [#54] feat(PerformanceRepository): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 κ΄€λ ¨ λ©”μ†Œλ“œ μΆ”κ°€

* [#54] feat(PerformanceController): νšŒμ›μ΄ λ“±λ‘ν•œ 곡연λͺ©λ‘ 쑰회 μ—”λ“œν¬μΈνŠΈ 생성

* [#54] fix(TicketService): exception error μˆ˜μ •

* [#54] chore(application.yml): yml μˆ˜μ •

* [fix] #58 - dev-ci.yml, prod-ci.yml ν™˜κ²½λ³€μˆ˜ μΆ”κ°€  (#59)

* [#58] fix(dev-CI.yml): Dev μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [#58] fix(prod-CI.yml): Prod μ„œλ²„ CI μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •

* [refactor] #61 - Performance Entity field μΆ”κ°€ (#62)

* [#61] refactor(Performance): bankHolder ν•„λ“œ μΆ”κ°€

* [#61] chore(BookingController): swagger annotation μˆ˜μ •

* [feat] #63 - healthCheckController 생성 (#64)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [feat] #63 - health check URL ν™”μ΄νŠΈλ¦¬μŠ€νŠΈμ— 등둝 (#67)

* [#63] remove(UsersRepository): 쀑볡 클래슀 μ‚­μ œ

* [#63] feat(HealthCheckController): healthcheck 컨트둀러 생성

* [#63] feat(SecurityConfig): healthcheck url white_list에 등둝

* [fix] #57 -  entity 연관관계 μ„€μ •  SecurityConfig μˆ˜μ • (#65)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

---------

Co-authored-by: DongHoon Lee <[email protected]>

* [fix] #57 - security κ΄€λ ¨ μ—λŸ¬ λŒ€μ‘ (#71)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [fix] #73 - security μˆ˜μ • (#74)

* [#57] refactor: entity 연관관계 μ„€μ • 및 μˆ˜μ •

* [#57] fix(SecurityConfig): auth_whitelist update

* [#57] chore(UsersRepository): μ€‘λ³΅λœ 파일 및 λΆˆν•„μš”ν•œ νŒ¨ν‚€μ§€ 제거

* [#57] refactor(SecurityConfig): auth_whitelist update

* [#57] refactor: μ—”ν‹°ν‹° μ •μ νŒ©ν† λ¦¬ λ©”μ†Œλ“œ μΆ”κ°€

* [#57] comment(SecurityConfig): 주석 제거

* [#57] fix(JwtAuthenticationFilter): μ—λŸ¬ 둜직 μˆ˜μ •

* fix(SecurityConfig): webSecurityCustomizer 둜직 μΆ”κ°€

* [#57] fix:security μˆ˜μ •

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½ (#77)

* [fix] #76 - λˆ„λ½λœ μ½”λ“œ μΆ”κ°€ (#79)

* [#76] fix(SecurityConfig): Base64 인코딩을 ν•˜λ„λ‘ λ³€κ²½

* [#76] chore(SecurityConfig): λˆ„λ½λœ importλ¬Έ μΆ”κ°€

* [#76] chore(JwtTokenProvider): λˆ„λ½λœ μ½”λ“œ μΆ”κ°€

* [#81] fix(JwtTokenProvider): jwtsecret을 μΈμ½”λ”©ν•˜κ³  디코딩을 ν•˜λ„λ‘ μˆ˜μ • (#82)

* [#85] chore(application.yml): ν™˜κ²½λ³€μˆ˜ μ„€μ • (#86)

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* Revert "[deploy] merge to main (#90)" (#91)

This reverts commit f519b0c.

* [fix] #93 - λˆ„λ½λœ μ–΄λ…Έν…Œμ΄μ…˜ 및 λˆ„λ½λœ 경둜λͺ… μΆ”κ°€ (#94)

* [#93] fix(HealthCheckController): λˆ„λ½λœ μ–΄λ…Έν…Œμ΄μ…˜ μΆ”κ°€

* [#93] refactor(SecurityConfig): λˆ„λ½λœ 경둜λͺ… μΆ”κ°€

* [bug] #84 - actuator/health μ˜μ‘΄μ„± 및 μ„€μ • μΆ”κ°€ (#96)

* [#84] chore(build.gradle): μ˜μ‘΄μ„± μΆ”κ°€

* [#84] chore: health/actuator yml μ„€μ • μΆ”κ°€

* [#84] chore: redis yml μ„€μ • μΆ”κ°€

* [#84] chore: yml μˆ˜μ • (#99)

* [bug] #101 - yml, s3 μˆ˜μ • (#102)

* [#101] chore: yml μˆ˜μ •

* [#101] feat: s3 μΆ”κ°€

* HOTIFX: prod ci-yml μˆ˜μ •

---------

Co-authored-by: hyerinhwang-sailin <[email protected]>

* Update application-prod.yml

---------

Co-authored-by: DongHoon Lee <[email protected]>
* [#50] chore: 폴더 이동

* [#50] feat: request DTO 생성

* [#50] feat: response DTO 생성

* [#50] refactor(PerformanceSuccessCode): 곡연 생성 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#50] chore(PerformanceService): import문 변

* [#50] chore(HomeController): import문 변

* [#50] feat(PerformanceCreateService): 곡연 생성 μ„œλΉ„μŠ€ 둜직 생성

* [#50] feat(PerformanceController): 곡연 생성 POST API 생성
* [#111] feat(build.gradle): coolsms μ˜μ‘΄μ„± μΆ”κ°€

* [#111] feat: yml에 coolsms ν™˜κ²½λ³€μˆ˜ μ„ΈνŒ…

* [#111] feat(CoolSmsService): coolsms μ›Ήλ°œμ‹  둜직 κ΅¬ν˜„

* [#111] feat(TicketService): coolsms μ›Ήλ°œμ‹  트리거 둜직 κ΅¬ν˜„

* [#111] comment(TicketController): swagger μ„€λͺ… μˆ˜μ •
* [#110] feat: request DTO 생성

* [#110] feat: response DTO 생성

* [#110] feat(CastErrorCode): λ“±μž₯인물 μ—΄κ±°ν˜• 생성

* [#110] feat(StaffErrorCode): μŠ€νƒœν”„ μ—λŸ¬ μ—΄κ±°ν˜• 생성

* [#110] refactor(PerformanceSuccessCode): 곡연 성곡 μˆ˜μ • λ©”μ‹œμ§€ μΆ”κ°€

* [#110] refactor(Performance): μ—…λ°μ΄νŠΈ λ©”μ„œλ“œ μΆ”κ°€

* [#110] refactor(Schedule): μ—…λ°μ΄νŠΈ λ©”μ„œλ“œ μΆ”κ°€

* [#110] refactor(Staff): μ—…λ°μ΄νŠΈ λ©”μ„œλ“œ μΆ”κ°€

* [#110] test(GuestBookingServiceConcurrencyTest): λ³€κ²½λœ ν•„λ“œ μΆ”κ°€

* [#110] refactor(Cast): μ—…λ°μ΄νŠΈ λ©”μ„œλ“œ μΆ”

* [#110] feat(PerformanceUpdateService): 곡연 μˆ˜μ • μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#110] feat(PerformanceController): 곡연 μˆ˜μ • PUT API μΆ”κ°€
* [#113] refactor(BookingRepository): ν•΄λ‹Ή 곡연을 μ˜ˆλ§€ν•œ μ‚¬λžŒμ΄ μžˆλŠ”μ§€ νŒλ‹¨ν•˜λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#113] refactor(PerformanceErrorCode): μ˜ˆλ§€μžκ°€ ν•œλͺ… μžˆμ„ 경우 곡연 μ·¨μ†Œκ°€ μ•ˆλ λ•Œ λ³΄μ—¬μ£ΌλŠ” μ—λŸ¬λ©”μ‹œμ§€ μΆ”κ°€

* [#113] refactor(PerformanceSuccessCode): 곡연이 μ‚­μ œλ˜μ—ˆμ„ λ•Œ λ³΄μ—¬μ£ΌλŠ” 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#113] refactor(PerformanceManagementService): 멀버 아이디λ₯Ό 인자둜 받도둝 μˆ˜μ • 및 곡연 μ‚­μ œ λ©”μ„œλ“œ κ΅¬ν˜„

* [#113] feat(PerformanceController): 곡연 μ‚­μ œ DELETE API κ΅¬ν˜„
* [#117] remove(PerformanceCreateService): μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 클래슀 μ‚­μ œ

* [#117] refactor(CastRepository): DB에 λ“±λ‘λœ λ“±μž₯인물을 λͺ¨λ‘ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#117] refactor(ScheduleRepository): DB에 λ“±λ‘λœ 회차λ₯Ό λͺ¨λ‘ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#117] refactor(StaffRepository): DB에 λ“±λ‘λœ μŠ€νƒœν”„λ₯Ό λͺ¨λ‘ κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ κ΅¬ν˜„

* [#117] refactor(PerformanceSuccessCode): 곡연 μˆ˜μ • νŽ˜μ΄μ§€ 쑰회 성곡 λ©”μ‹œμ§€ μΆ”κ°€

* [#117] refactor(PerformanceEditResponse): 곡연 μˆ˜μ • νŽ˜μ΄μ§€ 쑰회 응닡 DTO 생성

* [#117] refactor(PerformanceService): μˆ˜μ • νŽ˜μ΄μ§€μ˜ 정보λ₯Ό μ‘°νšŒν•˜λŠ” μ„œλΉ„μŠ€ 둜직 κ΅¬ν˜„

* [#117] feat(PerformanceController): 곡연 μˆ˜μ • νŽ˜μ΄μ§€μ˜ 정보λ₯Ό μ‘°νšŒν•˜λŠ” GET API κ΅¬ν˜„
@hyerinhwang-sailin hyerinhwang-sailin self-assigned this Jul 17, 2024
@hyerinhwang-sailin hyerinhwang-sailin merged commit bea5e0d into main Jul 17, 2024
2 checks passed
@hoonyworld hoonyworld changed the title merge develop to main [deploy] merge develop to main Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants