Skip to content

Comments

feat(#20): 채팅 서비스 레이어 기본 뼈대 구현#21

Merged
ParkJiYeoung8297 merged 3 commits intodevfrom
feat/20-chat
Jan 19, 2026
Merged

feat(#20): 채팅 서비스 레이어 기본 뼈대 구현#21
ParkJiYeoung8297 merged 3 commits intodevfrom
feat/20-chat

Conversation

@1000hyehyang
Copy link
Member

개요

채팅 REST/WS 컨트롤러가 서비스 레이어로 위임하도록 연결하고, 서비스 인터페이스/구현을 추가해 현재는 fixture 기반 응답으로 동작하도록 구성했습니다. 프론트엔드 연동을 위한 top‑down 개발 단계이므로, 실제 로직 완성 전까지는 fixture를 유지하고 서비스 로직 완성되면 테스트로 옮길 거예요!!

작업 내용

  • ChatService / ChatServiceImpl 추가
  • ChatSocketService / ChatSocketServiceImpl 추가
  • REST/WS 컨트롤러에서 서비스로 위임 연결
  • WebMvcTest에 서비스 구현체 Import 추가

변경 사항

  • 서비스는 현재 fixture 기반 응답을 반환합니다. (실제 로직은 다음 이슈에서 구현 예정)

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @1000hyehyang, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 채팅 REST/WS 컨트롤러의 로직을 새로운 서비스 레이어로 위임하도록 리팩토링합니다. 현재 서비스 레이어는 프론트엔드 연동을 위한 상향식 개발 단계에 맞춰 임시 데이터를 반환하도록 구현되어 있습니다. 이는 컨트롤러와 비즈니스 로직 간의 명확한 분리를 확립하여 향후 실제 로직 구현을 용이하게 합니다.

Highlights

  • 서비스 레이어 추가: 채팅 기능의 비즈니스 로직을 담당하는 ChatServiceChatSocketService 인터페이스와 그 구현체인 ChatServiceImpl, ChatSocketServiceImpl이 추가되었습니다.
  • 컨트롤러 리팩토링: 기존 ChatControllerChatSocketController가 직접 fixture 데이터를 사용하던 방식에서, 새로 추가된 서비스 레이어로 모든 비즈니스 로직 처리를 위임하도록 리팩토링되었습니다.
  • Fixture 기반 응답: 현재 서비스 구현체들은 프론트엔드 연동을 위한 상향식 개발 단계에 맞춰 실제 로직 대신 fixture 데이터를 반환하도록 구성되어 있습니다.
  • 테스트 코드 업데이트: ChatControllerTestChatSocketControllerTest는 새로 도입된 서비스 레이어를 모킹하여 테스트를 수행하도록 업데이트되었습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

채팅 기능의 서비스 레이어를 추가하고 컨트롤러가 이를 사용하도록 리팩토링한 점이 좋습니다. 전반적으로 PR의 목적에 맞게 서비스 인터페이스와 fixture 기반의 임시 구현체가 잘 구성되었습니다. 컨트롤러와 서비스의 역할 분리가 명확해졌고, 테스트 코드도 이에 맞게 잘 수정되었습니다.

한 가지 개선점을 제안합니다. ChatServiceImplcreateSystemMessage 메서드에서 다른 fixture 데이터를 필터링하여 사용하는 대신, ChatFixtureFactory에 특정 시스템 메시지를 생성하는 전용 메서드를 만들어 호출하는 것이 더 명확하고 예측 가능한 코드가 될 것입니다. 이는 임시 fixture 사용에 대한 규칙을 준수하면서도 구현의 견고성을 높이는 방법입니다. 자세한 내용은 관련 코드에 남긴 코멘트를 참고해주세요.

@ParkJiYeoung8297 ParkJiYeoung8297 merged commit d2e7459 into dev Jan 19, 2026
1 check passed
@ParkJiYeoung8297 ParkJiYeoung8297 deleted the feat/20-chat branch January 19, 2026 07:46
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