기술 스택 - PartyGwam/api GitHub Wiki
파티원괌 REST API 개발 가이드
에디터
- PyCharm
- Visual Studio Code
.editorconfig
을 활용하여 관리
- Tab 은 4 Spaces 로 통일
- JSON / YAML 및 기타 파일들은 2 Spaces 로 통일
- PEP 8 에 맞춰서 코드 스타일 규정 (
autopep8
에 맞춰서 포맷팅)
언어 및 프레임워크
기본적인 사항
- Python / Django + Django Rest Framework 사용
API 문서화
- Django Rest Swagger 이용하여 자동으로 생성
- 부족한 부분은 docstring 을 자동으로 문서화해주는 DRF 내장 기능 사용 + 초반에 스펙 정의한 Wiki 를 참고
기타 Third-party 라이브러리
- Django REST Framework 의 token authentication 이 문제가 될 경우, JWT Auth 를 위한 라이브러리가 사용될 수 있음.
asyncio
,aiohttp
,celery
를 활용한 비동기 처리- "이메일 전송" 관련한 라이브러리가 추가로 사용될 수 있음.
- AWS Lambda 배포를 위한
zappa
데이터베이스
- 로컬 환경 + 테스트 환경의 경우 in-memory 데이터베이스인
sqlite
사용 - 스테이징(heroku), 그리고 프로덕션(aws) 의 경우,
postgres
사용
서버 호스팅
- 스테이징 서버(프로덕션 나가기 전에 최종 테스트 서버) 인 경우에,
heroku
사용 - 프로덕션 서버에서는
AWS Lambda
사용 (zappa
를 활용하여 배포)
CI
CircleCI
(제가 이것밖에 쓸 줄을 몰라요ㅠㅠ) 를 활용하여 최대한 모든 작업들을 자동화coveralls
를 활용하여 유닛 테스트 커버리지 측정
API 스펙 및 일정 산정
대략적인 일정은 다음과 같습니다.
- 6/30 : API 스펙 확정 및 배포 설정 완료
- 7/7 : User API 구현 완료 (발표용)
- 7/14 : 모든 기능 구현 완료 및 스테이징 배포
- ~ 7/21 : 모든 QA 대응 완료 및 프로덕션 배포