본문 바로가기

개발공부/개발일지

[블로그 만들기] 요구사항 정리

블로그 만들기 프로젝트를 위해 DB에 테이블을 생성하고 인텔리제이에서 Controller나 Service 클래스 등을 작성하기 위해서 기능 정리랑 페이지별로 요구사항을 좀 더  정확하고 세세하게 정리하는 작업이 필요했다. 필요한 요구사항을 기능과 페이지를 기준으로 정리해 보았다. 사실 진작 올렸어야 하는데 블로깅을 깜빡했다. 이제 정리한 내용을 토대로 DB 테이블을 먼저 만들고 주요 페이지들을 먼저 구현할 예정이다. 

 

 

+구현하다보니 댓글 기능은 당장 넣기 어려울 것 같다ㅠㅠ 여기 적은 항목들을 전부 다 구현하는 건 기간 안에 어려울 것 같고 부캠 프로젝트가 끝나면 이어서 리팩토링 하면서 기능 추가를 해볼 예정이다.

 

 

 

필요한 기능

  • 회원가입
  • 로그인
  • 게시글 목록 조회
  • 글 작성/수정/삭제
  • 게시글 상세 조회
  • 댓글 작성/수정/삭제

 

 

 

필요한 DB 테이블

  • Member (회원)
  • Post (게시물)
  • Comments (댓글)

 

 

 

필요한 페이지와 세부사항

아직도 뭔가 완벽한 정리가 아니라서 이 부분은 사실 구현하면서 수정 사항이 종종 생길 것 같다. 변동이 있으면 나중에 블로그 글도 수정 예정!

 

1) 회원가입 페이지
- 회원가입 버튼 클릭해서 정보 입력할 수 있게 하기
- 아이디, 비밀번호, 비밀번호 확인, 전화번호, 이메일 까지 입력 받기
- 아이디는 DB에 중복된 아이디가 존재해서는 안된다. 만약 중복된 아이디를 입력하면 오류메세지 띄우기
- 아이디는 4~20자, 알파벳 대소문자와 숫자로만 구성하기
- 비밀번호는 4~12자, 아이디랑 동일할 수 없다. 알파벳 대소문자, 숫자, 특수문자로 구성하기 (각 1개씩 필수 존재)
- 비밀번호 확인란은 비밀번호 입력한 값과 정확히 일치해야 한다.
- 전화번호는 010으로 시작되어야 하고 '-'를 포함해서 총 13자를 입력해야 한다.
- 이메일도 @들어가고 정확히 이메일 형식을 입력받아야 하며, 회원가입시 이메일 발송되게끔 할 수 있으면 더 좋을 듯

2) 로그인 페이지
- 로그인, 회원 가입 버튼 두 개 존재
- 아이디, 비밀번호 입력란 존재
- 아이디, 비밀번호 입력 후 로그인 버튼 누르면 DB 조회해서 등록됐는지 검증하고 정확히 일치하지 않으면 다시 입력하라고 메세지 띄움.
- 정상 입력 됐다면 전체 게시글 목록 조회 페이지로 넘어간다.

3) 게시글 목록 조회 페이지
- 게시글 목록을 가장 최근에 작성한 것이 위로 오게끔 정렬해서 페이지로 나눠서 보여준다. 1 페이지당 게시물은 10개씩만 보여주기.
- 게시글 번호, 게시글 제목, 작성자, 작성일, 조회수를 목록에 보여준다.

4) 게시글 작성 페이지
- 제목, 작성자명, 내용을 입력할 수 있어야 한다. (첨부파일 추가 기능도 넣을 수 있으면 넣기)
- 다 입력하고 등록 버튼을 누르면 게시글이 DB에 저장되고 게시글 목록 조회 페이지로 이동한다.
- 작성 중 취소 버튼을 누르면 다시 게시글 목록 조회 페이지로 이동한다.

