Skip to content

프리온보딩에 실제로 지원하지는 않지만, 이 레포지토리를 놀이터 삼아 다양한 주제에 대해 공부하고, 그 내용을 문서화할 계획입니다.

Notifications You must be signed in to change notification settings

PENEKhun/pratice-with-wanted-pre-onboarding-backend

Repository files navigation

README

실제 온보딩 참가 지원은 하지 않고, 자체적으로 공부하기 위해 진행한 프로젝트입니다.

프로젝트 목표

해당 프로젝트를 통해서 추구하는 목표는 다음과 같습니다.

  • 추후 구직 활동에 있어서 채용 담당자로 하여금 코드 스타일을 최대한 보여줄 수 있도록 구현 한다.
  • 개인적으로 DevOps 분야에서 부족하다고 느끼는 부분을 놀이터 삼아 해당 프로젝트에 적용하면서 공부한다.
  • 구현 완료 후, 다른 실 참가자들의 Public Repo를 통해 비교하며 학습하는 시간을 갖는다.

개발 회고록

구현 하면서 느낀 점, 어려웠던 점, 개선할 점 등을 정리해두었습니다.
link : 개발 회고록

프리온보딩 백엔드 인턴십 선발과제

제출 필수 사항

👉 Github Repository 주소를 제출해주세요.
👉 Repository 명은 “wanted-pre-onboarding-backend” 으로 생성 합니다.

  • 지원자들의 역량을 확인하기 위한 과제이며, 아래 요구사항을 만족한다면, 추가적인 기능 구현하시더라도 평가에 불이익 등 문제 없습니다. (사용자 인증, 권한 추가 또는 별도 기능
    추가 등)

과제안내

아래 서비스 개요 및 요구사항을 만족하는 API 서버를 구현합니다.
사용가능 언어 및 프레임워크: - Javascript & Node.js - Python & Django(DRF 권장) - Java & Spring - 중 택 1
※ 본 과제 수행 프레임워크는 추후 코스 팀 구성에 활용 됩니다. 참고하시고 코스수행을 희망하는 프레임 워크 선정 바랍니다.

서비스 개요

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

요구사항

  • 채용공고를 등록합니다.
    ➡️ 회사는 아래 데이터와 같이 채용공고를 등록합니다.

데이터 예시이며, 필드명은 임의로 설정가능합니다.

{
  "회사_id": 회사_id,
  "채용포지션": "백엔드 주니어 개발자",
  "채용보상금": 1000000,
  "채용내용": "원티드랩에서 백엔드 주니어 개발자를 채용합니다. 자격요건은..",
  "사용기술": "Python"
}  
  • 채용공고를 수정합니다.
    ➡️ 회사는 아래 데이터와 같이 채용공고를 수정합니다. (회사 id 이외 모두 수정 가능합니다.)

데이터 예시이며, 필드명은 임의로 설정가능합니다.

{
  "채용포지션": "백엔드 주니어 개발자",
  "채용보상금": 1500000,
  #
  변경됨
  "채용내용": "원티드랩에서 백엔드 주니어 개발자를 '적극' 채용합니다. 자격요건은..",
  #
  변경됨
  "사용기술": "Python"
}  

또는...

{
  "채용포지션": "백엔드 주니어 개발자",
  "채용보상금": 1000000,
  "채용내용": "원티드랩에서 백엔드 주니어 개발자를 채용합니다. 자격요건은..",
  "사용기술": "Django"
  #
  변경됨
}  
  • 채용공고를 삭제합니다.
    ➡️ DB에서 삭제됩니다.

  • 채용공고 목록을 가져옵니다.
    ➡️ 4-1. 사용자는 채용공고 목록을 아래와 같이 확인할 수 있습니다.

[
  {
    "채용공고_id": 채용공고_id,
    "회사명": "원티드랩",
    "국가": "한국",
    "지역": "서울",
    "채용포지션": "백엔드 주니어 개발자",
    "채용보상금": 1500000,
    "사용기술": "Python"
  },
  {
    "채용공고_id": 채용공고_id,
    "회사명": "네이버",
    "국가": "한국",
    "지역": "판교",
    "채용포지션": "Django 백엔드 개발자",
    "채용보상금": 1000000,
    "사용기술": "Django"
  },
  ...
]   

