Skip to content

100-hours-a-week/15-team-service-chat

Repository files navigation

CommitMe Chat Server

프로젝트 소개

CommitMe는 GitHub 레포지토리를 기반으로 AI가 이력서를 자동 생성하고, 모의 면접까지 연습할 수 있는 취업 준비 플랫폼입니다.

chat repository은 채팅을 독립적으로 담당합니다. WebSocket(STOMP) 기반 실시간 송수신, MongoDB 메시지 저장, Redis Pub/Sub 브로드캐스트, RabbitMQ 워커 처리, 비속어 마스킹까지 채팅 도메인에 필요한 책임을 집중적으로 다룹니다.

백엔드 서버(be)와 역할을 분리하여 채팅 서버만의 독립적인 확장·배포·장애 격리가 가능합니다.

시연 영상

클릭 시 유튜브로 이동합니다.

Video Label

기술 스택

분류 기술
Language / Framework Java 21, Spring Boot 3.5
Web / Security Spring WebSocket, Validation, Security
Data Spring Data JPA, MongoDB, Redis / MySQL, MongoDB, Redis
Messaging Spring AMQP, RabbitMQ
Observability Micrometer, Prometheus
Filter Aho-Corasick 기반 비속어 필터
Test / Docs REST Docs, JUnit 5

아키텍처

구성

인프라 아키텍처

화면 구성

image

디렉터리 구조

chat/
├─ src/main/java/com/sipomeokjo/commitme
│  ├─ domain/chat/        # 채팅 도메인, pubsub, worker, 저장소
│  ├─ websocket/          # 웹소켓/STOMP 설정 및 계측
│  ├─ config/             # 공통/관측성/Rabbit 설정
│  ├─ security/           # JWT 기반 인증 처리
│  └─ api/                # 공통 응답/예외/헬스체크
├─ src/main/resources
│  ├─ profanity/          # 금칙어/allowlist 사전
│  └─ application-*.yml
└─ build.gradle

개발 기여 내역

이름 역할 담당 기능

@tl1l1l1s
신윤지(Theta)
풀스택 채팅, 비동기 아키텍처 도입
담당 구현 내역 및 기술적 도전

@minzero0
안민영(Zero)
풀스택 채팅 MongoDB 도입 및 마이그레이션

About

개발자 취업준비생을 위한 이력서 자동 생성 서비스 프로젝트 (백엔드 채팅 서버)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages