Skip to content

feat: 팀 태그 기능 추가#70

Merged
gardenzeeero merged 6 commits intodevelopfrom
feature/teamTag
Nov 12, 2025
Merged

feat: 팀 태그 기능 추가#70
gardenzeeero merged 6 commits intodevelopfrom
feature/teamTag

Conversation

@gardenzeeero
Copy link
Copy Markdown
Contributor

구현기능

  • 팀 태그 도메인 모델 기능 추가
  • 기존 회의에 팀 태그 추가/삭제 기능 추가
  • 회의 생성시 태그 넣을 수 있도록 변경
  • 회의 정보 조회 시 팀 정보도 같이 넘기도록 변경
  • 팀 목록 조회시 가장 근접한 회의 정보도 조회
    • 예정 된 가장 가까운 회의 조회
    • 없다면 가장 가까운 이전 회의 조회
    • 없다면 빈값 전달

@gardenzeeero gardenzeeero merged commit dd939c6 into develop Nov 12, 2025
1 check passed
@gardenzeeero gardenzeeero deleted the feature/teamTag branch November 12, 2025 14:52
gardenzeeero added a commit that referenced this pull request Mar 23, 2026
* chore: secret 파일 .gitignore 추가

* chore: ci/cd를 위한 yml 설정

* feat: hc를 위한 엔드포인트 추가

* chore: Dockerfile 작성

* chore: ci/cd 완성

