반응형

설명

  • 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 유저는 글, 댓글을 작성할 수 없고, 좋아요만 추가할 수 있음

관리자 기능

  • 관리자는 모든 유저의 글을 삭제할 수 있음
  • 관리자가 작성한 글은 해당 게시판의 공지사항이 되어 항상 최상단에 노출됨
  • 관리자는 관리자 페이지에 접근할 수 있음
    • 관리자 페이지에서는 모든 유저를 조회할 수 있고, 유저들의 등급을 수정할 수 있음

결과

결과 설명

  • 홈 화면

  • 회원가입 페이지

   

  • 로그인 페이지

  • 로그인 성공 시 홈 화면 => 로그인, 회원가입 대신 마이페이지, 로그아웃 버튼 출력

  • 로그인에 성공한 유저는 로그인, 회원가입 페이지에 접속할 수 없음

  • 마이 페이지

  • BRONZE 유저가 자유게시판에 글을 작성하려고 하면 에러 메세지 출력

  • GOLD 게시판도 접근 불가

  • 글 작성 페이지

  • 글 작성 후 리스트 페이지

  • 가입인사를 작성해 SILVER 등급으로 승급했기 때문에 자유게시판에도 글 작성 가능

  • 글 조회 페이지

  • 글 조회 페이지에서 수정 버튼을 누르면 수정 가능

  • 좋아요와 댓글 추가

  • 좋아요, 댓글 추가 후 리스트 페이지

  • 글 작성, 댓글 추가, 좋아요 추가 후 마이 페이지 => 자기글에 추가한 좋아요는 받은 좋아요로 카운트 하지 않음

  • 유저 정보 수정 페이지

  • 여러명의 회원을 추가하고 저 글에 좋아요를 10개 추가하면 GOLD로 승급

  • 이제 골드게시판에 접근 및 글 작성 가능

  • 페이징, 검색, 정렬을 확인해보기 위해 100개의 글 추가 및 댓글, 좋아요 추가
  • 페이징 기능

  • 정렬 기능

   

  • 검색 기능

  • 정렬 + 검색 가능

  • 정렬 + 검색 + 페이징 기능

  • 관리자로 로그인 한 경우 => 상단에 관리자 페이지 버튼이 출력되고, 글 작성이 아닌 공지 작성 버튼 출력

  • 관리자가 작성한 글은 공지로 등록되어 리스트 상단에 출력

  • 관리자는 다른 사람이 작성한 글, 댓글을 삭제할 수 있음

  • 관리자 페이지에서는 모든 유저를 조회할 수 있고, 등급을 수정할 수 있음

  • 블랙리스트 유저로 로그인 한 경우

  • 블랙리스트 유저가 글, 댓글 작성을 시도한 경우

 

반응형

↓ 클릭시 이동

복사했습니다!