Skip to content

Leets-Official/X-BE

Repository files navigation

X-BE

Leets 클론코딩 3조 X입니다.

👥 BE 팀원 소개

이강혁
이강혁
(3기)

ERD 설계
API 명세서 작성
초기 세팅
구글 소셜 로그인
유저 API 개발
팔로우 API 개발
이미지 업로드 기능

문석준
문석준
(4기)

ERD 설계
API 명세서 작성
CI/CD 파이프라인 구축
포스트 API 개발

송우석
송우석
(4기)

ERD 설계
API 명세서 작성
채팅 서비스 구현

⚙️ 기술 스택

백엔드

Java Spring Boot Spring Security Spring Data JPA WebSocket

데이터베이스

MySQL Redis MongoDB AWS S3

배포 환경

AWS EC2 AWS RDS GitHub Actions Docker

협업 도구

Notion GitHub Discord


📐 ERD 설계

프로젝트의 핵심 구조를 설명하는 ERD는 아래 이미지와 같습니다.

ERD 이미지


📌 구현 기능

🔑 인증 (Authentication)

  • JWT 기반 인증: 보안을 위해 JWT(Json Web Token)를 활용하여 사용자의 로그인 및 인증 상태를 유지
  • 구글 소셜 로그인: 구글 계정을 통한 간편한 소셜 로그인 제공

👤 사용자 관리 (USER)

  • 회원가입 및 로그인: 이메일과 비밀번호로 회원가입과 로그인 기능 구현
  • 유저 정보 관리: 사용자 프로필 및 팔로우 상태를 생성 및 관리할 수 있는 API 제공
  • 팔로우 및 언팔로우: 사용자 간 팔로우 및 언팔로우 기능으로 소셜 상호작용 지원

🏠 홈 화면 (HOME)

  • 타임라인 피드: 팔로우한 사용자의 게시물을 실시간 피드 형식으로 제공
  • 추천 게시물 : Home 추천 게시물 목록이 조회됩니다.

📄 프로필 관리 (PROFILE)

  • 프로필 사진 업로드: 프로필 사진 업로드 및 변경 기능 제공
  • 개인 정보 수정: 닉네임, 소개글 등 프로필 정보 수정 가능
  • 활동 내역 확인: 게시물 수, 팔로워/팔로잉 수 등 사용자 활동 한눈에 확인

✏️ 게시물 관리 (POST)

  • 게시물 작성, 답글, 리포스트, 삭제: 사용자가 게시물을 작성, 답글달기, 리포스트 및 삭제할 수 있는 기능
  • 좋아요 및 댓글 기능: 좋아요 및 댓글 기능을 통해 사용자 간 상호작용 가능
  • 미디어 업로드: 사진 업로드 기능으로 콘텐츠 표현 강화

💬 채팅 (Chat)

  • 실시간 채팅: WebSocket과 메세지 큐 Redis를 사용하여 1:1 실시간 채팅 구현
  • 채팅 기록 저장: MongoDB를 사용해 채팅 메세지를 저장하고, 사용자에게 대화 기록 제공 ,데이터 특징을 고려하여, RDBMS와 NoSQL를 사용

시스템 아키텍처 image

  • RDS(MySQL): 로컬 데이터 저장 역할
  • Redis: 채팅을 위한 리스너 등록
  • MongoDB: 채팅 메시지를 저장하기 위한 NoSQL DB

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published