- 회사 등록
- 회사 이름, 국가, 지역
- 채용공고 등록
- 회사, 선발 포지션, 보상금, 내용, 스킬
- 채용공고 수정
- 선발 포지션, 보상금, 내용, 기술 각각 수정 가능
- 채용공고 삭제
- 채용공고 전체 조회
- 채용공고 ID, 회사이름, 회사국가, 회사지역, 채용 포지션, 보상금, 스킬
- 채용공고 검색 기능
- 회사이름, 국가, 지역, 포지션, 스킬로 검색 가능
- 채용공고 단건 조회
- 채용공고 전체 조회 데이터 + 내용 + 공고를 낸 회사가 올린 다른 공고들
- 유저 등록 기능
- 이름, 나이, 연락처, 포지션, 내용
- 유저의 채용공고 지원 기능 (같은 공고 중복지원 X)
- 유저의 ID, 채용공고 ID
- 명세서를 기준으로 최대한 부가적인 요소 없이 진행되었습니다.
- [필수사항] 유저, 회사, 채용공고의 기본적인 CRUD는 JPA Repository를 활용하여 구현하였습니다.
- [필수사항] 채용공고 수정은 각각 수정을 위해 PATCH 메서드를 활용하였습니다.
- [선택사항] 채용공고 검색 기능은 QueryDsl을 활용하여 구현하였습니다.
- [선택사항] 채용 상세 페이지의 채용 내용을 추가하였고, 해당 회사의 다른 공고를 조회하여 보여줍니다.
- [선택사항] 사용자와 채용공고는 다대다 관계이므로, 중간 테이블을 만들어 채용공고 지원 기능을 구현하였습니다.
- [선택사항] Unit Test는 Mocking을 활용하여 진행하였습니다.
- [참조사항] 모델: company, user, announcement, UserAnnouncement
- [참조사항] 회사와 유저는 data.sql에 임의로 데이터를 넣어두었습니다.
- [참조사항] company, user, announcement의 데이터 등록과정에 validation으로 1차 검증을 진행합니다.
- [참조사항] 기술 스택: Java, Spring Boot, MySQL