인증을 위해 POST /api/authentication으로 요청이 오고 정상 응답이 돌아가면 access와 refresh가 재발급되어 돌려줍니다.
이메일 인증 기능
인증 이메일 발송 | 이메일 인증으로 권한 증가 (총 2가지 API)를 구현하였습니다.
이메일 인증 구현을 위해 gmail의 smtp 서비스를 활용하였습니다.
모집글 관련 기능
모집글 목록 조회 구현하였습니다. (1개의 API)
무한 스크롤 방식으로 조회 결과가 나오게 구현하였습니다.
모집글 목록 조회는 20개씩 post.id 내림차순 기준으로 가져오도록 설정했습니다. 커서 size가 없으면 디폴트 값 20을 넣어줬습니다. 커서 key가 있으면 키보다 작은 데이터를 보내고, 키가 없으면 가장 마지막 id부터 가져옵니다.
지역별, 모집 중/완료 에 따른 조회 결과를 구분하여 구현하였습니다.
지역에 따른 조회 결과는 우선 순위를 읍/면/동 > 시/군/구 > 시/도 로 두었습니다.
모집글 CRUD 구현하였습니다. (4개의 API)
아직 구현되지 않은 comment(댓글), score(점수) 부분은 제외하고 구현하였습니다.
신청 관련 기능
신청자 목록 조회 | 모집글에 대한 신청 | 신청 수락 | 신청 취소 또는 거절(총 4개의 API)을 구현하였습니다.
신청자 목록 조회도 무한 스크롤 방식으로 구현하였습니다.
신청자 목록은 20개씩 applicant.id 내림차순 기준으로 가져오도록 설정했습니다. 커서 size가 없으면 디폴트 값 20을 넣어줬습니다. 커서 key가 있으면 키보다 작은 데이터를 보내고, 키가 없으면 가장 마지막 id부터 가져옵니다. (모집글 목록 조회와 동일)
안녕하세요! 손민철 멘토님 부산대 3조 번개볼링 BE입니다.
4주차 코드리뷰 잘 부탁드립니다~ 😄
Summary
4주차(+3주차) 작업 내역입니다.
Description
4주차(+3주차) 작업 내역 상세입니다!
3주차 작업 내역
프로젝트 생성
로그인이 필요 없는 GET api들에 대해 가짜 데이터를 주는 mock api를 작성
임시 개발 API 서버 배포를 위한 aws EC2위에 배포 완료
행정구역 조회 기능
시/도 조회 (/api/cities) | 시/군/구 조회 (api/cites/{cityId}/countries) | 읍/면/동 조회 (/api/cities/countryId}/districts) 총 3가지 API를 구현하였습니다.
4주차 작업 내역
회원가입/로그인
이메일 인증 기능
모집글 관련 기능
신청 관련 기능
법정동 코드 파일 SQL 변환
[+ 추가 정보]
Related Issue
작업에 연관된 이슈는 다음과 같습니다.
Issue Number:
5 : 스프링 프로젝트 기본 설정
6 : 가짜 데이터 주는 GET api 작성
11 : 액세스 및 리프레시 토큰 구현
12 : 모집글 목록 조회 및 모집글 CRUD 구현
13 : 신청 API 작성
14 : 법정동 구역코드 파싱 및 변환
20 : 이메일 인증 구현
21 : ApplicationResponse.GetApplicationDto 수정
사전 질문
사전 질문입니다! 🤔
모집글 목록 조회
모집글 목록 조회를 지역별, 모집 중/완료로 할 수 있게 두었습니다.
여기서 발생한 문제점은 조회의 로직이 복잡하다고 느껴지는 것입니다. 따라서, 이 부분에 대해 조회 로직을 좀 더 최적화 할 수 있는 방법이 있을까요?
모집글 생성, 수정
모집글 생성(POST), 수정(PUT) 시에 response header에 url을 반환하도록 하였습니다. POST일 때는 url을 반환해주는 것이 맞다고 생각을 해서 작성을 했는데, PUT일 때도 url을 반환해주는 것이 좋을까요?
N+1 문제
User안에 OneToMany를 추가하여 간단하게 rating 정보를 가져올 수 있도록 설정하였습니다. N+1문제가 발생할 것으로 예상이 되는데, 이 부분에 대해서 어떻게 해결하면 좋을지 궁금합니다!