Git Product home page Git Product logo

wanted-pre-onboarding-backend's Introduction

Wanted Pre-Onboarding Backend 인턴쉽 과제

선택 언어 및 프레임워크 : Java & SpringBoot


서비스 개요

  • 본 서비스는 기업의 채용을 위한 웹 서비스입니다.
  • 회사는 채용공고를 생성하고 이에 사용자는 지원합니다.

1. 요구사항 분석

📝 기능

  1. 회사는 채용 공고를 등록한다.
  2. 회사는 채용 공고를 수정한다.
  3. 회사는 채용 공고를 삭제한다.
  4. 사용자는 채용 공고 목록을 확인한다.
  5. 사용자는 채용 공고 목록에서 검색을 한다. (선택 및 가산점)
  6. 사용자는 채용 상세 페이지를 확인할 수 있다.
    1. 채용 내용이 추가적으로 들어있다.
    2. 해당 회사가 올린 다른 채용 공고가 추가적으로 포함된다.(선택 및 가산점)
  7. 사용자는 채용 공고에 지원한다. (선택 및 가산점)
    1. 사용자는 1회만 지원 가능합니다.

👩‍💻 모델

  • 🌆 회사
  • 😊 사용자
  • 📃 채용공고
  • 📑 지원내역(선택사항)

2. 데이터 모델링 설계

Untitled (2)


3. API 설계

function url http api
채용 공고 등록 /recruit/add/{company_id} POST
채용 공고 수정 /recruit/edit/{employment_id} PATCH
채용 공고 삭제 /recruit/delete/{employment_id} DELETE
채용 공고 목록 /recruit/list GET
채용 공고 상세 페이지 및 다른 공고 리스트 /recruit/details/{employment_id} GET
채용 공고 목록 검색 /recruit/search?search={search_keyword} GET
채용 공고 지원 /recruit/apply/{employment_id}/{user_id} POST

4. Convention 설계 및 초기 세팅


5. 디렉토리 구조

🗂 recruit
|— 🗂 src/main
|— 🗂 java/wanted/recruit
|        |— 📃 RecruitApplication.java
|        |— 📂 applicant
|        |        |— 📁 controller
|        |        |— 📁 dto
|        |        |— 📁 entity
|        |        |— 📁 repository
|        |        |— 📁 service
|        |— 📂 company
|        |        |— 📁 entity
|        |        |— 📁 repository
|        |— 📂 employment
|        |        |— 📁 controller
|        |        |— 📁 dto
|        |        |— 📁 entity
|        |        |— 📁 repository
|— 📃 .gitignore
|— 📃 build.gradle


5. 구현 과정

5-1. 시스템 환경

Java SpringBoot Postgres 🗂 jpa


5-2. 프로젝트 설정

  • Git과 인텔리제이 연결
  • build.gradle 라이브러리 설정
  • application.properties 설정

5-3. 기능 구현


  1. 채용 공고 등록
http://localhost:8080/recruit/add/{company_id}
{
    "companyId" : 3,
	"position": "백엔드 주니어 개발자",
    "carrot" : 1000000,
    "content" : "원티드랩에서 백엔드 주니어 개발자를 채용합니다. 자격요건은...",
    "usedTechnique" : "java"
}

  1. 채용 공고 수정
http://localhost:8080/recruit/edit/{employment_id}
{
    "companyId" : 1,
    "id" : 3,
    "usedTechnique" : "Django"
}

  1. 채용 공고 삭제
http://localhost:8080/recruit/delete/{employment_id}
{
	"employment_id":3
}

  1. 채용 공고 리스트 확인
http://localhost:8080/recruit/list

  1. 채용 공고 검색 리스트를 가져옵니다.
http://localhost:8080/recruit/search?search={search_keyword}

  1. 채용 공고 상세 페이지 및 같은 회사 다른 공고 확인
http://localhost:8080/recruit/details/{employment_id}

  1. 사용자 채용 공고 지원
  • 중복된 공고 지원 불가
http://localhost:8080/recruit/apply/{employment_id}/{user_id}

wanted-pre-onboarding-backend's People

Contributors

k-0joo avatar

Watchers

 avatar

wanted-pre-onboarding-backend's Issues

README.md 작성

Description

구조도 및 README.md 자세하게 작성하기

Todo

  • README.md 작성하기

채용 공고에 대한 기능 만들기

Description

회사가 공고에 대하여 등록, 수정, 삭제를 할 수 있는 기능을 만든다.

Todo

  • 등록 기능 생성
  • 수정 기능 생성
  • 삭제 기능 생성

Test Case 작성

Description

전체 테스트 케이스 작성하기

Todo

  • 전체 공고 리스트 조회하기
  • 상세 공고 조회하기(성공, 값 다름, 존재하지 않음)
  • 공고 생성하기
  • 공고 수정하기
  • 공고 삭제하기

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.