YOUngChat
1.
YOUngChat!은 실시간 채팅 서비스를 제공한다.
2.
사용자는 YOUngChat! 서비스에 회원가입, 로컬로그인, 로그아웃을 할 수 있다.
a.
회원가입을 할 때 username, password, email을 입력받는다.
i.
username 은 영소문자,한글 4 - 10 글자 형식이다.
1.
username은 중복이 가능 하다.
2.
password 는 영소문자, 대문자, 특수문자, 숫자를 포함한 8 - 15 자리 형식
3.
email 은 인증을 할 수 있다.
a.
메일의 링크 형식으로 인증을 할 수 있다.
4.
email은 중복이 불가능하다
b.
YOUngChat! 은 로그인을 할 수 있다.
i.
로그인을 할 때 email 과 비밀번호를 입력 받는다.
1.
입력 받을 경우 회원가입과 동일하게 유효성 검사를 한다.
3.
사용자는 프로필을 수정할 수 있다.
a.
username과 profileImage, password를 수정할 수 있다.
i.
password를 변경하려면 front측면에서 기존 password의 입력을 받아 검증하는 시스템이다.
4.
사용자는 친구목록화면을 조회할 수 있다.
a.
친구목록 화면에서는 프로필사진, 친구 Username을 볼 수 있다.
b.
친구목록에서 친구를 생성할 수 있다.
i.
이메일로 다른 사용자인 친구를 추가할 수 있다.
c.
사용자는 친구목록에 친구를 삭제할 수 있다.
5.
사용자는 1:1 채팅방을 생성할 수 있다.
a.
친구목록에 있는 친구와 채팅방을 생성할 수 있다.
b.
c.
1:1 채팅 시 텍스트를 주고 받을 수 있다. (이미지, 동영상도 보낼예정)
6.
사용자는 진행중인 채팅목록을 볼 수 있다
a.
채팅목록에선 채팅방 이름과 의 마지막 메시지, 마지막 메시지를 주고 받은 시간을 볼 수 있다.
b.
채팅목록 조회시 마지막 메시지를 받은 시간 최신순으로 조회된다.
7.
사용자는 본인에게 메세지를 보낼 수 있다.
시간이 된다면 추후 개발 예정
1.
삭제시 SoftDelete 로 처리한다
2.
OAuth2를 적용한다
3.
사용자는 채팅 목록에서 채팅방을 폴더(그룹)별로 구분할 수 있다.(이후 기능 구현후 추가)
a.
사용자는 채팅 그룹을 생성할 수 있다.
i.
채팅 그룹 생성시, 그룹 이름과, 채팅방을 다중 선택할 수 있다.
ii.
채팅방은 한 채팅그룹에만 속할 수 있다.
iii.
채팅 그룹은 상단에 조회가 된다.
iv.
채팅 그룹에 속하지 않은 채팅방들은 채팅 그룹 아래에 조회가 된다.
채팅그룹들
•
채팅그룹1(폴더를 열고 닫을 수 있고 닫혀있다가 디폴트)
◦
채팅 1-1
◦
채팅 1-2
•
채팅그룹2
◦
채팅 2-2 (마지막 메시지)
◦
채팅 2-1
4.
사용자는 알림을 받을 수 있다.
5.
사용자는 이미지와 동영상을 채팅으로 보낼 수 있다.
6.
친구 테이블에 친구이름을 추가하기 (데이터 처리 속도 비교 용이)