Skip to content

kms0217/springboot-sns

Repository files navigation

목적

  • SNS를 직접 구현해 보면서 Backend System의 도메인을 이해하자.
  • 단순 기능 구현이 아닌 어떻게 하면 성능을 개선할 수 있을 지 고민해보자.

프로젝트 주요 기능

  • 로그인

    • username, 핸드폰 번호, 이메일 중 하나를 선택해 Login할 수 있다.
    • Facebook, Google 로그인을 할 수 있다.
  • 회원 가입

    • username, name, 이메일 혹은 핸드폰번호, 비밀번호를 입력하고 회원 가입을 할 수 있다.
      • username : ID로 사용된다.
      • name : 사용자의 이름
  • 회원 정보 수정 및 비밀번호 변경

    • 사용자의 프로필 사진, 소개 글, website, 성별, username, name등을 변경할 수 있다.
    • 이메일과 핸드폰 번호는 변경할 수 없다. (추가는 가능)
  • 팔로우 / 언팔로우

    • 특정 User를 Follow할 수 있고 취소 할 수 있다.
  • 게시물 업로드

    • 사진과 사진에 대한 설명을 포함한 게시물을 업로드 할 수 있다.
    • 사진은 게시물 작성 시 반드시 포함되어야 한다.
  • 게시물 좋아요 / 좋아요 취소

    • 업로드 된 게시물에 좋아요를 하거나 취소할 수 있다.
  • 게시물 댓글

    • 업로드 된 게시물에 댓글을 남길 수 있다.
  • 사용자 검색 기능

    • username을 통해 사용자를 검색할 수 있다.
  • DM기능

    • 검색을 통해 선택한 사용자와 1:1 실시간 채팅을 할 수 있다.
  • 알람 기능

    • 자신의 게시물에 좋아요 혹은 댓글이 추가 되었을 때 알람을 받는다.
    • 새로운 DM에 대해 알람을 받는다.

DB

image/snsERD.jpg

CI/CD

  • AWS EC2, AWS RDS, Jenkins, Docker를 사용해 CI/CD 파이프 라인 구축
  • CICD 구성 및 설정 : WIKI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published