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

Reservation API 구현 #11

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Reservation API 구현 #11

wants to merge 3 commits into from

Conversation

eojinny
Copy link
Member

@eojinny eojinny commented Aug 19, 2024

Pull Request Comment

📝 PR 요약

이번 PR에서는 예약 API의 CRUD 기능을 구현했습니다. 이 기능은 사용자와 관리자 모두가 예약을 신청, 조회, 취소, 승인, 거절할 수 있도록 하는 데 중점을 두고 있습니다.

주요 변경 사항

1.	ReservationController:
	예약 CRUD 엔드포인트를 추가하여 예약 신청, 상태 조회, 취소, 승인, 거절 기능을 제공했습니다.
        특정 시간대의 예약 가능 여부를 확인하는 엔드포인트도 포함되었습니다.
2.	ReservationService:
	Redis를 활용한 예약 가능 여부 확인 기능을 구현했습니다.
	예약 상태 변화 시 ApplicationEventPublisher를 통해 이벤트를 발행하여 시스템의 다른 컴포넌트에서 이를 감지할 수 있도록 했습니다.
3.	ReservationEvent:
	예약 생성, 취소, 승인, 거절 시 발생하는 이벤트를 정의했습니다. EventListener가 이를 수신하여 후속 작업을 처리할 수 있습니다.
4.	Redis Integration:
	예약 가능 시간대를 Redis로 관리하여, 인기 있는 시간대의 동시성 문제를 해결하도록 구현했습니다.

@eojinny eojinny linked an issue Aug 19, 2024 that may be closed by this pull request
@eojinny eojinny changed the title [init] setting Reservation API 구현 Oct 29, 2024
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Response 상태 코드나 양식은 서비스별로 통일하는게 좋을 것 같네요. 다음 회의 때 BaseResponse 양식 같이 얘기해보시죠!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://velog.io/@penrose_15/Spring-Boot-EventHandler

중앙부터 참고하시면 될 것 같아요!

EventListener 자체를 @async 붙여서 비동기로 돌리는 방법도 있네요. 클라이언트에서 서버로 요청이 들어오면 대기열 큐나 redis로 서버 부하를 조절하고, 실제 비즈니스 로직을 비동기적으로 실행하는 것도 부하를 줄이는데 도움이 될 것 같아요!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

트랜잭션 처리 로직도 같이 고민해봐요💗

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.

✨ [FEAT] 예약 CRUD
2 participants