본문 바로가기
프로젝트들/드림리멤버

[프로젝트] 스프링부트 게시판 만들기 요구사항 01 (드림리멤버 v2)

by 커피는아아 2021. 3. 26.
반응형

요구사항

  1. 회원 가입 페이지
    • 회원가입 버튼을 클릭하기
    • 닉네임, 비밀번호, 비밀번호 확인을 입력하기
    • 닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기
    • 비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기
    • 비밀번호 확인은 비밀번호와 정확하게 일치하기
    • 데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 프론트엔드에서 보여주기
    • 회원가입 버튼을 누르고 에러메세지가 발생하지 않는다면 로그인 페이지로 이동시키기
  2. 로그인 페이지
    • 로그인, 회원가입 버튼을 만들기
    • 닉네임, 비밀번호 입력란 만들기
    • 로그인 버튼을 누른 경우 닉네임과 비밀번호가 데이터베이스에 등록됐는지 확인한 뒤, 하나라도 맞지 않는 정보가 있다면 "닉네임 또는 패스워드를 확인해주세요"라는 메세지를 프론트엔드에서 보여주기
    • 로그인 버튼을 눌러서 에러 메세지가 발생하지 않는다면 전체 게시글 목록 조회 페이지로 이동시키기
  3. 로그인 검사
    • 아래 페이지를 제외하고 모두 로그인 한 경우만 볼 수 있도록 하기
      • 회원가입 페이지
      • 로그인 페이지
      • 게시글 목록 조회 페이지
      • 게시글 조회 페이지
    • 로그인을 하지 않거나 올바르지 않은 경로로 접속한 사용자가 로그인이 필요한 경로에 접속한 경우 "로그인이 필요합니다." 라는 메세지를 프론트엔드에서 띄워주고 로그인 페이지로 이동시키기
    • 로그인 한 사용자가 로그인 페이지 또는 회원가입 페이지에 접속한 경우 "이미 로그인이 되어있습니다."라는 메세지를 띄우고 전체 게시글 목록 조회 페이지로 이동시키기
  4. 소셜 로그인 기능 만들기
    • 카카오 소셜 로그인이 가능하도록 하기
    • 동일한 이메일로 이미 회원가입한 경우, 동일 Email 가진 회원에 카카오 Id 추가하고 로그인하기
  5. 게시글 조회 페이지 > 댓글 목록 조회
    • 로그인 하지 않은 사용자도 댓글 목록 조회가 가능하도록 하기
    • 현재 조회중인 게시글에 작성된 모든 댓글을 목록 형식으로 볼 수 있도록 하기
    • 댓글 목록 위에 댓글 작성란 만들기
      • 댓글 작성에 관한 기능은 5번 요구사항으로 연결하기
    • 댓글 목록 중, 내가 작성한 댓글인 경우 댓글 수정, 댓글 삭제 버튼 만들기
      • 댓글 수정 버튼을 누르면 6번 요구사항으로 연결하기
      • 댓글 삭제 버튼을 누르면 7번 요구사항으로 연결하기
    • 제일 최근 작성된 댓글을 맨 위에 띄우기
  6. 게시글 조회 페이지 > 댓글 작성
    • 로그인 한 사용자만 댓글 작성이 가능하도록 하기
    • 게시글 조회 페이지 하단에 댓글 내용을 입력할 수 있는 댓글 작성 버튼 만들기
    • 로그인 하지 않은 사용자가 댓글 작성란을 누르면 "로그인이 필요한 기능입니다." 라는 메세지를 띄우고 로그인 페이지로 이동시키기
    • 댓글 내용란을 비워둔 채 댓글 작성 버튼을 누르면 "댓글 내용을 입력해주세요" 라는 메세지를 띄우기
    • 댓글 내용을 입력하고 댓글 작성 버튼을 누른 경우 작성한 댓글을 추가하기
  7. 게시글 조회 페이지 > 댓글 수정
    • 내가 작성한 댓글만 수정 가능하도록 하기
    • 댓글 본문이 사라지고, 댓글 내용, 저장 버튼 생성하기
    • 댓글 내용에는 이전에 입력했던 댓글 내용을 기본 값으로 채우기
    • 수정할 댓글 내용은 비어 있지 않도록 하기
    • 저장 버튼을 누른 경우 기존 댓글의 내용을 새로 입력한 댓글 내용으로 바꾸기
  8. 게시글 조회 페이지 > 댓글 삭제
    • 내가 작성한 댓글만 삭제 가능하도록 하기
    • "정말로 삭제하시겠습니까?" 메세지를 띄우고, 확인/취소 버튼 중 "확인" 버튼을 누른 경우 목록에서 해당 댓글을 삭제하기
    • 취소를 누른 경우 삭제되지 않고 그대로 유지하기
  9. 회원가입 테스트 코드 작성
    • 회원가입시 구현한 아래 조건을 검사하는 테스트 코드를 작성하기
    • 테스트 코드 실행 시 실제로는 데이터베이스에 연결되지 않도록 하기
    • 각 조건 별로 2개 이상의 테스트 케이스가 존재하도록 하기

추가 사항

  1. 회원가입
  2. 로그인, 소셜로그인(카카오톡)
  3. 댓글 기능
  4. 테스트 코드 작성
  5. 로그인 회원가입 유효성 검사

개발 방향

  • 기존에 만들어둔 드림리멤버 프로젝트에서 몇가지 사항을 추가하면 되기 때문에 드림리멤버 V2 프로젝트로 진행할 예정
  • 프로젝트는 새로 만들어서 진행할 예정
    • 기존 소스코드는 가져올 부분은 가져온다
    • 프로젝트 구조가 상당부분 다르기 때문에 새로 만들어서 프로젝트를 구성

유투브

youtu.be/Vn5QE9eSPE0

드림리멤버 v1

2021.03.20 - [Projects/remember_dream] - [프로젝트] 스프링부트 (JPA) 게시판 만들기 (03.23 완료)

 

[프로젝트] 스프링부트 (JPA) 게시판 만들기 (03.23 완료)

프로젝트 특징 스프링부트를 기반으로 CRUD 기능이 포함된 웹서비스 AWS에 스프링부트 프로젝트 배포 개요 명칭 : 리멤버 드림 개발 인원 : 1명 개발 기간 : 2021.03.20 ~ 2021. 03.22 주요 기능 : 전체 게

seongbindb.tistory.com

다음 게시글

2021.03.26 - [Projects/remember_dream] - [프로젝트] 스프링 부트 게시판 만들기 테이블 설계 02 (드림리멤버 v2)