프로그래머스 백엔드 데브코스 5기 7회차 8팀 2차 프로젝트입니다.
실시간 채팅서비스를 깃허브와 연결하여 좀 더 쉬운 개발을 도울 수 있는 채팅서비스입니다.
https://thedevchat.duckdns.org
| 기술 | 버전 |
|---|---|
| Java | 21 |
| JDK | OpenJDK 23.0.2 |
| Spring Boot | 3.4.5 |
| Spring Boot Libraries | Data JPA, Web, Web Socket, Security, OAuth2, JWT, Webflux, Flyway |
| Lombok | 1.18.36 |
| MySQL MySQL Community | 8.4.4 |
| MySQL Connector | 9.1.0 |
| Redis | 3.0.504 |
| React | 19.1.0 |
- 폼 로그인과 GitHub OAuth 로그인을 지원하며, 인증은 JWT 기반으로 관리
- 프로필 사진 변경, 닉네임 변경, 비밀번호 변경 기능 지원
- GitHub 레포지토리 URL을 첨부하여 채팅방을 생성하면, 해당 레포지토리에 Webhook이 자동으로 연동되도록 구현
- 채팅방에 연결된 깃허브 레포지터리에서 이벤트 발생(이슈, PR 등)시 이를 채팅방에 채팅형식 알림으로 전송
- 각 채팅방 생성시 초대코드가 생성, 이를 통해 채팅방에 참여
- WebSocket 기반의 실시간 채팅 기능 제공
- 코드 전송 시 언어별 문법 하이라이팅을 적용하여 가독성 향상
- 이미지(사진) 전송 기능 지원
- 채팅방 내에서 실시간 코드 리뷰를 진행할 수 있도록 하여, 즉각적인 피드백과 원활한 협업이 가능하도록 구현### 친구 기능
- 유저 검색을 통해 친구 추가를 신청할 수 있으며, 친구 관계 성립 시 1:1 대화(DM) 기능을 제공
- 친구 요청 및 채팅 수신(DM, 채팅방) 이벤트에 대한 알림 수신함 기능 제공
| 이 름 | GitHub | 역할 |
|---|---|---|
| [TL]배문성 | gitHub | -문서: 리드미, 와이어프레임 -기능: 인증 구현(JWT 토큰), 토큰 동시성 문제 개선, 친구기능 및 유저 검색 API 구현, 수신함 구현, DM 구현, 알림기능 구현 |
| 임강현 | gitHub | -문서: 시스템 구성도, 플로우차트 -기능: 프로필 업데이트 API 구현, 채팅 검색 API 구현, 메시지 비동기 처리, 조회 성능 최적화, CI/CD 구축, Blue/Green 배포 |
| 임창인 | gitHub | -문서: 발표자료 -기능: 채팅방 생성,초대,입장 구현, url 보안 강화 |
| 남지은 | gitHub | -문서: 기획서 -기능: 웹소켓을 통한 실시간 통신 구현, 깃허브 이벤트 메세지 제작, 채팅방 알림 구현 |
