키즈노트 BE개발 사전과제 repository입니다.
안녕하세요
키즈노트 백엔드에 관심을 가지고 지원해 주셔서 감사합니다. 🤗
사전과제는 테스트의 목적이 아닌 지원자 분의 개발 스타일을 사전에 알아보고 맞춰가기 위해 요청드립니다.
팀원과 협업을 한다는 생각으로 작업을 해 주시면 됩니다.
정답이 따로 있지는 않기에 편하게 작업해 주세요. 😄
상세 진행 방법은 다음과 같습니다.
- 도메인 요구사항을 읽고 어떤 내용의 작업을 진행하면 되는지 확인해 주세요.
- 기술적 요구사항에서 구현 시 기술적으로 어떤 점을 고려하면 되는지 확인해 주세요.
- 과제 repository에서 자신의 github으로 fork 해 주세요.
- 과제는 DB와 Model 설계, API를 개발하시면 됩니다.
- 작업이 완료되면 이메일로 개인 repository 링크를 첨부해 회신해 주세요.
주소록과 연락처 상세 내용을 구현해 주세요.
Google의 주소록(https://contacts.google.com)을 참고해 주시면 이해가 편할 것 같습니다.
- 주소록
- 목록
- 목록에 출력될 필드는 다음과 같습니다.
- 프로필 사진
- 이름
- 이메일
- 전화번호
- 회사 (직책)
- 라벨
- 정렬
- 기본 출력은 등록 순서대로 정렬합니다.
- 이름, 이메일, 전화번호 중 하나를 선택하여 정렬할 수 있습니다.
- 정렬은 오름차순/내림차순/해제 순입니다.
- 페이징
- 스크롤 페이징 처리가 되도록합니다.
- 목록에 출력될 필드는 다음과 같습니다.
- 연락처 (상세보기/입력)
- 입/출력 필드는 다음과 같습니다.
- 프로필 사진 : url 입력 방식
- 이름
- 이메일
- 전화번호
- 회사
- 직책
- 메모
- 라벨
- 사용자 정의 라벨
- 연락처 1개에 라벨 다수 연결 가능
- 기타 항목 추가
- 주소
- 생일
- 웹사이트
- 입/출력 필드는 다음과 같습니다.
- 목록
기술적 요구사항은 다음과 같습니다.
- 환경
- python : 3.10 이상
- django : 4.2 이상
- django-rest-framework : 3.14 이상
- MySQL or SQLite (택1)
- 기타 필요한 패키지 사용 가능하며,
requirements.txt
에 추가
- Backend
- django ORM의 model을 이용해 주세요.
- 디렉터리 구조는 본인이 생각하는 Best Practice로 구성해 주세요.
- RESTfull 하게 API를 설계해 주세요.
- Database
- DB는 MySQL 또는 SQLite를 사용해 주세요.
/db
디렉터리에 설계한 스키마 및 데이터를 정의해 주세요- schema.sql : DB 스키마를 CREATE 문으로 작성해 주세요
- data.sql : 기본 데이터가 필요하다면 INSERT 문으로 넣어주세요
- 설계하신 ERD가 있으시면
/db
디렉터리 안에 추가해 주시면 도움이 될 것 같습니다. (선택사항
)
- 기타 (
선택사항
)- 선택사항으로 작성하실 경우에만 확인합니다.
- swagger
- test code
- 선택사항으로 작성하실 경우에만 확인합니다.