Puru Board는 게시물, 댓글, 회원 3개의 테이블로 이루어진 작은 프로젝트이다. 지난 기간동안 익힌 Java, Spring, JPA, MySQL, AWS 관련 기술로 실질적인 무언가를 만들어보고 싶어서 기획했다. 프로그램의 ERD는 다음과 같다.

초기 기능은 다음과 같다.
- 회원 가입, 로그인(일반·리멤버 미), 로그아웃
- 게시글 조회, 작성, 수정, 삭제
- 댓글 조회, 작성, 수정, 삭제
다음으로 각 기능의 특징을 살펴본다.
회원
- 회원 정보 중 비밀번호 정보는 bcrypt 방식으로 암호화를 한 뒤 데이터베이스에 저장하는 방식을 취한다.
- 로그인, 로그아웃 관련 기능은 스프링 시큐리티의 세션을 활용한다.
- AuthenticationProvider을 커스터마이징해서 구현하여 사용한다. RememberMe 기능 적용을 위해 토큰의 요소 중 principle의 형태를 String인 email로 바꿨다.
게시글과 댓글
- 로그인한 회원에 한해 게시글 작성이 가능하다.
- 로그인한 회원에 한해 자신이 작성한 게시글의 수정, 삭제가 가능하다. 삭제의 경우 soft delete로 구현했다.
- 로그인한 회원에 한해 게시글 열람 화면에서 댓글 작성이 가능하다.
- 로그인한 회원에 한해 자신이 작성한 댓글의 수정, 삭제가 가능하다. 삭제의 경우 soft delete로 구현했다.
프로젝트 진행
프로젝트 진행은 Github의 이슈, 마일스톤, 프로젝트 기능을 적극 활용하여 진행하였다. 또한 main 브랜치 외의 브랜치를 2개 활용하여 분야별로 브랜치를 나누어 개발하였다.
1차 배포 후기
1차 배포는 이 중 댓글 수정, 삭제를 제외하고 구현한 뒤 최대한 빠르게 이뤄졌다. 이번 배포는 나에게 특히 의미가 깊다. 5월부터 여러 번의 배포 시도 끝에 처음으로 프로그램 다운 프로그램을 배포한 것이기 때문이다. 게다가 당일에 힘든 일을 겪은 뒤에 성공한 배포인 데다, 그 날이 내 생일이었어서 더 기분 좋았다.
앞으로의 계획
2차 배포(원래 일정)
- 댓글 수정, 삭제 - 개발 완료
2차 배포(사용자 피드백에 따른 개선 사항-> valid를 통한 예외 처리)
- 회원 가입 예외 처리: 회원 가입 시 이메일, 비밀번호, 닉네임이 양식에 맞지 않는 경우 예외 처리
- 로그인 예외 처리: 로그인 시 이메일, 비밀번호가 공백인 경우 예외 처리/이메일, 비밀번호가 틀린 경우 예외 처리
- 게시글 작성 예외 처리: 게시글 작성 시 제목, 내용이 공백인 경우 예외 처리
- 게시글 수정 예외 처리: 게시글 수정 시 제목, 내용이 공백인 경우 예외 처리
- 댓글 작성 예외 처리: 댓글 작성 시 내용이 공백인 경우 예외 처리
- 댓글 수정 예외 처리: 댓글 수정 시 내용이 공백인 경우 예외 처리
3차 배포
- 게시글 수정, 삭제 예외 처리: 게시글 수정, 삭제 시도 시 게시물 작성자와 현재 사용자가 다른 사람일 경우 에러 페이지로 이동
- 댓글 수정, 삭제 예외 처리: 댓글 수정, 삭제 시도 시 댓글 작성자와 현재 사용자가 다른 사람일 경우 에러 페이지로 이동
- 게시글 열람 예외 처리: 삭제된 게시글에 열람을 시도하는 경우 에러 페이지로 이동
- 게시글 페이징
리포지토리는 다음과 같다.
'Project > Puru Board' 카테고리의 다른 글
| Puru Board: 2.5차 배포 - 댓글 수정 시 버그 해결(기능 개선) (1) | 2022.12.30 |
|---|---|
| Puru Board: 2차 배포 완료(댓글 수정·삭제 기능 추가) (0) | 2022.12.30 |