본문 바로가기
BackEnd/Srping Boot

[Spring Boot + JPA + Gradle + Mysql + IntelliJ + git] 프로젝트 명세서 만들기

by devthrive 2023. 12. 17.
SMALL

1. 아이템선정

 Spring Boot + Jpa + Mysql 게시판 CRUD 만들기(기능 조금식 추가)

2. 개요

 프로젝트 명칭 : Board
 개발 인원 : 1명
 개발 기간 : 2023-12-17 ~ 진행중
 주요기능
   - 로그인 : jwt 토큰 로그인, 구글 로그인
   - 게시판 : CRUD 기능, 페이징 기능, 검색 처리, 조회수

 개발 언어 : JAVA17
 개발 환경 : SpringBoot 3.20, gradle, jpa, Spring Security, thymeleaf
 데이터 베이스 : MySQL
 형상관리툴 : GitHub

3. 요구사항 분석

 - 회원 가입 페이지

    1) 유효성 검사

      닉네임 : 최소 2이상 10글자 미만 사용
      이메일 : 형식 패턴 적용해 확인  ex) abcd@tistory.com
      비밀번호 : 영문자, 숫자 포함 최소 8이상 사용


    2) 중복확인

       데이터베이스에 아이디가 존재하면  "사용중인 아이디입니다."의 메시지를 출력

       데이터베이스에 닉네임이 존재하면  "사용중인 닉네임입니다."의 메시지를 출력
       모든 검사가 통과되었다면 로그인 페이지로 이동시키기

 - 로그인 페이지

    1) 로그인 검사

      아이디가 없을 시 "아이디를 확인해주세요. "의 메시지출력

      비밀번호가 일치하지 않을 시 "비밀번호가 일치하지 않습니다. "의 메시지출력

      아이디와 비밀번호가 일치시 index페이지로 이동

 

     2) 권한

      공통 페이지 : 회원가입 페이지, 로그인 페이지, 게시글 리스트 페이지
                            게시글 상세보기 페이지, 게시글 검색 페이지

      로그인 했을시 : 개인정보 수정, 게시글 글쓰기

 - 회원정보 페이지

      1) 회원정보 수정

        닉네임, 비밀번호만 가능
        빈칸 혹은 공백으로 된 경우 “입력하지 않은 부분이 있습니다.”의 메시지 출력
        닉네임이 중복시  “이미 사용중인 닉네임입니다.” 메시지 출력
        닉네임은 최소 2이상 10글자 미만 사용

        비밀번호 수정은 영문자, 숫자 포함 최소 8이상 사용

        수정 완료 시 수정 날짜 업데이트하기

 - Google 로그인 기능 만들기

  구글 로그인이 가능하도록 하기
  데이터베이스에 이미 존재하는 이메일이 있을 시 기존 회원 데이터 정보를 유지하기
  소셜 로그인 사용자도 닉네임, 비밀번호 설정이 가능하고, 일반 로그인도 가능하게 하기

 - 게시글 검사

  게시글 작성, 수정 시 빈칸 혹은 공백으로 된 경우 “입력하지 않은 부분이 있습니다.”의 메시지 출력
  내가 작성한 글만 수정, 삭제 가능하게 하기
  로그인을 하지 않고 글 작성 버튼을 누른 경우 로그인 페이지로 이동

4. DB 설계

 - User

5. API설계

6.화면 설계

7. 개발 내용

(추가 예정)

LIST