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. 개발 내용
(추가 예정)
'BackEnd > Srping Boot' 카테고리의 다른 글
[Spring Boot + JPA + Gradle + Mysql + IntelliJ + git] Lombok 설치 .02 (1) | 2023.12.18 |
---|---|
[Spring Boot + JPA + Gradle + Mysql + IntelliJ + git] User 회원가입/로그인 만들기.01 (0) | 2023.12.17 |
[Spring Boot + JPA + Gradle + Mysql + IntelliJ + git] 02 git 허브 연동 (0) | 2023.12.16 |
[Springboot + IntelliJ + gradle] 프로젝트 생성 (0) | 2023.12.12 |