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

[Feat] fcm 메시지 알람 기능 구현 #9

Merged
merged 21 commits into from
Mar 8, 2024

Conversation

ingpyo
Copy link
Contributor

@ingpyo ingpyo commented Mar 4, 2024

관련 이슈

#3
#11

설명

예약된수업10분전출석안내알람을 주는 기능 구현
이용권 만료 전 사용자에게 알림을 주는 기능 구현
이용권은 횟수가 모두 소진되면 만료되면 알람을 주는 기능 구현
수업 종료 시간 시점 수업을 예약한 학생의 이용권 횟수를 일괄로 차감기능 구현
중복으로 알람이 가지않도록 동시성 처리

@ingpyo ingpyo merged commit de57354 into develop Mar 8, 2024
ingpyo added a commit that referenced this pull request May 11, 2024
* feat: 곽두철 뼈대 엔티티 정의

* feat: 곽두철 뼈대 엔티티 재정의

* [Feat] fcm 메시지 알람 기능 구현 (#9)

* chore: 외부통신을 위한 webflux의존성 추가

* feat: KAKAO API를 통해 메시지를 보내는 기능 구현

* feat: 시스템 시간 정의(Clock)

* chore: firebase의존성 주입

* feat: fcm을 사용해 알람기능 구현

* feat: 이벤트 객체 정의(수업 생성)

* feat: lessonid에 따른 객체 찾는 기능구현

* feat: 이벤트 객체 정의(수업 철회)

* feat: 알람 기능 추상화 밑 스케줄러 기능 구현

* feat: Letter기능 및 알람 메시지 구현

* feat: 오후 **시 **분 형식으로 변경하는 메서드 구현

* feat: 알람기능 구현(수업신청, 수업철회)

* feat: 알람기능의 필요한 스케줄 기능 추가

* chore: DB의존성 추가

* feat:서버가 재시작했을때 알림을 초기화해주는 기능구현

* feat: 알람 확인을 위한 프론트코드 구현

* feat: firebase 설정 추가

* feat: 알람 테스트를 위한 컨트롤러 작성

* feat: 스케쥴러 빈 등록

* feat: Redis를 활용하여 분산된서버일 때 중복으로 알람이 발생하는 문제 해결로직 작성

---------

Co-authored-by: yuseonjun <[email protected]>

* refactor: 중복 코드 삭제

* refactor: 잘못된 코드 리팩터링

* chore: mock 의존성 추가

* feat: 수강신청 메서드 구현

* feat: Redis의 setNX를 사용한 수강신청 락 구현

* [Feat] 알람 기능구현 및 spring batch를 사용한 스케줄기능 구현 (#13)

* feat: Batch 설정 및 user엔티티 재정

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성(JPA -> 쿼리로 변경)

* feat: Batch를 사용해 수업후 알람 및 이용권 개수 차감

* feat: job을 실행시키는 스케줄러 구현

* feat: batch로 스케줄 로직 이동 및 클래스 네이밍 오타 수정

* feat: TaskExecutor 설정

* feat: 페키지 이동(service -> application)

* feat: Batch 설정 및 user엔티티 재정

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성(JPA -> 쿼리로 변경)

* feat: Batch를 사용해 수업후 알람 및 이용권 개수 차감

* feat: job을 실행시키는 스케줄러 구현

* feat: batch로 스케줄 로직 이동 및 클래스 네이밍 오타 수정

* feat: TaskExecutor 설정

* feat: 페키지 이동(service -> application)

* refactor: final 키워드 추가

* [Feat] kakao 소셜 로그인 및 JWT 구현 (#18)

* chore: jwt 의존성 추가

* feat: JWT 및 카카오 소셜 로그인 구현

* feat: 토큰 응답 dto 구현

* Update application.properties

* refactor: 불필요한 코드 리팩터링

* refactor: WebClientConfig 삭제 및 리팩터링

* refactor: Data -> Getter로 변경

* refactor: Builder -> 정적 팩토리 메서드로 변경

* refactor: 유저 인증 및 인가 정보를 담당하는 UserPrincipal 생성 및 코드 리팩터링

* refactor: class에서 record로 변경

* refactor: 종료하고 시작할때마다 자동으로 secretKey가 바뀌게 구현

* refactor: service로 로직 분리

* refactor: 클래스 이름 변경

* refactor: 불필요한 클래스 삭제

* refactor: 전체 코드 리팩터링

* refactor: 헤더에서 쿠키형식으로 변경

* Update application.properties

* Update application.properties

* feat: gitignore 추가

* refactor: 전체 코드 리팩터링

* [Feat] 상품 등록 및 조회 기능 (#22)

* feat: 상품 조회 기능 구현

* feat: 상품 등록 기능 구현

* refactor: 전체 코드 리팩터링

* refactor: ProductRepository -> Product

* refactor: 테스트 코드 삭제

* refactor: 사용하지 않는 메서드 제거 및 리팩터링

* Graceful Shutdown 적용 (#28)

* fact: 비동기 스레드 timeout설정

* fact: graceful shutdown 설정

* [Feat] PT 한개 조회, PT 삭제 기능 추가 (#31)

* feat: product 지우는 메서드 구현

* feat: product 1개 조회 메서드 구현

* feat: product 서비스 테스트 코드 구현

* refactor: PostMapping으로 변경

* refactor:api 변경

* refactor: 멱등성을 고려하여 변경

* [Feat] 라이엇 API에 사용할 API bucket4j 적용 (#24)

* chore: bucket4j 의존성 주입

* chore: Redis 설정 변경

* feat: bucket4j config설정 및 유량제어 정책 정의

* feat: bucket4j config설정 및 유량제어 정책 정의

* refactor: 패키지 이

* refactor: 유량제어 정책 enum 네이밍 변경

---------

Co-authored-by: yuseonjun <[email protected]>
Co-authored-by: SeonJuuuun <[email protected]>
ingpyo added a commit that referenced this pull request May 18, 2024
* feat: 곽두철 뼈대 엔티티 정의

* feat: 곽두철 뼈대 엔티티 재정의

* [Feat] fcm 메시지 알람 기능 구현 (#9)

* chore: 외부통신을 위한 webflux의존성 추가

* feat: KAKAO API를 통해 메시지를 보내는 기능 구현

* feat: 시스템 시간 정의(Clock)

* chore: firebase의존성 주입

* feat: fcm을 사용해 알람기능 구현

* feat: 이벤트 객체 정의(수업 생성)

* feat: lessonid에 따른 객체 찾는 기능구현

* feat: 이벤트 객체 정의(수업 철회)

* feat: 알람 기능 추상화 밑 스케줄러 기능 구현

* feat: Letter기능 및 알람 메시지 구현

* feat: 오후 **시 **분 형식으로 변경하는 메서드 구현

* feat: 알람기능 구현(수업신청, 수업철회)

* feat: 알람기능의 필요한 스케줄 기능 추가

* chore: DB의존성 추가

* feat:서버가 재시작했을때 알림을 초기화해주는 기능구현

* feat: 알람 확인을 위한 프론트코드 구현

* feat: firebase 설정 추가

* feat: 알람 테스트를 위한 컨트롤러 작성

* feat: 스케쥴러 빈 등록

* feat: Redis를 활용하여 분산된서버일 때 중복으로 알람이 발생하는 문제 해결로직 작성

---------

Co-authored-by: yuseonjun <[email protected]>

* refactor: 중복 코드 삭제

* refactor: 잘못된 코드 리팩터링

* chore: mock 의존성 추가

* feat: 수강신청 메서드 구현

* feat: Redis의 setNX를 사용한 수강신청 락 구현

* [Feat] 알람 기능구현 및 spring batch를 사용한 스케줄기능 구현 (#13)

* feat: Batch 설정 및 user엔티티 재정

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성(JPA -> 쿼리로 변경)

* feat: Batch를 사용해 수업후 알람 및 이용권 개수 차감

* feat: job을 실행시키는 스케줄러 구현

* feat: batch로 스케줄 로직 이동 및 클래스 네이밍 오타 수정

* feat: TaskExecutor 설정

* feat: 페키지 이동(service -> application)

* feat: Batch 설정 및 user엔티티 재정

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성

* feat: Batch를 사용해 수업전 리마인드 알람 스케줄 작성(JPA -> 쿼리로 변경)

* feat: Batch를 사용해 수업후 알람 및 이용권 개수 차감

* feat: job을 실행시키는 스케줄러 구현

* feat: batch로 스케줄 로직 이동 및 클래스 네이밍 오타 수정

* feat: TaskExecutor 설정

* feat: 페키지 이동(service -> application)

* refactor: final 키워드 추가

* [Feat] kakao 소셜 로그인 및 JWT 구현 (#18)

* chore: jwt 의존성 추가

* feat: JWT 및 카카오 소셜 로그인 구현

* feat: 토큰 응답 dto 구현

* Update application.properties

* refactor: 불필요한 코드 리팩터링

* refactor: WebClientConfig 삭제 및 리팩터링

* refactor: Data -> Getter로 변경

* refactor: Builder -> 정적 팩토리 메서드로 변경

* refactor: 유저 인증 및 인가 정보를 담당하는 UserPrincipal 생성 및 코드 리팩터링

* refactor: class에서 record로 변경

* refactor: 종료하고 시작할때마다 자동으로 secretKey가 바뀌게 구현

* refactor: service로 로직 분리

* refactor: 클래스 이름 변경

* refactor: 불필요한 클래스 삭제

* refactor: 전체 코드 리팩터링

* refactor: 헤더에서 쿠키형식으로 변경

* Update application.properties

* Update application.properties

* feat: gitignore 추가

* refactor: 전체 코드 리팩터링

* [Feat] 상품 등록 및 조회 기능 (#22)

* feat: 상품 조회 기능 구현

* feat: 상품 등록 기능 구현

* refactor: 전체 코드 리팩터링

* refactor: ProductRepository -> Product

* refactor: 테스트 코드 삭제

* refactor: 사용하지 않는 메서드 제거 및 리팩터링

* Graceful Shutdown 적용 (#28)

* fact: 비동기 스레드 timeout설정

* fact: graceful shutdown 설정

* [Feat] PT 한개 조회, PT 삭제 기능 추가 (#31)

* feat: product 지우는 메서드 구현

* feat: product 1개 조회 메서드 구현

* feat: product 서비스 테스트 코드 구현

* refactor: PostMapping으로 변경

* refactor:api 변경

* refactor: 멱등성을 고려하여 변경

* [Feat] 라이엇 API에 사용할 API bucket4j 적용 (#24)

* chore: bucket4j 의존성 주입

* chore: Redis 설정 변경

* feat: bucket4j config설정 및 유량제어 정책 정의

* feat: bucket4j config설정 및 유량제어 정책 정의

* refactor: 패키지 이

* refactor: 유량제어 정책 enum 네이밍 변경

* [Feat] Lesson 업데이트 (#25)

* feat: Lesson 업데이트

* feat: Lesson 업데이트

* feat: lesson 업데이트

* feat: lesson 업데이트

* feat: lesson 업데이트

* feat: lesson 업데이트

* feat: lesson 업데이트

* feat: lesson 업데이트

* feat: lesson 업데이트

* refactor: dto 코드 수정 (#35)

---------

Co-authored-by: yuseonjun <[email protected]>
Co-authored-by: SeonJuuuun <[email protected]>
Co-authored-by: 이유구 <[email protected]>
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.

2 participants