1. 기능 목록

  1. 게시글 생성, 조회, 수정, 삭제, 검색 기능을 제공한다. (CRUD)
    1. 게시글 조회 및 검색은 비회원도 가능하다.
    2. 게시글 생성은 회원만 가능하며, 수정, 삭제는 게시글 작성자만 가능하다.
  2. 게시글 페이징이 가능하다. (page, size, sort설정)
  3. 게시글 검색은 게시글 제목, 게시글 내용, 작성자로 가능하다.
  4. 게시글 작성 내용 시 ---[코드 라인 넘버]를 통해 특정 코드에 대한 설명을 작성할 수 있다. (해당 코드 하이라이팅 처리)
  5. 댓글 생성, 조회, 수정, 삭제 기능을 제공한다. (CRUD)
  6. 댓글 페이징이 가능하다. (page, size, sort설정)

2. 구현 방식

  1. JPA를 이용하여 CRUD 기능이 가능하도록 한다.

  2. 페이징은 Pageable을 이용하여 가능하도록 한다.

  3. QueryDSL을 이용하여 상세 키워드 검색이 가능하도록 한다.

  4. 게시글 및 댓글 삭제 시 DB에 DELETE하는 방식이 아닌, is_deleted를 이용하는 방식을 사용한다.

    is_deleted 상태
    0 기본 상태(default)
    1 삭제 처리

3. 시퀀스 다이어그램

Board-10.png

Comment.png

4. DB 설계