Good-Night-3rd-Hackathon-Backend 참가!! 회고랄것도 없는 일기를 짧게 하나 작성해보려한다.
8/24-25 굿나잇 헤커톤에 참여했다. 24일에는 백엔드 API, 5일에는 프론트엔드 개발이였지만 개인 사정으로 25일에는 참여하지 못하여 API만 구현을 했다.
깃허브 주소!
https://github.com/silkair/Good-Night-3rd-Hackathon-Backend.git
GitHub - silkair/Good-Night-3rd-Hackathon-Backend: Good Night Hackathon 입문자 대상으로 API 를 만들어 보는 것을
Good Night Hackathon 입문자 대상으로 API 를 만들어 보는 것을 목표로, 줌에서 8/24 12pm ~ 끝날때 까지 진행합니다. - silkair/Good-Night-3rd-Hackathon-Backend
github.com
아직 개인적으로도 실력이 좋다고는 생각하지 않고 프로젝트 경험도 많이 없어 헤커톤에 잘 참여할 수 있을지 걱정이었다. 개발을 할 정도까지 사용할 줄 아는 프레임워크도 Django 하나 뿐이였기 때문이다.
그래서 이번 헤커톤을 Spring Boot 실전 연습의 시작점으로 삼기로 했다!! Spring에 관련하여 인프런 강의로 공부를 시작할 예정이고 Java도 매일 코테 문제를 풀며 아직 준비중이지만 이번이 좋은 기회라고 생각했다.
막상 시작해보니 생각보다 막막했다. Controller, Service, Repository를 사용하는 패턴 자체도 익숙하지 않았고 미숙한 Java 언어 실력의 이유도 있었다. 몇시간을 고민하며 진행하다가 결국 GPT에 의존하여 완성만 시키고 후에 공부를 더 해서 다시 진행해보기로 했다.
그래도 Spring을 집중해서 써볼 수 있는 좋은 기회였고, 짤막하지만 공부한 내용은 한두개의 글로 다시 작성해보겠다!!
이번 헤커톤 내에서 구현한 기능 목록이다.
- 제목, 내용, 카테고리, 등록일, 승인 상태 정보를 포함해야 합니다.
- 카테고리의 종류는 진로, 건강, 인간 관계, 돈, 목표, 학업/성적, 기타 총 7가지입니다.
- is_confirm(소원 승인 상태)값의 초기값을 “보류됨” 으로 설정합니다.
- 승인 상태 값 정의
- 승인됨 : 소원이 승인된 상태입니다.
- 보류됨 : 소원이 아직 검토 중이며 승인되지 않은 상태입니다.
- 거절됨 : 소원이 거절된 상태입니다.
- 승인 상태 값 정의
- 제목, 내용, 카테고리, 등록일 값이 하나라도 null일 경우 예외를 처리합니다.(추가기능)
- soft delete로 구현하여 소원 삭제시 데이터가 삭제 되지 않도록 합니다.
- is_deleted 필드를 추가하여 삭제된 항목의 조회 여부를 결정합니다.
- 조회 기능에서 삭제 처리된 소원은 조회하지 않도록 합니다.
- 모든 소원에 대한 승인/거절을 수행합니다.
- 보류됨 상태의 소원을 조회하여 각각의 소원에 대한 승인/거절을 진행합니다.
- 제목, 내용, 카테고리 정보를 반환합니다.
- 승인된 소원만 조회가 가능합니다.
- 삭제된 소원은 조회할 수 없습니다.
- 제목, 카테고리, 등록일 정보를 반환합니다.
- 승인, 미승인 별로 선택하여 조회할 수 있어야합니다. (쿼리 파라미터)
- 페이지네이션을 지원해야 합니다.
- 생성날짜 최신순으로 정렬합니다.
- 소원의 title과 content에 특정 키워드가 포함된 소원을 검색할 수 있도록 합니다.
- 사용자가 입력한 키워드를 기반으로, 소원의 제목이나 내용에서 일치하는 항목을 검색해 반환합니다. 이 기능은 카테고리 필터와 함께 사용할 수 있습니다.
- 소원에 대한 댓글 등록이 가능해야 합니다.
- 댓글 내용, 등록일을 포함해야 합니다.
- 소원에 대한 댓글을 조회 할 수 있습니다.
- 삭제된 댓글은 조회할 수 없습니다.
- 페이지네이션이 가능합니다.
- soft delete로 구현하여 댓글 삭제시 데이터가 삭제 되지 않도록 합니다.
- is_deleted 필드를 추가하여 삭제된 항목의 조회 여부를 결정합니다.
- 조회 기능에서 삭제 처리된 댓글은 조회하지 않도록 합니다.