Giter Site home page Giter Site logo

wanted-pre-onboarding-backend's Introduction

wanted-pre-onboarding-backend 선발과제`

이름 : 정지원

1. 요구사항 분석

회사 기능

  • 회사 등록
    • 회사 이름, 국가, 지역

채용공고 기능

  • 채용공고 등록
    • 회사, 선발 포지션, 보상금, 내용, 스킬
  • 채용공고 수정
    • 선발 포지션, 보상금, 내용, 기술 각각 수정 가능
  • 채용공고 삭제
  • 채용공고 전체 조회
    • 채용공고 ID, 회사이름, 회사국가, 회사지역, 채용 포지션, 보상금, 스킬
  • 채용공고 검색 기능
    • 회사이름, 국가, 지역, 포지션, 스킬로 검색 가능
  • 채용공고 단건 조회
    • 채용공고 전체 조회 데이터 + 내용 + 공고를 낸 회사가 올린 다른 공고들

유저 기능

  • 유저 등록 기능
    • 이름, 나이, 연락처, 포지션, 내용
  • 유저의 채용공고 지원 기능 (같은 공고 중복지원 X)
    • 유저의 ID, 채용공고 ID

2. 구현 과정

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.