반응형
설명
- SpringBoot, Thyemleaf, MySQL을 활용한 게시판 만들기
- 화면에서는 BootStrap, JavaScript, JQuery를 사용
- 최대한 간단하게 만드려 했지만 이것저것 추가하다 보니 조금 복잡해진 것 같음..
- Front-End가 따로 없고, Ajax 통신을 사용하지 않아서 REST API를 지키지 못했음 (GET, POST만 사용)
기능 설계
유저 기능
- 회원가입
- 아이디, 닉네임 중복 불가
- 로그인
- 아이디, 비밀번호로 로그인
- 정보 수정
- 비밀번호, 닉네임 수정 가능
- 회원 탈퇴
- 회원 탈퇴 시, 탈퇴한 유저가 작성한 글, 댓글, 좋아요 모두 삭제
- 마이 페이지
- 본인 정보 확인, 수정 및 본인이 작성한 글, 댓글을 추가한 글, 좋아요 누른 글 리스트를 확인할 수 있음
게시판 기능
- 게시판은 가입인사, 자유게시판, 골드게시판으로 분류
- 리스트 조회
- 각각의 게시판에 해당하는 글 리스트 출력
- 제목, 작성자로 검색 가능
- 최신순, 좋아요순, 댓글순으로 (내림차순) 정렬 가능
- 검색 + 정렬 가능
- 한 페이지에 10개의 글씩 출력
- 글 작성
- 제목, 내용(text) 작성 가능
- 이미지 업로드 가능
- 로그인 한 유저만 작성 가능
- 글 조회
- 리스트 페이지에서 글 선택 시 해당 글 조회 페이지로 이동
- 해당 글의 제목, 작성자, 내용, 이미지, 작성일, 수정일, 좋아요 수, 댓글 조회 가능
- 로그인 한 유저라면 좋아요를 누를 수 있고 댓글을 추가할 수 있음
- 이미지가 있으면 이미지를 미리볼 수 있고 다운로드 할 수 있음
- 글 수정
- 제목, 내용, 이미지를 수정할 수 있음
- 기존에 업로드한 이미지는 삭제됨
- 글의 작성자만 수정 가능
- 글 삭제
- 해당 글과 글에 달린 좋아요, 댓글, 이미지를 모두 삭제함
- 글의 작성자와 관리자만 삭제 가능
- 댓글, 좋아요 기능
- 댓글은 로그인 한 유저만 작성이 가능하고, 본인의 댓글을 수정, 삭제 할 수 있음
- 좋아요는 로그인 한 유저만 가능하고, 하트를 두 번 누르면 좋아요가 취소됨
등급 기능
- BLACKLIST, BRONZE, SILVER, GOLD, ADMIN 등급 존재
- 처음 가입한 유저는 BRONZE 등급으로 설정
- BRONZE 등급의 유저만 가입인사를 작성 할 수 있음
- 가입인사를 작성하면 SILVER 등급으로 승급
- 가입인사는 한 번만 작성할 수 있고, 삭제할 수 없음
- SILVER 등급 이상의 유저는 자유게시판에 글을 작성할 수 있음
- 자신의 모든 글에 좋아요를 총 10개 이상 받으면 GOLD 등급으로 승급
- GOLD 등급의 유저는 골드게시판에 접속할 수 있고, 글을 작성할 수 있음
- BLACKLIST 유저를 제외한 모든 유저는 댓글을 추가할 수 있음
- BLACKLIST 유저는 글, 댓글을 작성할 수 없고, 좋아요만 추가할 수 있음
관리자 기능
- 관리자는 모든 유저의 글을 삭제할 수 있음
- 관리자가 작성한 글은 해당 게시판의 공지사항이 되어 항상 최상단에 노출됨
- 관리자는 관리자 페이지에 접근할 수 있음
- 관리자 페이지에서는 모든 유저를 조회할 수 있고, 유저들의 등급을 수정할 수 있음
결과
- 배포 사이트 주소 : http://ec2-52-79-213-143.ap-northeast-2.compute.amazonaws.com:8084/
- 전체 코드 : https://github.com/Changbum97/SpringBoot-Basic-Board
결과 설명
- 홈 화면
- 회원가입 페이지
- 로그인 페이지
- 로그인 성공 시 홈 화면 => 로그인, 회원가입 대신 마이페이지, 로그아웃 버튼 출력
- 로그인에 성공한 유저는 로그인, 회원가입 페이지에 접속할 수 없음
- 마이 페이지
- BRONZE 유저가 자유게시판에 글을 작성하려고 하면 에러 메세지 출력
- GOLD 게시판도 접근 불가
- 글 작성 페이지
- 글 작성 후 리스트 페이지
- 가입인사를 작성해 SILVER 등급으로 승급했기 때문에 자유게시판에도 글 작성 가능
- 글 조회 페이지
- 글 조회 페이지에서 수정 버튼을 누르면 수정 가능
- 좋아요와 댓글 추가
- 좋아요, 댓글 추가 후 리스트 페이지
- 글 작성, 댓글 추가, 좋아요 추가 후 마이 페이지 => 자기글에 추가한 좋아요는 받은 좋아요로 카운트 하지 않음
- 유저 정보 수정 페이지
- 여러명의 회원을 추가하고 저 글에 좋아요를 10개 추가하면 GOLD로 승급
- 이제 골드게시판에 접근 및 글 작성 가능
- 페이징, 검색, 정렬을 확인해보기 위해 100개의 글 추가 및 댓글, 좋아요 추가
- 페이징 기능
- 정렬 기능
- 검색 기능
- 정렬 + 검색 가능
- 정렬 + 검색 + 페이징 기능
- 관리자로 로그인 한 경우 => 상단에 관리자 페이지 버튼이 출력되고, 글 작성이 아닌 공지 작성 버튼 출력
- 관리자가 작성한 글은 공지로 등록되어 리스트 상단에 출력
- 관리자는 다른 사람이 작성한 글, 댓글을 삭제할 수 있음
- 관리자 페이지에서는 모든 유저를 조회할 수 있고, 등급을 수정할 수 있음
- 블랙리스트 유저로 로그인 한 경우
- 블랙리스트 유저가 글, 댓글 작성을 시도한 경우
반응형
'Spring Boot > 프로젝트' 카테고리의 다른 글
[Spring Boot] 게시판 만들기 5 - 댓글, 좋아요, 파일 업로드 관련 기능 (0) | 2023.04.17 |
---|---|
[Spring Boot] 게시판 만들기 4 - 게시판 기능 (0) | 2023.04.17 |
[Spring Boot] 게시판 만들기 3 - 유저 기능 (0) | 2023.04.17 |
[Spring Boot] 게시판 만들기 2 - 라이브러리 설치, ERD, Entity 생성 (1) | 2023.04.17 |
[Spring Boot] CRUD 게시판 (DB 사용 X, 회원 기능 X) (2) | 2022.05.11 |