Skip to content

Latest commit

 

History

History
121 lines (82 loc) · 5 KB

File metadata and controls

121 lines (82 loc) · 5 KB

🌳 Techeer Tree : 소원을 빌어봐

주제 설명

Techeer Tree는 테커인들이 자신의 목표나 소원을 작성하고, 이를 소원 나무에 게시하여 다른 사람들과 공유할 수 있는 플랫폼입니다. 작성된 소원은 모든 사용자에게 공개되어, 서로의 소원을 볼 수 있습니다.

안내사항

  • 해커톤 진행시간은 다음과 같습니다.
    • Backend : 2024년 8월 24일(토) 12:00 ~ 2024년 8월 25일(일) 00:00
    • Frontend : 2024년 8월 25일(일) 12:00 ~ 2024년 8월 26일(월) 00:00
  • 꼭 정해진 시간에 해커톤을 진행해주세요.
    • Backend 작업을 일찍 완료하시더라도, Frontend 작업은 정해진 시간에 시작해 주시고 그 전에는 충분히 휴식을 취하시길 바랍니다.
  • 참가자는 본 레포지토리를 fork한 후, 기능 구현 완료 후 PR을 통해 제출해야 합니다.
    • 구현 내용은 README.md 하단에 이어서 작성해 주세요.
    • 과제의 소스코드는 본인의 GitHub 레포지토리에 Public으로 올려주세요.
  • 진행 중 문의사항은 슬랙 “2024-굿나잇-해커톤” 채널(public)에 참가하여 남겨주세요.
  • 신청자에 한해 현직자 재연님께 코드리뷰를 받을 수 있습니다.
    • 리뷰 받고 고쳐오실분만 신청해주세요.
    • 신청 구글폼은 백엔드 해커톤이 끝난 후 채널에 올라올 예정입니다.

기본 요구사항

  • Techeer Tree 앱을 구현합니다.
  • 일관된 코딩 컨벤션을 유지해주세요.
  • 기능 당 커밋은 필수입니다.
  • 환경변수는 분리하여 관리해 주세요.

기술스택

  • DB 및 ORM 사용은 자유입니다.
  • 새로운 언어/기술에 도전해 보는 것을 권장드립니다.
  • 아래 목록 외에도 사용할 수 있습니다.

1. Java(혹은 Kotlin) + Springboot

2. Typescript + Nest.JS

3. Golang

도메인

  • Wishes
  • Comments

기능

[🧞‍♂️ 소원]

1. 소원 등록

  • 제목, 내용, 카테고리, 등록일, 승인 상태 정보를 포함해야 합니다.
    • 카테고리의 종류는 진로, 건강, 인간 관계, 돈, 목표, 학업/성적, 기타 총 7가지입니다.
  • is_confirm(소원 승인 상태)값의 초기값을 “보류됨” 으로 설정합니다.
    • 승인 상태 값 정의
      • 승인됨 : 소원이 승인된 상태입니다.
      • 보류됨 : 소원이 아직 검토 중이며 승인되지 않은 상태입니다.
      • 거절됨 : 소원이 거절된 상태입니다.
  • 제목, 내용, 카테고리, 등록일 값이 하나라도 null일 경우 예외를 처리합니다.(추가기능)

2. 소원 삭제

  • soft delete로 구현하여 소원 삭제시 데이터가 삭제 되지 않도록 합니다.
  • is_deleted 필드를 추가하여 삭제된 항목의 조회 여부를 결정합니다.
  • 조회 기능에서 삭제 처리된 소원은 조회하지 않도록 합니다.

3. 소원 승인/거절

  • 모든 소원에 대한 승인/거절을 수행합니다.
  • 보류됨 상태의 소원을 조회하여 각각의 소원에 대한 승인/거절을 진행합니다.

4. 소원 단일 조회

  • 제목, 내용, 카테고리 정보를 반환합니다.
  • 승인된 소원만 조회가 가능합니다.
  • 삭제된 소원은 조회할 수 없습니다.

5. 소원 목록 조회

  • 제목, 카테고리, 등록일 정보를 반환합니다.
  • 승인, 미승인 별로 선택하여 조회할 수 있어야합니다. (쿼리 파라미터)
  • 페이지네이션을 지원해야 합니다.
  • 생성날짜 최신순으로 정렬합니다.

6. 소원 검색 (추가기능)

  • 소원의 titlecontent에 특정 키워드가 포함된 소원을 검색할 수 있도록 합니다.
  • 사용자가 입력한 키워드를 기반으로, 소원의 제목이나 내용에서 일치하는 항목을 검색해 반환합니다. 이 기능은 카테고리 필터와 함께 사용할 수 있습니다.

[💬 댓글]

7. 댓글 등록

  • 소원에 대한 댓글 등록이 가능해야 합니다.
  • 댓글 내용, 등록일을 포함해야 합니다.

8. 댓글 조회

  • 소원에 대한 댓글을 조회 할 수 있습니다.
  • 삭제된 댓글은 조회할 수 없습니다.
  • 페이지네이션이 가능합니다.

9. 댓글 삭제

  • soft delete로 구현하여 댓글 삭제시 데이터가 삭제 되지 않도록 합니다.
  • is_deleted 필드를 추가하여 삭제된 항목의 조회 여부를 결정합니다.
  • 조회 기능에서 삭제 처리된 댓글은 조회하지 않도록 합니다.

[✅ 유닛 테스트]

  • 유닛 테스트 코드를 작성합니다. (추가기능)

기여해주신 분