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

배포 #32

Merged
merged 187 commits into from
Feb 2, 2025
Merged

배포 #32

merged 187 commits into from
Feb 2, 2025

Conversation

ChungPlusPlus
Copy link
Collaborator

No description provided.

kdh8156 and others added 30 commits December 29, 2024 16:02
dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지
가능한 상태입니다
엔티티 작업중
임시저장하겠습니다
좌석 확인, 예매, 예매 취소 기능 구현
아직 동시성 처리 안됐습니다
컨트롤러 추가했습니다
곧 테스트 코드 추가해보겠습니다
performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스
함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는
서비스를 만들었습니다

추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서
과정을 더 자동화할 수 있을 것 같습니다
SeatIntegrationTest 만들었습니다

테스트 전부 통과하며 빌드 성공합니다
다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아
문제가 생기니 이는 개선이 필요합니다
application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다
테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을
끼치지 않게 됩니다
ChungPlusPlus and others added 29 commits February 1, 2025 15:15
* merge test - generate performancehallentity.kt

* feat: searchPerformance

* chore: 도커 컴포즈

dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지
가능한 상태입니다

* modify searchPerformance

* add: docker-compose

* modify build.gradle.kts

* add wildcard import in UserService.kt

* change Performance attribute 'genre' to 'category'

* change category to ENUM Type

* add some Init Datas

* add some Init Datas

* assign posterimageURL

* add: Entity

엔티티 작업중

* assign posterimageURL

* add: SeatService

임시저장하겠습니다

* feat: SeatService

좌석 확인, 예매, 예매 취소 기능 구현
아직 동시성 처리 안됐습니다

* feat: Add Controller

컨트롤러 추가했습니다
곧 테스트 코드 추가해보겠습니다

* modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경

* feat: SeatCreation

performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스
함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는
서비스를 만들었습니다

추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서
과정을 더 자동화할 수 있을 것 같습니다

* add: SeatIntegrationTest

SeatIntegrationTest 만들었습니다

테스트 전부 통과하며 빌드 성공합니다
다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아
문제가 생기니 이는 개선이 필요합니다

* chore: use h2 while test

application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다
테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을
끼치지 않게 됩니다

* fix: Seat Reservation

reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은
컨트롤러까지 분리했습니다

* style: seat ktlint

seat폴더의 파일들에 ktlint 적용

* modify MakeFile

* 공연 검색 기능 구현

* fromEntity parameter change: receive Entities -> receive DTOs

* modify searchPerformance endpoint URL

* chore: makefile

OS 따라서 다르게 작동하게 수정

* 공연 1개 상세 정보 반환

* minor modify: change how null type is handled

* 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음

* modify DataInitializer, SeatIntegrationTest

* add PerformanceDetail Uri

* make PerformanceItegrationTest.kt

* feat: 예매 동시성

동시성 처리 완료
동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움

* feat: Get My Reservation Api

유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가

* feat: Seat Get TestCode

Get API가 정상작동하는지 테스트코드 추가

* modify SearchPerformanceResponse

* check auth for create, delete performance

* check auth for create, delete performanceEvent, performanceHall

* add posterUri attr to BriefPerformanceDetail

* minor change

* feat: 예매목록 Brief로 주기

기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정
signin을 할 때 User도 같이 반환하도록 수정

* fix: 로그아웃, 토큰 재발급

버그 수정, 엔드포인트 수정

* add UserIdentityNotFoundException

* modify PerformanceDurtion

* feat: 공연장 생성시 좌석도 함께 생성

* feat: seat 초기화 적용, 버그 수정

PerformanceHall이 생성될 때 Seat을 같이 생성,
PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경

* feat: Find PerformanceEvent

PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가

잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환

* chore: .env 무시

* feat: Reinforce Simultaneous test code

동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가
동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가

* feat: Review/Reply 연결

review와 reply 마무리

* comment: user 설명 추가

username과 password의 조건 설명 추가

* chore: 필요없는 코드 지우기

* feat: Sort Reviews and Replies

GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다

* style: add new line at EOF

* hotfix: test 안되던 오류 수정

* fix: Change Reservation

ReservationEntity 예매하면서 만들어지도록 변경

* fix: error 핸들링

SeatService에서 DataIntegrityViolationException을 핸들링하기 위해
saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서
오류가 핸들링이 안 되었었다

* fix: Seat Test

* fix: test conflict resolve

테스트에서 같은 username을 쓰던 부분을 수정

* feat: Seat Api Test

* fix: 예매 취소 POST -> DELETE

* add: Review, Reply DTO Instant -> LocalDatTime

* feat: Cursor Pagination Tools

CursorSpecification은 조건 추가해수는 기능
CursorPageService는 cursor 포함해서 검색하는 기능
CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는
기능

* feat: CursorPageable 적용

* fix: modify CursorPageable

디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용

* fix: Reply Test

Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경

* feat: response

hasNext와 nextCursor 반환

* fix: nextCursor 수정

원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다
get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다

* feat: Performance Pagination 완성

* feat: pagination 적용된 review 조회

v2로 만들었습니다

* fix: Review Cursor

기능 완성

* feat: Reply에도 Cursor 적용

* fix: 엔드포인트 분리

* feat: performance 엔드포인트 분리

v1과 v2로 나누어 선택할 수 있도록

* feat: permitAll for pagination

* fix: test 코드 수정

* fix: test 수정

* feat: Performance Search & Get Review 페이지네이션 적용 완료

* feat: Exception 처리

* fix: 기존 테스트 코드 유지

* feat: Reply Pagination 완성

Performance, Review, Reply Pagination 구현 완료

* feat: Performance Date 추가

* feat: data 추가중

* feat: MUSICAL data 완료

* feat: PLAY 데이터 추가

* feat: CLASSIC 데이터 추가

* feat: CONCERT 데이터 추가

---------

Co-authored-by: Dohyeon Kim <[email protected]>
@ChungPlusPlus ChungPlusPlus merged commit 639a677 into main Feb 2, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants