- 과제 출제 기업 정보
- 기업명 : 휴먼스케이프
- 휴먼스케이프
- wanted 채용공고 링크
- 과제 수행 기간(2021.11.15 ~ 2021.11.17)
이름 | github | 담당 기능 |
---|---|---|
신재민 | shinjam | 테스트 코드 |
신우주 | shinwooju | 임상정보 확인 및 검색, 배포 |
강성묵 | miranaky | 임상정보 수집 |
김민규 | SkyStar-K | 임상정보 최근 리스트 |
최혜림 | rimi0108 | 개인 사정으로 불참 |
http://54.180.94.60/api/v1/humanscape/
자세히
- READ.ME 작성
- 프로젝트 빌드, 자세한 실행 방법 명시
- 구현 방법과 이유에 대한 간략한 설명
- 완료된 시스템이 배포된 서버의 주소
- 해당 과제를 진행하면서 회고 내용 블로그 포스팅
- Swagger나 Postman을 이용하여 API 테스트 가능하도록 구현
- ORM 사용 필수
- 데이터베이스는 SQLite로 구현
- secret key, api key 등을 레포지토리에 올리지 않도록 유의
- README.md 에 관련 설명 명시 필요
- 배포하여 웹에서 사용 할 수 있도록 제공
- 임상정보 검색 API 제공
다음 사항들을 충족하는 서비스를 구현해주세요.
- 임상정보를 수집하는 batch task
- 참고: 공공데이터
- 수집한 임상정보에 대한 API
- 특정 임상정보 읽기(키 값은 자유)
- 수집한 임상정보 리스트 API
- 최근 일주일내에 업데이트(변경사항이 있는) 된 임상정보 리스트
- pagination 기능
- 최근 일주일내에 업데이트(변경사항이 있는) 된 임상정보 리스트
- Test 구현시 가산점이 있습니다.
-
질병관리청_임상연구 과제정보 에서 제공하는 데이터를 수집합니다.
-
공공데이터API에서 임상연구 과제정보를 받아옵니다.
- 새로운 데이터가 발견되면 저장합니다.
- 기존 데이터가 변경되면 업데이트 합니다.
-
주기적으로 데이터를 받아옵니다.
- django-crontab을 활용하여 주기적으로 데이터를 확인합니다.(매주 일요일 0시15분,12시15분)
- 확인 시 데이터가 변경되면 그에 맞게 생성/업데이트 합니다.
- 공공데이터API에서 DB로 받아온 데이터를 불러옵니다.
- pk값 : project_number (과제번호)를 pathParameter로 받아와서 데이터를 불러옵니다.
- 공공데이터API에서 수집한 데이터 중 최근 1주일 동안에 변경되거나 새롭게 생성된 데이터 리스트를 보여줍니다.
- 데이터는 10개씩 보여줍니다.
- query parameter로 'project_name'을 받아 과제명을 검색하면 필터링해줍니다.
- 검색결과 값이 없다면 전체 리스트를 불러옵니다.
- 데이터는 10개씩 보여줍니다.
$ pytest --disable-pytest-warnings -v
$ pytest --cov
$ git clone https://github.com/JE6BOKM/Humanscape.git && cd Humanscape
$ poetry install
#원하는 secret key 넣어서 사용.
$ export DJANGO_SECRET_KEY=a4+-6ld_4l2-fig_6j4ecr8xtxkf6y@9p%569ejaid**0
#data.go.kr 에서 받은 일반 인증키(Encoding) 사용
$ export DATA_SECRET_KEY={your_secretKey}
$ poetry run python manage.py makemigrations
$ poetry run python manage.py migrate
$ poetry run python manage.py createsuperuser
$ poetry run python manage.py api
$ poetry run python manage.py runserver
$ git clone https://github.com/JE6BOKM/Humanscape.git && cd Humanscape
#두 파일에 접속 환경 변수 설정
$ ls -a .envs
.envs/.prod.django
.envs/.prod.postgres
# docker/compose/prod.yml 파일에 API_HOST setting
# docker-compose를 사용하여 배포
$ docker-compose -f docker/compose/prod.yml up --build -d
이 프로젝트는 원티드x위코드 백엔드 프리온보딩 과제 일환으로 휴먼스케이프에서 출제한 과제를 기반으로 만들었습니다.