* feat: 기본 설정 (#3)

* feat: 기본 exception 및 handling 설정

* feat: BaseTimeEntity 추가 및 Auditing 설정

* feat: Security 기본 설정 (Session with HttpBasicLogin)

* feat: JWT 스프링 시큐리티 기본 설정 (#4)

* chore: 패키지 위치 변경

* feat: 엔티티 선언

* feat: 사용자 조회 기능 추가

* feat: Jwt를 위한 기본 설정 변경

* feat: CustomUserDetails 구현

* feat: CustomUserDetailsService 구현

* feat: jwt 구현 (#5)

* chore: 패키지 위치 변경

* feat: JWT 의존성 추가

* feat: JWT 환경변수 클래스 추가

* feat: JWT 생성 및 추출 구현

* feat: JWT 검증 및 권한 부여 필터 구현

* feat: 필터 빈 등록

* feat: 필터 등록

* feat: OAuth 로그인 추가 (#6)

* feat: OAuth 환경 변수 클래스 추가

* feat: User에 가입 플랫폼 추가 및 빌더 패턴 추가

* feat: OAuthClient 공통로직 추가

예외코드 추가

* feat: GoogleClient 추가

* feat: 플랫폼별 클라이언트 선택 클래스 추가

* feat: OAuth 로그인 컨트롤러 및 서비스 추가

* fix: 생성자 주입을 위한 final 키워드 추가

* fix: id 타입 Long으로 수정

* fix: CustomUserDetails 생성시 email 기준으로 찾도록 변경

* fix: Properties setter 추가

* chore: 4 Layered Architecutre 형식으로 패키지 구조 변경

* feat: 예외처리 방식 추가 및 JWT관련 버그 수정 (#8)

* feat: 필터에서 발생하는 jwt 예외처리 필터 추가

* fix: 사용자 조회시 email로 조회하던 문제 해결

* feat: Bean Validation시 예외 출력 방식 변경

* feat: 회의 생성 기능 추가 (#9)

* feat: 회의관련 엔티티 추가

* feat: 회의관련 Repository 추가

* feat: Meeting 생성용 DTO 추가

* feat: ErrorCode 추가

* feat: Meeting 생성 로직 추가

* feat: Meeting 추가 엔드포인트 설정

* feat: Meeting 생성 DTO 검증 추가

* feat: 회의 쉬는시간 간격 추가 (#10)

DTO 수정 및 엔티티수정

* feat: 이메일로 회원 조회 기능 추가 (#11)

* feat: 회의 시 오디오 데이터 수신 및 저장 구조 추가 (#12)

* chore: WebSocket 의존성 추가

* feat: 오디오 전송시 메타데이터 정의

* feat: WebSocket에 대한 Security 설정

* feat: 오디오 저장 시 베이스 경로 환경변수 정의

* feat: 바이너리 데이터 변환 및 저장 로직 추가

* feat: 오디오 데이터 핸들러 추가

* feat: 핸들러 등록

* feat: 앱 로그인 방식 추가 (#13)

* feat: 웹을 통한 로그인 방식 수정

* feat: 앱을 통한 로그인 방식 추가

* feat: 아젠다 추가 및 상태 변경 기능 추가 (#14)

* feat: Agenda 생성자 추가

* feat: Meeting 추가시 Agenda도 받도록 추가

* chore: QueryDsl 의존성 추가

* feat: QueryDsl 설정 클래스 추가

* style: 쓸데없는 주석 삭제

* feat: agenda 완료상태 변경 메서드 추가

* feat: QueryDsl을 활용한 서브쿼리 메서드 추가

* feat: 기존 Repository에 QueryDsl 쿼리 추가

* feat: agenda 상태변경 기능 추가

* feat: agenda 상태변경 엔드포인트 추가

* chore: dto 이름 변경

* fix: dto 검증을 위해 Wrapper 타입으로 변경

* feat: sse(참여율, 피드백, 요약) 기본 뼈대 및 구독 기능 완성 및 jwt 필터 오류 수정 (#15)

* feat: MeetingSseEmitter 관리 클래스 추가

* feat: 점유율 구독 로직 추가

* style: 점유율(share)를 참여율(participation rate)로 변경

* feat: 회의 상태(대기중, 진행중 등) 필드 추가

* feat: 회의가 진행중이지 않을 때 예외를 반환하도록 변경

* feat: 테스트 메세지 전송 기능 추가

* feat: 회의 존재 및 참여자 검증 클래스 분리

* feat: 테스트 메세지 전송 엔드포인트 추가

* chore: 패키지 위치 변경

* feat: 요약 구독 및 테스트 기능 추가

* feat: 피드백 구독 및 테스트 기능 추가

* feat: 참여율 기능에 validator 적용

* fix: 참여율 엔드포인트 수정

* feat: jwt 필터에서 DB를 조회하지 않도록 변경

* style: CONNECT 이벤트 이름 변경

* feat: 회의 단건 조회 및 월별 목록 조회 기능 추가 (#16)

* feat: WebSocket 환경변수 properties 추가

* feat: WebSocket 환경변수 추가

* style: 디버그용 로그 삭제

* style: 로그 추가 및 스타일 수정

* chore: 설정파일 깃에서 제외

* feat: 회의 정보 조회 dto 추가

* feat: 회의 참여 여부 검증 메서드 추가

* feat: 회의 정보 단건 조회 기능 추가

* feat: 회의 정보 단건 조회 엔드포인트 추가

* feat: QueryDSl을 활용한 회의 목록 조회

* feat: 회의 목록 조회 기능 추가

* feat: 회의 목록 조회 엔드포인트 추가

* feat: 회의 안건(Agenda) 조회 기능 추가 (#17)

* feat: meetingId 기준 회의 안건 조회 기능 추가

* feat: meetingId 기준 회의 안건 조회 엔드포인트 추가

* feat: meeting 참여 여부 확인 메서드 모듈화

* feat: 앱과 웹 모두 로그인 가능하도록 변경 (#18)

* feat: 클라이언트 플랫폼에 따른 redirectUri 환경변수 추가

* feat: 클라이언트 플랫폼에 따라 다른 redirect 경로 추가

* feat: 클라이언트 구분 기능 추가

* feat: 클라이언트 구분 기능 엔드포인트 변경

* docs: Swagger 적용 및 controller와 service의 DTO 분리 (#19)

* feat: Cors 설정 추가

* chore: 프로젝트 이름 변경

* chore: Swagger 의존성 추가 및 환경변수 설정

* feat: Swagger 설정파일 추가

* feat: 요청 성공 응답 포맷 추가

* feat: Meeting에 SuccessResponse 적용

* chore: dto 패키지 위치 변경

* feat: meeting 생성시 id를 반환하도록 변경

* docs: Meeting 관련 Swagger 작성

* feat: User 관련 controller와 service dto 분리

* docs: User 관련 Swagger 작성

* docs: Auth 관련 Swagger 작성

* chore: Agenda Dto 구조 변경

* feat: Agenda 상태 변경 시 상태 반환하도록 변경

* feat: Agenda 관련 controller 와 service dto 분리

* docs: Agenda 관련 Swagger 작성

* docs: Feedback 관련 Swagger 작성

* docs: ParticipationRate 관련 Swagger 작성

* docs: Summary 관련 Swagger 작성

* feat: 회의 생성 및 조회 시 쉬는시간 길이 필드 추가 (#20)

* feat: meeitng 엔티티에 쉬는시간 길이 추가

* feat: 회의 생성 시 쉬는시간 길이도 받도록 변경

* refactor: 기능 분리 및 소켓 예외 처리 로직 추가 (#21)

* refactor: MeetingSerivce에서 Audio 관련 기능 분리

* refator: 전역 예외 처리 필요없는 코드 삭제

* feat: 소켓 관련 예외처리 로직 추가

* refactor: ErrorResponse를 공통 레코드로 추출

* feat: AudioError 적용

* feat: 세션관리 로직 추가 및 소켓 인증 로직 구현 (#22)

* refactor: 오디오 저장 로직을 repository로 분리

* feat: 임시 WhisperClient 구현

* feat: Session 저장소 추가

* feat: 오디오 저장 시 권한 확인

* feat: audioMeta의 chunkId필드를 Long으로 변경

* feat: 세션 연결시 정보를 활용하는 방식으로 변경

* feat: WebSocket 예외 처리 로직 분리

* style: 변수명 소문자로 변경

* feat: jwt를 쿼리파라미터로 받도록 변경

* feat: 세션 연결시 사전 검증에 통과하지 못하는 경우 세션 종료

* feat: userId로 삭제 추가 및 리팩토링

* feat: 세션 저장시 기존 세션 확인로직 추가

* refactor: 기존 세션 검색 로직 stream API를 활용

* feat: Transactional 어노테이션 추가

* fix: meeting 생성 시 대기 상태로 생성

* fix: 네트워크 에러로 닫힐경우 POLICY_VIOLATION 반환

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: URL 매핑시 URL 구체화

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: 핸드쉐이크 시 token이 없을 경우 로그 작성

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: 소켓 연결시 마지막으로 받은 chunkId 반환 및 Redis 의존성 추가 (#23)

* chore: Redis 의존성 추가

* feat: RedisTemplate 설정

* feat: chunkId 관리 Repository 생성

* feat: 마지막으로 받은 ChunkId 반환 기능 추가

* feat: Socket용 반환 메세지 포맷 추가

* feat: 마지막으로 받은 chunkId 반환 전송 로직 추가

* feat: 예상되는 chunkId와 다를경우 log를 남기도록 처리

이후에 프로토콜 추가 예정

* feat: 회의 상태 변경(진행, 종료, 취소) 기능 추가 및 Socket 요청/응답 폼 변경 (#24)

* refactor: 사용하지 않는 의존성 제거

* feat: Meeting 도메인에 상태 변경 코드 추가

* feat: 회의 리더 검증 코드 추가

* feat: 회의 시작, 종료, 취소 기능 추가

* feat: 회의 상태 업데이트를 위한 api dto 추가

* feat: 회의 상태 업데이트 endpoint 추가

* feat: WebSocket을 텍스트 메세지도 받도록 변경

* feat: Socket 용 응답 폼 완성

* feat: SocketErrorHandler가 새로운 응답 폼을 이용하도록 변경

* refactor: 회의 상태 검증 기능을 AccessValidator로 분리

* style: dto 및 enum 이름 정형화

* refactor: 검증마다 DB로 검증하지 않도록 변경

* fix: isLeader를 isHost로 변경

* chore: 로그 상세화

* feat: meetingId로 세션 검색 메서드 추가

* feat: 회의 종료시 연관된 세션 종료 기능 추가

* fix: 잘못된 에러코드 분리

* fix: dto 내부에 enum을 사용하지 않도록 변경

* docs: 회의 상태 변경 api swagger 작성

* feat: 오디오 저장 및 병합 로직 추가 (S3, FSN) / 회의 정보 조회 기능 변경 / 회의 정보 수정 기능 추가 (#26)

* feat: 회의 시작 시 피드백, 중간요약 기능 구현 및 whisper 서버와의 프로토콜 구현 (#27)

* chore: whisper request 패키지 변경

* chore: whisper client binary로 변경

* feat: whisper request 형식 변경

* feat: 비동기 쓰레드 풀 설정 추가

* chore: 이벤트 패키지 위치 수정

* feat: 회의 시작 및 종료시 whisper 서버 요청 스케줄링 관리

* refactor: 세션 관리 클래스를 repository에서 manager로 변경

* feat: whisperClient 응답 파싱 및 이벤트 발행

* style: whisper 관련 이벤트 클래스명 변경

* feat: 애플리케이션 이벤트 추가

* feat: 피드백, 중간요약, 전체요약 엔티티 추가

* feat: 피드백, 중간요약, 전체요약 레포지토리 추가

* feat: 특정 meeting의 특정 user에게 sse 이벤트 전송 기능 추가

* feat: whisper 서버에서 피드백 수신시 저장 후 전송 기능 추가

* refactor: Recap 엔티티 삭제 및 Summary로 통합

* refactor: Summary 통합에 따른 이벤트 형식 변경 및 dto 추가

* fix: taskExecutre의 빈이 2개인 문제 및 SSE Emitter timeout이 짧은 문제 해결

* feat: whisper 서버에서 요약 수신시 저장 후 전송 기능 추가

* feat: 필요없는 테스트용 엔드포인트 삭제

* feat: 테스트용 피드백, 중간요약 메서드 생성

꼭 주석을 풀고 사용해야합니다.

* feat: whisper 서버 정보 propeties로 분리

* chore: 주석 오타 수정

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: 잘못된 dto 반환 수정

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: 음성 텍스트 변환 (STT) 기능 추가 및 회의 정보 조회 시 응답 필드 추가 (#28)

* feat: whisper 서버 응답 필드에 flag 추가

* feat: 대화 Segment 엔티티 및 레포지 토리 추가

* feat: 변환된 Segment 사용자에게 전달 및 저장

* feat: 처음 처리된 청크 시간정보 저장 및 조회 기능 추가

* feat: 변환된 텍스트 응답시 시간정보를 계산하여 넣도록 변경

* fix: s3 프로퍼티 오류 수정

* test: timestamp 적용 후 테스트용 코드 수정

1초마다 diarized 보내도록 변경

* feat: completed segment 저장 시 timestamp 추가

* feat: 회의 정보 조회시 host 여부도 반환도록 변경

* feat: 한달 단위로 조회시 targetTime도 반환하도록 변경

* docs: 조회 목록 변경에 따른 Swagger 업데이트

* feat: 테스트용 코드 주석 처리

* feat: 임베딩 오디오 전송 및 저장 및 수신된 임베드 벡터 처리 및 저장 (#29)

* feat: 본인 이름 조회 기능 추가

* feat: 임베드 벡터로 변환되기 전 오디오 데이터 저장 레포지토리 추가

* feat: 임베드 벡터로 변환된 오디오 저장 레포지토리 추가

* feat: whisper 서버에 임베딩 요청 메서드 추가

* refactor: 오디오 관련 패키지 분리

* feat: 임베딩 오디오 전송 기능 추가

* docs: 임베딩 오디오 전송 문서 작성

* feat: whisper 서버 임베딩 벡터 수신 포맷 추가

* feat: 회의 시작 시 임베딩 벡터 전송 및 오디오 처리시 트랜잭션 없이 처리하도록 변경 (#30)

* feat: whisper 서버 임베딩 벡터 수신 시 s3에 저장

* feat: whisper 서버에 보내는 reference 메서드 추가

* feat: s3를 통해 파일 다운로드 메서드 추가

* feat: 회의 참여자 조회 기능 추가

* feat: 임베드 벡터 조회기능 추가

* feat: 회의 시작 시 임베드 벡터 전송 기능 추가

* fix: 임베딩 오디오 전송 시 String으로 보내도록 변경

* fix: 오디오 처리시 트랜잭션 없이 처리하도록 변경

* fix: 오디오 임베딩 시 audio/mp4로 받도록 변경 (#31)

* fix: 임베드 벡터 저장 레포지토리 변경 (#32)

* feat: 쓰지 않는 이미지 삭제 코드 추가 (#33)

* feat: 권한 검사 시 캐싱 이용 기능 추가 (#34)

* chore: 스프링 캐시 의존성 추가

* feat: 권한 검사에 캐싱 이용

* fix: 텍스트변환 메세지 전송 시 생성자 순서 변경 (#35)

* feat: 아젠다 추가/삭제 및 참여자 추가/삭제 기능 추가 (#36)

* feat: 아젠다 추가 및 삭제 기능 추가

* feat: 아젠다 추가 및 삭제 기능 엔드포인트 추가 및 url 수정

* feat: 참여자 삭제 및 추가 기능 추가

* feat: 참여자 추가 및 삭제 엔드포인트 추가

* docs: 회의 참여자 추가 및 삭제 swagger 작성

* fix: 회의 정보 대기중에만 수정 가능하도록 변경

* fix: 회의 정보 업데이트시 아젠다는 받지 않도록 수정

* fix: 회의 생성시 중복 이메일 제외하고 생성하도록 변경

* feat: 요약, 피드백, 세그먼트 조회 기능 추가 (#37)

* feat: 요약 조회 기능 추가 (페이징)

* docs: 요약 조회 기능 추가에 따른 Swagger 작성

* feat: segment 조회 기능 추가 (페이징)

* feat: segment 조회 기능 엔드포인트 추가

* docs: segment 조회 기능 추가에 따른 Swagger 작성

* feat: feedback 조회 기능 추가

* feat: feedback 조회 엔드포인트 추가

* docs: feedback 조회 기능 추가에 따른 Swagger 작성

* fix: timestamp 오타 수정 (소문자로 변경)

* swagger 오타 수정

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: 요약 조회시 중간요약 여부도 포함해서 조회

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: 참여율 전송/저장/조회 기능, 본인 정보 조회 기능, 소켓 연결시 회의 시간 반환 기능 추가 (#38)

* feat: 회의 실제시작시간 조회 메서드 추가

* feat: 소켓 연결 시 회의 시간도 같이 반환하도록 변경

* feat: 본인 정보 조회 기능 추가

* docs: 본인 정보 조회 기능 Swagger 작성

* fix: 불필요한 메서드 및 MeetingUser 필드 삭제

* feat: 회의 종료시 전체 요약 요청 기능 추가

* feat: 참여율 계산 및 전송 로직 추가

* style: 이상한 로그 삭제

* feat: 사용하지 않는 엔드포인트 삭제

* feat: 참여율 전송시 포맷 수정

* feat: 참여율 엔티티 추가

* feat: 참여율 레포지토리 추가

* feat: 최종 참여율 조회 기능 추가

* feat: 최종 참여율 조회 엔드포인트 추가

* docs: 최종 참여율 조회 기능 추가에 따른 Swagger 작성

* feat: 아젠다 수정 기능 추가 및 아젠다 상태 변환 시 알림기능 추가 (#39)

* fix: 사용하지 않는 빌더 삭제

* feat: 사용자에 시간 엔티티 추가

* feat: 아젠다 수정 기능 추가

* feat: 아젠다 수정 엔드포인트 추가

* docs: 아젠다 수정 기능 추가에 따른 Swagger 작성

* fix: 빌더 사용하므로 유지

* style: 아젠다 메서드명 수정

* feat: 아젠다 상태 수정시 소켓으로 응답가는 기능 추가

* feat: 아젠다 상태 수정 url 변경

* feat: 병합된 오디오 조회 및 회의 종료 루틴 정리 (#40)

* feat: 병합된 오디오 목록 조회 및 URL 생성 기능 추가

* feat: Presigned URL을 생성하기 위한 설정 추가

* feat: 병합된 오디오 URL 생성기능 추가

* feat: accessValidator 캐싱 기능 삭제 및 종료확인 메서드 추가

* feat: 오디오 조회 기능 및 엔드포인트 추가

* docs: 오디오 조회 기능 추가에 따른 Swagger 작성

* feat: 회의 종료시 sessionManager를 이용해 메세지를 전송하도록 변경

* feat: Candidate Segments 전송시 sessionManager를 이용하도록 변경

* feat: 회의 종료시 모든 세션을 종료

* feat: 회의 종료시 이벤트 순서 지정

* feat: 회의 종료시 종료 트랜잭션 종료 후 실행하도록 변경

* feat: 회의 종료시 회의 종료를 모두에게 알리도록 변경

* fix: 테스트용 스케줄러 주석 처리

* fix: PresignedURL 시간을 하루로 설정

* fix: 세션 종료시 동시성 문제 해결

* hotfix: nginx 문제로 sse 경로 재설정 (#41)

* fix: nginx 문제로 sse 경로 재설정

* chore: 오디오 관련 패키지 이동

* fix: 캐싱하도록 변경 (#42)

* fix: 오디오 처리시 트랜잭션 삭제 (#43)

* fix: sse 전송시 트랜잭션이 있는 경우, 트랜잭션 끝난 경우에만 전송하도록 변경 (#44)

* fix: whisper 서버에서 feedback 받을때 포맷 수정 (#45)

* fix: rabbitMQ로 segment 처리 기능 추가, 피드백 조회 오류 수정, 로그 파일 설정 (#46)

* fix: 피드백 조회시 userId도 포함하여 조회하도록 변경

* chore: rabbitMQ 의존성 추가

* feat: rabbitMQ 설정 클래스 추가

* feat: diarized 메세지 수신시 rabbitMQ에 넣도록 변경

* chore: 로그 설정

* feat: rabbitMQ용 메세지 컨버터 추가 (#47)

* fix: 피드백 전송시 NullpointException 해결, 웹소켓 동시성 문제 해결 (#48)

* fix: feedback 수신시 널 체크 후 전송하도록 변경

* fix: 한번에 하나의 쓰레드만 웹소켓 세션에 전송하도록 변경

* feat: audioId와 userId가 다르더라도 전송하도록 변경 (#49)

* fix: whisper 서버 스펙 변경에 따른 기능 수정 및 엔드포인트 수정 (#50)

* fix: 참여율 관련 잘못된 엔드포인트 수정

* feat: completed segment도 전송하도록 변경

* feat: audio offset을 보내도록 변경

* feat: 연결 후 첫 청크에만 offset을 바꾸도록 변경 (#51)

* feat: offset을 숫자로 보내도록 변경 (#52)

* feat: offset을 Integer로 변경 (#53)

* fix: 참여율 기능 redis에 저장 및 스케줄링 시간을 환경변수로 변경 (#54)

* feat: 실시간 참여율을 redis에 저장

* feat: 스케줄링 시간을 환경변수로 변경

* feat: SSE timeout시 로그 남기고 종료하도록 변경 (#55)

* fix: 최종 요약을 비동기로 처리, 참여율 최종 저장을 트랜잭션 내에서 하도록 변경 (#56)

* feat: 최종 요약을 비동기로 처리하도록 변경

* feat: 참여율 최종 저장을 트랜잭션 내에서 하도록 변경

* feat: 세그먼트 텍스트 크기 증가 (#57)

* style: CustomException 이름 변경

* feat: 도메인 예외와 비즈니스 예외 추가

* refactor: Meeting 값객체로 분리 및 도메인 로직 분리

* refactor: 회의 상태 변경 로직 도메인으로 이동

* style: 불필요한 this 키워드 삭제

* chore: meeting 엔티티관련 클래스 패키지 이동

* chore: meetingUser를 meeting 패키지로 이동

* refactor: meetingUser를 VO 로 변환

* chore: 패키지 위치 이동

* feat: 회의 호스트 검증 로직 추가

* chore: meeting domain 관련 패키지 이동

* feat: 회의 참여자 추가 및 안건 추가 도메인 로직 추가

* feat: 회의 생성 어플리케이션 로직 추가

* chore: 패키지 구조 정리

* refactor: 회의 생성 및 조회 기능 분리

* refactor: 회의 생성 엔드포인트 분리

* refactor: 월별로 회의 조회 기능 분리

* feat: 예외 전달시 Map으로 전달하도록 변경

* feat: 회의 상세 내역 조회시 권한 검사 로직을 모델로 이동

* feat: 예외 전달시 Map으로 전달하도록 변경

* chore: dto 패키지 이동

* feat: 이벤트 발행 유틸 클래스 및 이벤트 추상클래스 추가

* refactor: 회의 상태 변경 기능 분리 및 도메인 이벤트로 전환

* refactor: 회의 정보 변경 기능 분리

* refactor: 회의 참여자 추가 기능 분리

* refactor: 회의 참여자 삭제 기능 분리

* refactor: 피드백 조회 기능 분리

* feat: SSE 기능 확장 및 도메인 상관없이 이용하도록 개선

* feat: 피드백 수신 및 발행 기능 개선

* refactor: 피드백 수신 및 전송기능 분리

* refactor: 참여율 관련 로직 meeting 어그리거트로 병합

* chore: 삭제된 api 임시보관

* chore: 패키지 정리

* feat: sse 구독 엔드포인트 통합

* feat: 아젠다 조회 및 상태변경 기능 분리

* feat: 아젠다 추가 기능 미팅 어그리거트로 포함

* feat: 아젠다 삭제 및 수정 기능 분리

* feat: segment 도메인 로직 분리

* refactor: whisper 텍스트변환 이벤트로 로직 수정

* feat: Nonblocking 기반 websocket sender 구현

* refactor: 변환번 전송 로직 분리

* style: Segment 조회 시 dto 이름 변경

* refactor: 실시간 참여율 event 의존성 변경

* refactor: 회의 아젠다 상태 업데이트 기능 분리

* feat: 커스텀 예외시 원본 예외를 함께 포함하도록 변경

* feat: embeddingAudio 도메인 객체 추가

* refactor: embeddingAudio 생성로직 분리

* refactor: 오디오 청크 처리 로직 분리

* refactor: 새로운 예외처리 표준 추가

* refactor: 회의 관련 도메인 예외 공통 예외로 처리

* refactor: 조회 실패 예외 글로벌 예외로 등록

* style: BusinessException을 ApplicationException 으로 이름 변경

* refactor: Segment 도메인 예외를 DomainException 으로 통합

* refactor: ApplicationException을 사용하도록 통합

* refactor: InfraException을 사용하도록 변경

* refactor: 회의 웹소켓 연결 서비스 분리

* refactor: websocket 예외 처리 로직 분리

* refactor: 오디오 병합 및 병합된 오디오 목록 조회 기능 분리

* chore: 사용하지 않는 클래스 삭제

* chore: 패키지 정리 및 클래스 이름 변경

* chore: 패키지 정리 및 클래스 이름 변경

* refactor: 회의 종료시 세션 종료를 이벤트로 처리

* chore: 패키지 위치 수정으로 인한 import 경로 변경

* refactor: 임베드 벡터 전송 로직 분리

* chore: 안쓰는 Import 삭제

* feat: 웹소켓 경로 변경

* refactor: 파싱 부분을 presentation layer로 이동

* chore: 사용하지 않는 클래스 삭제

* feat: errorCode 포맷 최신화

* feat: 참여율 저장 서비스 분리 및 재전송 로직 생성

* refactor: 예외처리구조 최신화

* feat: DomainException, ApplicationException 로깅레벨 변경

* feat: application.yml 환경변수를 사용하도록 변경

* style: 사용하지 않는 클래스 의존성 삭제

* feat: .gitignore에 로그파일 및 환경변수 추가

* feat: 아젠다 정보 조회 기능 추가

* feat: URL 주소 최신화

* feat: 회의 참여자 및 아젠다 영속성 전이하도록 변경

* chore: logstash 의존성 추가

* feat: 운영 및 개발환경 로그 방식 분리

* feat: 웹소켓 요청에서 오류 발생 여부를 반환하도록 변경

웹소켓 최초 연결 시에 인증 실패시 연결 종료

* feat: 웹소켓 업그레이드 핸드쉐이크 시 CustomUserDetails를 남기도록 변경

* fix: 실제 회의 시간 설정 시 종료시간이 null 아닌 경우에만 비교하도록 변경

* fix: 회의 참여자 생성시 참여율 정보를 초기화하지 않던 문제 해결

* feat: 개발 편의를 위해 docker-compose 추가

* chore: 환경변수 gitignore에서 제외

* feat: cd 프로세스 임시 중단

* feat: 도커 파일 변경시 자동으로 ec2에 올라가도록 변경

* feat: actions 버전 v4로 업데이트

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: docker compose 배포 수동 트리거 추가

* style: ci action 이름 변경

* fix: 도커 폴더 생성 위치를 홈에서 시작하지 않도록 변경

* fix: 도커파일 경로를 HOME에서 시작하도록 변경

* fix: github action이 환경변수를 해석하지 못하는 문제 해결

* feat: 모니터링 관련 docker-compose 분리

* chore: 환경변수 gitignore 추가

* fix: promtail 도커 네트워크 수정

* fix: 스프링 서버가 꺼지더라도 로그가 남도록 바인드마운트

* chore: logstash 의존성 삭제

* chore: logstash 로그 appender 삭제

* feat: 이전 방식의 healthcheck 삭제

* fix: meetingId 추출 불가문제 해결

* feat: domain, application 계층 예외 스택트레이스 남도록 변경

* fix: meetingId 파싱 실패 수정

* fix: 컨트롤러를 서비스로 선언한 것 수정

* fix: 트랜잭션으로 인한 오류 해결 및 세션 종료 기능 추가 (#66)

* refactor: 회의 종료시 작업 순서 상수로 선언

* feat: 회의 종료시 종료메세지 전송 및 완전 종료 시 세션 종료 기능 추가

* feat: 아젠다 상태 변경 시 회의 참여자들에게 메세지 전송 기능

* chore: 패키지 이동

* fix: 잘못된 URL 형식 수정

* fix: 참여자 추가시 fetchJoin으로 들고오도록 변경

* fix: 회의 정보 조회시 fetchJoin 두번 적용 시 오류 해결

* fix: 아젠다 추가 시 save 전으로 인한 null id 해결

* fix: 아젠다 삭제 시 삭제 되지 않던 버그 해결

* feat: dev 환경에서 sql 보이도록 변경

* feat: producer confirm 및 batch 추가 (#67)

* feat: rabbitMQ 배치 처리 추가

* feat: producer confirm 구현

* feat: 리트라이 로직 추가 및 배치 처리에 맞게 수정

* feat: 이벤트 발행시 producer confirm 가능하도록 변경

* chore: retry 의존성 추가

* feat: osiv로 인한 오류 해결 및 부가기능 추가 (#68)

* fix: osiv 문제로 인한 오류 해결

* feat: 회의 참여율 조회 기능 추가

* chore: 사용하지 않는 클래스 삭제

* feat: 회의 정보 조회시 실제 진행 시간도 반환하도록 변경

* feat: 사용자 정보 조회시 프로필 이미지도 조회하도록 변경

* feat: 해당 시간에 중복된 회의 조회 기능 추가

* fix: timezone이 맞지 않아 검색되지 않던 문제 해결

* feat: docker로 db 실행시 time zone 설정

* feat: 팀 기능 추가 (#69)

* feat: 팀 도메인 모델 추가

* feat: 팀 예외 코드 추가

* fix: Team 생성자 추가

* feat: 팀 repository 추가

* feat: 팀 구성원 역할 추가 및 생성자 추가

* feat: 팀 생성 엔드포인트 및 로직 추가

* feat: 팀 목록 조회 기능 추가

* fix: Q클래스 사용을 위해 레코드 값객체 클래스로 변경

* feat: 팀 정보 조회 기능 추가

* feat: 팀에 사용자 초대 기능 추가

* feat: 팀원 조회 기능 추가

* fix: whisperClient import 경로 수정

* feat: 팀 태그 기능 추가 (#70)

* feat: 팀 태그 도메인 모델 추가

* feat: 기존 회의에 팀 태그 추가 기능 추가

* feat: 기존 회의에 팀 태그 삭제 기능 추가

* feat: 회의 정보 조회 시 팀 정보도 같이 넘기도록 변경

* fix: fetchJoin 두번으로 인한 오류 해결

* feat: 팀 목록 조회시 가장 근접한 회의 정보도 조회

* feat: 팀 조회시 배열이 아니라 객체로 전달 (#71)

* feat: 회의록 폴더 기능 추가 (#72)

* feat: 회의록 폴더 도메인 로직 추가

* feat: 회의록 생성 로직 추가

* feat: 회의록 삭제 로직 추가

* feat: 회의록 정보 조회 로직 추가

* feat: 회의록 목록 조회 로직 추가

* feat: 회의록 폴더에 회의록 삭제 및 추가 기능 추가

* feat: 회의록 폴더 관련 db 로직 추가

* feat: 팀 멤버 조회시 이메일도 조회하도록 변경 (#73)

* feat: 회의 이름으로 조회 기능 추가 및 기타 버그 수정 (#74)

* feat: 웹소켓 연결시 회의 시작시간도 전달하도록 변경

* feat: 회의 이름으로 조회 기능

* fix: 세그먼트 조회시 오류 수정

* fix: 로깅관련 수정 및 websocket 전송시 객체를 문자열로 변환해서 전달 (#75)

* fix: 로깅 콘솔에도 찍히도록 수정

* fix: 로그인 실패시 로깅하도록 변경

* fix: 전송시 객체를 문자열로 변환해서 전달

* fix: 생성 시간이 현재시간보다 이전인지 확인

* feat: 무중단 배포 활성화 (#76)

* fix: Green 컨테이너 환경변수를 Green으로 변경

* chore: 쓰지않는 엔드포인트 설정 파일에서 제외

* feat: nginx docker compose 작성

* feat: nginx에서 사용할 설정 파일 선언

* feat: 무중단 배포 활성화

* chore: 환경 변수 gitignore 업데이트

* fix: 도커 로그인 되지 않던 문제 해결 (#77)

* chore: gitignore 업데이트

* fix: 도커 로그인 안되던 문제 해결

* fix: ec2 도커 경로 수정 (#78)

* feat: actuator 추가 (#79)

* fix: docker-compose 명령어 수정 (#80)

* fix: 무중단 배포 안되는 문제 해결 (#81)

* fix: health 체크 코드 수정

* fix: actuator 접근 권한 허용

* fix: nginx 관련 버그 수정 및 메세지 변환 버그 수정 (#82)

* fix: nginx default conf 수정

* fix: nginx restart 로직 삭제

* fix: json 변환전 메세지 쓰던 버그 수정

* fix: cd 로직 수정 (#83)

* fix: 403 이 와도 서버가 켜진것으로 판단 (#84)

* fix: 응답코드 뒤에 000 삭제 (#85)

* feat: whisper 재접속 기능 추가 및 nginx 도커 컴포즈 수정 (#86)

* feat: whipser restart 로직 추가

* feat: 프로메테우스 의존성 추가

* fix: nginx Readonly 제거

* feat: 같은 ec2에 띄운 경우를 가정하고 default.conf 작성

* fix: 자잘한 문제 해결 및 기능 추가 (#87)

* refactor: 로그를 위해, 시간 변수 선언

* fix: 요약 길이 최대 500자로 제한

* feat: 세그먼트 저장시 변환된 시간 기준으로 저장하도록 변경

* feat: whipser 세션을 non-blocking 방식으로 변경

* feat: 참여율 저장시 퍼센트 단위로 저장하도록 변경

* fix: sse timeout 발생시 필터를 거치면서 발생하는 오류 제거

* feat: whisper 서버 재시도 3회까지만 하도록 변경

* feat: 참여율을 소수점으로 저장하도록 변경

* feat: nginx가 기본으로 private ip 로 가도록 변경

* feat: 팀 삭제 기능 추가

* feat: 회의록 폴더 검색기능 추가

* feat: 팀 목록 검색 기능 추가

* feat: whisper 스펙 변경으로 인해 수정

* feat: 회의 검색 시 연 월 로 검색할 수 있도록 변경

* feat: 임베드 벡터 저장 로직 추가 (#88)

* feat: 임베드 벡터 저장 로직 추가

* feat: 사용자 picture nullable 설정

* feat: 타임존 설정 및 무중단 배포 정상화 (#89)

* feat: 도커 실행시 타임존 설정

* feat: 도커 실행시 타임존 설정

* fix: 무중단 배포 정상화

* feat: 오디오 병합을 비동기로 하도록 변경 및 비동기 쓰레드풀 분리 (#90)

* feat: 회의 조회 기능 변경 및 로깅 추가 (#91)

* feat: 회의 조회시 연으로만 조회 가능하도록 변경

* chore: 피드백, 중간 요약, 아젠다 변경 이벤트 발행시 로그 기록

* fix: 오디오 생성 시 생성 시간 30초 오차 허용 (#92)

* feat: 청크 및 임베딩 오디오 시간 검사시 30초 오차 허용

* chore: 로깅 추가

* feat: 피드백, 요약문 생성에서 id가 있을때만 대치하도록 변경 (#93)

* feat: whisper 서버 연결 시 버퍼 크기 조절 (#94)

* fix: 오디오 청크 30초 오차 허용 로직 추가 (#95)

* feat: RabbitMQ Batch Listening 추가 (#96)

* feat: 필요없는 필드 삭제

* fix: audio chunk 생성시 이후 30초만 예외를 발생시키도록 변경

* feat: RabbitMQ에서 Batch로 받도록 변경

* dosc: 서버 구조 추가

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

1 participant