➡️ 4-2. 채용공고 검색 기능 구현(선택사항 및 가산점요소).

Example - 1) some/url?search=원티드

[
  {
    "채용공고_id": 채용공고_id,
    "회사명": "원티드랩",
    "국가": "한국",
    "지역": "서울",
    "채용포지션": "백엔드 주니어 개발자",
    "채용보상금": 1500000,
    "사용기술": "Python"
  },
  {
    "채용공고_id": 채용공고_id,
    "회사명": "원티드코리아",
    "국가": "한국",
    "지역": "부산",
    "채용포지션": "프론트엔드 개발자",
    "채용보상금": 500000,
    "사용기술": "javascript"
  }
]  

Example - 2) some/url?search=Django

[
  {
    "채용공고_id": 채용공고_id,
    "회사명": "네이버",
    "국가": "한국",
    "지역": "판교",
    "채용포지션": "Django 백엔드 개발자",
    "채용보상금": 1000000,
    "사용기술": "Django"
  },
  {
    "채용공고_id": 채용공고_id,
    "회사명": "카카오",
    "국가": "한국",
    "지역": "판교",
    "채용포지션": "Django 백엔드 개발자",
    "채용보상금": 500000,
    "사용기술": "Python"
  }
  ...
]  
  • 채용 상세 페이지를 가져옵니다.
    ➡️ 사용자는 채용상세 페이지를 아래와 같이 확인할 수 있습니다.
    “채용내용”이 추가적으로 담겨있음.
    해당 회사가 올린 다른 채용공고 가 추가적으로 포함됩니다(선택사항 및 가산점요소).
{
  "채용공고_id": 채용공고_id,
  "회사명": "원티드랩",
  "국가": "한국",
  "지역": "서울",
  "채용포지션": "백엔드 주니어 개발자",
  "채용보상금": 1500000,
  "사용기술": "Python",
  "채용내용": "원티드랩에서 백엔드 주니어 개발자를 채용합니다. 자격요건은..",
  "회사가올린다른채용공고": [
    채용공고_id,
    채용공고_id,
    ...
  ]
  #
  id
  List
  (선택사항
  
  가산점요소).
}  
  • 사용자는 채용공고에 지원합니다(선택사항 및 가산점요소).
    ➡️ 사용자는 채용공고에 아래와 같이 지원합니다.
    (가점 요소이며, 필수 구현 요소가 아님)
    사용자는 1회만 지원 가능합니다.
{
  "채용공고_id": 채용공고_id,
  "사용자_id": 사용자_id
}  

개발 시 참고 사항

  • 위 예시 데이터는 구현의 편의를 위해 제공되는 정보이며, 요구사항(의도)을 만족시킨다면 다른 형태의 요청 및 리스폰스를 사용하여도 좋습니다.

  • 필요한 모델: 회사, 사용자, 채용공고, 지원내역(선택사항) (이외 추가 모델정의는 자유입니다.)

  • 위 제공된 필드명은 예시이며, 임의로 생성 가능합니다.

  • 회사, 사용자 등록 절차는 생략합니다. (DB에 임의로 생성하여 진행)

  • 로그인 등 사용자 인증절차(토큰 등)는 생략합니다.

  • Frontend 요소(html, css, js 등)는 개발 범위에 제외됩니다. (구현시 불이익은 없지만, 평가에 이점 또한 없습니다.)

  • 명시되지 않은 조건또한 자유롭게 개발 가능합니다.

  • 필수 기술요건

    • ORM 사용하여 구현.
    • RDBMS 사용 (SQLite, PostgreSQL, MySql 등).
  • 평가 요소

    • 요구사항 구현정도
    • 모든 기능을 구현하지 않더라도 평가를 진행합니다.
    • 모델링
    • 코드 가독성 및 코드 컨벤션
    • 기술점수 가산점 요소
      • (제출시기 가산점과 달리 기술점수 5점 이내 포함되는 가산점 입니다.)
      • 가산점이 포함된 요구사항 해결(요구사항 5~6)
      • Unit Test 구현
      • README 에 요구사항 분석 및 구현 과정을 작성
      • Git commit 메시지

About

프리온보딩에 실제로 지원하지는 않지만, 이 레포지토리를 놀이터 삼아 다양한 주제에 대해 공부하고, 그 내용을 문서화할 계획입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published