- 사용자는
개인 사용자
,기업/기관
,관리자
로 구분한다. 개인 사용자
,기업/기관
은 게시글, 댓글을 작성할 수 있다.
- 모든 사용자는 회원가입시 이메일 인증을 수행해야한다.
- 기업은 회원가입시 사업자 인증과 상호명을 입력해야하고 추가 정보는 유저 정보 페이지에서 수정/추가하도록 한다.
- 게시글에 포함되는 content는 제목, 본문, 모델 파일, 모델에 대한 치수 정보이다.
- 제목, 본문은 반드시 존재해야하고 모델 파일, 치수 정보는 optional이다. 모델 파일을 포함하는 게시글과 텍스트만 포함하는 게시글로 나눌 수 있다.
- 모델 파일에 대한 치수 정보는 optional이다. 치수가 존재하지않는 모델이 있을 수 있기 때문이다.
- 좋아요, 작성일자를 기준으로 정렬할 수 있어야한다.
- 제목을 기준으로 검색할 수 있어야한다.
- 카테고리별로 게시글들을 조회할 수 있어야한다.
- 각 게시글은 무료로 볼 수 있는 게시글인지 유로로 볼 수 있는 게시글인지 알 수 있어야한다.
- 각 게시글 유형에 맞게 게시글 데이터를 수정할 수 있다.
- 텍스트만 포함하는 게시글은 제목, 본문만 수정할 수 있다.
- 모델 파일을 포함하는 게시글은 제목, 본문, 모델 파일을 수정할 수 있다. 치수 정보를 포함한다면 치수 정보도 수정할 수 있다.
- 게시글 수정은 작성자만 할 수 있다.
- 모델 파일이 수정되지 않았을 경우 서버에 파일이 전달되지 않도록 한다.
- 모델 파일이 수정되었을 경우 이전에 저장되어있던 파일(DB, File 모두)을 삭제하고 수정된 파일을 저장한다. 이때 치수 정보도 같이 삭제하고 저장한다.
- 게시글 삭제는
작성자
와관리자
가 할 수 있다. - 게시글 삭제시 관계되어있는 댓글, 좋아요, 파일, 치수 정보 등을 모두 삭제한다.
- 사용자는 게시글에 댓글을 작성하고 삭제할 수 있다.
- 작성자에 해당하는 댓글만 삭제할 수 있다.
- 댓글에는 작성자의 닉네임, 생성일시, 본문이 포함되어있어야한다.
- 작성자를 제외하고 게시글에 좋아요를 추가하거나 삭제할 수 있다.
- 좋아요를 한 번 추가했었다면 이후에 더 추가하지 못한다. (Toggle 방식)
- 댓글 추가시 추가된 댓글이 있는 게시글 작성자에게 알람을 전송한다.
- 알람에는 댓글 작성자, 작성일자가 포함되어야한다.
- 모든
개인 사용자
,기업/기관
는 자신들의 정보를 수정할 수 있다.
- 닉네임, 비밀번호, 주소, 폰번호를 변경할 수 있다.
- 닉네임, 비밀번호, 주소, 폰번호, 기업명, 기업 홈페이지를 변경할 수 있다.
- 사용자는 구독을 통해 각 게시글에대해 볼 수 있는 권한이 주어진다.
- 구독은 Free(무료), 1개월, 3개월, 6개월, 1년으로 기간을 나누어서 사용자가 선택할 수 있도록한다.
- 게시글을 무료로 볼 수 있는 경우와 구독해야 볼 수 있는 경우로 나눈다.
- 게시글은 좋아요 수, 작성일자를 기준으로 정렬할 수 있다.
- 제목을 기준으로 게시글을 검색할 수 있다.