주요 기능

  • 유저는 로그인 가능 (토큰 혹은 세션 방식을 사용)
  • 서버는 쿠키에 저장된 토큰 or 세션id를 통해 유저 식별
  • 유저는 글과 댓글 CRUD 가능 (로그인 필수)
  • 글과 댓글에 좋아요 추가 / 삭제 가능 (로그인 필수)
  • 생성, 수정, 삭제는 본인의 글이나 댓글만 가능
  • 비공개 글 기능 (본인, 어드민만 조회 가능)
  • 비밀 댓글 기능 (글 작성자, 댓글 작성자, 어드민만 조회 가능)
  • 날짜별 인기 글 조회 가능 (좋아요 수 + 댓글 수×5, 대부분의 경우에서 즉시 나와야 함)
  • 글 목록 페이지 네이션 구현 (한 페이지 당 글 수는 20개)


추가 기능

  • 유저 프로필 구현, 닉네임과 유저 설명을 기록할 수 있다. 글과 댓글에 글쓴이의 닉네임이 추가되어야 한다. 프로필 자세히 보기가 가능하고, 추가와 수정은 본인만 가능하다.
  • 조회 수 구현. 조회 수는 같은 유저가 24시간 내에 다시 조회했을 때는 높아지지 않는다. (비로그인 유저는 ip주소 기준)
  • 하루에 글이 1만개, 댓글이 3만개, 좋아요가 10만개 쌓이는 상황 가정. 매일 추가되는 데이터 양은 동일하며, 서비스 운영 시작한지 100일이 지났다.
  • 글 내용 중간에 이미지 들어갈 수 있게 추가
  • 동일한 ip에서 1초에 100회 이상의 요청이 들어오면 차단.
  • 클라이언트의 요청과 서버의 응답 시에 HTTP message body의 내용을 로그로 남긴다.
  • 모든 에러를 ‘[{status code}]-[{에러 종류}]-[{에러 메시지}]’의 형태로 로그를 남긴다.
  • 검색 기능 구현


기획서 이정도면 ㄱㅊ냐? 기본적인건 한 번씩 써보기 가능?