5) 게시글 수정 페이지
- 제목, 작성자명, 내용을 입력할 수 있어야 한다. (첨부파일 추가 기능도 넣을 수 있으면 넣기)
- 다 입력하고 등록 버튼을 누르면 게시글이 DB에 업데이트되고 게시글 상세조회 페이지로 이동해야 한다.
- 작성 중 취소 버튼을 누르면 다시 게시글 목록 조회 페이지로 이동한다.

6) 게시글 상세조회 페이지
- 제목, 작성자명, 작성일, 내용, 댓글 목록, 목록으로 돌아가기 버튼을 기본으로 보여줘야 한다.
- 목록으로 버튼을 누르면 다시 게시글 목록 조회 페이지로 이동한다.
- 만약 글을 작성한 사람이면 수정버튼, 삭제버튼도 보여줘야 하며, 수정버튼을 누르면 게시글 수정 페이지로 이동한다.
- 삭제 버튼을 누르면, 정말 삭제하시겠습니까? 메시지를 보여주고 확인을 누르면 게시글이 삭제되고 다시 게시글 작성 페이지로 이동한다.
- 댓글 작성을 클릭하면 댓글을 작성할 수 있어야 한다.
- 내가 작성한 댓글만 수정 가능하고, 수정 버튼 클릭시 댓글 본문이 사라지고 댓글 내용 저장버튼 생성하고, 삭제버튼 클릭시 정말 삭제하시겠습니까? 메시지를 띄우고 확인 버튼을 누른 경우 목록에서 해당 댓글을 삭제하기

7) 게시글 삭제 기능
- 작성자만 글 삭제 가능하다.
- 게시글 상세조회 페이지에서 작성자가 삭제 버튼을 누르면 정말 삭제하시겠습니까? 메시지를 띄우고 확인/취소 중 확인을 누르면
목록에서 해당 글을 삭제하고 DB애서도 지운다. 취소 버튼을 누르면 다시 상세조회 페이지를 보여준다.

8) 댓글 목록
- 현재 조회중인 게시글에 작성된 모든 댓글은 목록으로 볼 수 있어야 한다.
- 댓글 목록 위에 댓글 작성란이 있어야 한다.
- 댓글 목록 중, 내가 작성한 댓글은 댓글 수정, 댓글 삭제 버튼이 활성화 되어야 한다.
- 댓글 목록 순서는 가장 최근에 작성한 댓글이 맨 위로 오게 한다.
- 댓글 작성 일자가 떠야한다.

9) 댓글 작성
- 게시물 상세 조회 페이지에서 댓글 작성 버튼을 눌러야 댓글을 작성할 수 있다.
- 댓글 내용을 입력하지 않고 작성 버튼을 누르면 내용을 입력하라는 메세지 띄우기
- 댓글 내용을 입력하고 작성 버튼을 누르면 작성한 댓글 댓글목록 상단에 추가하고 DB에도 저장되어야 한다.

10) 댓글 수정
- 게시물 상세 조회 페이지에서 해당 댓글 작성자만 수정 버튼을 눌러서 댓글을 수정할 수 있다.
- 댓글 본문이 사라지고, 댓글 내용, 저장 버튼 생성하기
- 댓글 내용에는 이전에 입력했던 댓글 내용을 기본 값으로 채우기 (수정할 댓글 내용은 비어 있지 않도록 하기)
- 저장 버튼을 누른 경우 기존 댓글의 내용을 새로 입력한 댓글 내용으로 바꾸기
- 댓글 내용을 입력하고 작성 버튼을 누르면 작성한 댓글 댓글목록 상단에 추가하고 DB에도 저장되어야 한다.

11) 댓글 삭제
- 게시물 상세 조회 페이지에서 해당 댓글 작성자만 삭제버튼을 눌러서 삭제할 수 있다.
- "정말로 삭제하시겠습니까?" 메세지를 띄우고, 확인/취소 버튼 중 "확인" 버튼을 누른 경우 목록에서 해당 댓글을 삭제하기
- 취소를 누른 경우 삭제되지 않고 그대로 유지하기