YOUngChat

  1. YOUngChat!실시간 채팅 서비스제공한다.
  2. 사용자YOUngChat! 서비스에 회원가입, 로컬로그인, 로그아웃을 할 수 있다.
    1. 회원가입을 할 때 username, password, email을 입력받는다.
      1. username영소문자,한글 4 - 10 글자 형식이다.
        1. username중복가능 하다.
        2. password영소문자, 대문자, 특수문자, 숫자를 포함한 8 - 15 자리 형식
        3. email인증을 할 수 있다.
          1. 메일링크 형식으로 인증을 할 수 있다.
        4. email중복불가능하다
    2. YOUngChat! 은 로그인을 할 수 있다.
      1. 로그인을 할 때 email비밀번호를 입력 받는다.
        1. 입력 받을 경우 회원가입과 동일하게 유효성 검사를 한다.
  3. 사용자프로필을 수정할 수 있다.
    1. usernameprofileImage, password를 수정할 수 있다.
      1. password변경하려면 front측면에서 기존 password입력을 받아 검증하는 시스템이다.
  4. 사용자친구목록화면을 조회할 수 있다.
    1. 친구목록 화면에서는 프로필사진, 친구 Username을 볼 수 있다.
    2. 친구목록에서 친구생성할 수 있다.
      1. 이메일로 다른 사용자인 친구를 추가할 수 있다.
    3. 사용자친구목록친구삭제할 수 있다.
  5. 사용자1:1 채팅방생성할 수 있다.
    1. 친구목록에 있는 친구채팅방생성할 수 있다.
    2. 1:1 채팅 시 텍스트를 주고 받을 수 있다. (이미지, 동영상도 보낼예정)
  6. 사용자는 진행중인 채팅목록을 볼 수 있다
    1. 채팅목록에선 채팅방 이름과 의 마지막 메시지, 마지막 메시지를 주고 받은 시간을 볼 수 있다.
    2. 채팅목록 조회시 마지막 메시지를 받은 시간 최신순으로 조회된다.
  7. 사용자는 본인에게 메세지를 보낼 수 있다.

시간이 된다면 추후 개발 예정

  1. 삭제시 SoftDelete 로 처리한다

  2. OAuth2를 적용한다

  3. 사용자채팅 목록에서 채팅방폴더(그룹)별로 구분할 수 있다.(이후 기능 구현후 추가)

    1. 사용자는 채팅 그룹을 생성할 수 있다.
      1. 채팅 그룹 생성시, 그룹 이름과, 채팅방을 다중 선택할 수 있다.
      2. 채팅방은 한 채팅그룹에만 속할 수 있다.
      3. 채팅 그룹은 상단에 조회가 된다.
      4. 채팅 그룹에 속하지 않은 채팅방들은 채팅 그룹 아래에 조회가 된다.

    채팅그룹들

    • 채팅그룹1(폴더를 열고 닫을 수 있고 닫혀있다가 디폴트)
      • 채팅 1-1
      • 채팅 1-2
    • 채팅그룹2
      • 채팅 2-2 (마지막 메시지)
      • 채팅 2-1
  4. 사용자알림을 받을 수 있다.

  5. 사용자이미지동영상채팅으로 보낼 수 있다.

  6. 친구 테이블에 친구이름추가하기 (데이터 처리 속도 비교 용이)