Skip to content

KmYgJn/AIM-14-BE

 
 

Repository files navigation

PITCHING Backend

학생들의 협업을 위한 디스코드형 플랫폼 with AI 발표 피드백 기능


프로젝트 개요

개발 기간: 2024.09.26 ~ 2024.12.25

기술 스택

  • Spring Boot 3.x + Spring WebFlux
  • Spring Security + JWT
  • MySQL,AWS DynamoDB, AWS S3
  • RabbitMQ, WebSocket, Redis
  • OAuth2 (Naver, Kakao, Google)

주요 맡은 기능

1. 인증 시스템

  • JWT (Access + Refresh Token) 기반 무상태 인증
  • OAuth2 간편 로그인 (Naver, Kakao, Google)

2. 실시간 채팅

  • WebSocket 기반 실시간 통신
  • RabbitMQ 메시지 큐잉
  • DynamoDB 채팅 이력 저장

3. 인증 시스템 및 채팅 Front


기술적 특징

Spring WebFlux 선택 이유

  • 채팅 시스템에서 대량 동시 연결 처리를 위한 비동기 처리 최적화

데이터베이스 전략

  • MySQL: 사용자 정보, 채팅방 메타데이터
  • DynamoDB: 채팅 메시지 (높은 처리량, 낮은 지연시간)

Race Condition 해결

  • 채팅방 인원 제한 시 동시성 문제를 Redis 분산 락으로 해결
  • 해결 과정 문서

테스트


협업

1. 회의

  • 데일리 스크럼, 스프린트 회의, 스프린트 회고를 통해 소통의 창구를 만듦

2. Jira/Notion

  • Jira는 각 팀원의 ticket의 todo/progress/done 상태를 통해 작업 상태를 확인할 수 있도록 함.
  • 회의 및 진행상황에서 생긴 issue는 notion을 통해 문서화

3. PR

  • 코드 품질 향상
  • 지식 공유 및 학습
  • 협업 및 소통 증진
  • 책임감과 소유 의식 강화
  • 위의 여러 목적을 이룰 수 있는 단계라고 생각하고, PR 문화 적용

관련 링크


홈 화면 (로그인 창)

Screenshot 2025-06-08 at 8 41 03 PM

로그인 후 채팅 화면

Screenshot 2025-06-08 at 8 41 53 PM

회원 정보 수정 화면

Screenshot 2025-06-08 at 8 42 21 PM

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.9%
  • Dockerfile 0.1%