좋아요(star), 구독(follow), 알람 설정(watch)까지.
- 스터디 클럽 페이지
- FastAPI 공식 문서 Tutorial user guide 스터디
- Mob programming (예정)
이 저장소와 projects/hello-graphql 디렉터리가 Boilerplate 구축을 위한 것.
- pyproject.toml 기반으로 Python Project 구성
- monorepo 느낌나게 패키지 분리
projects
: 프로젝트contrib
: 각 프로젝트에서 사용하는 공통 패키지
- poetry로 패키지 관리
Makefile
로 주요 명령어 관리- 프로젝트 단위로 관리하므로 프로젝트 디렉터리에 존재
- 각 프로젝트는
projects
디렉터리 안에 위치하며, 프로젝트 이름과 동일한 디렉터리에는 해당 프로젝트의 시스템 설정 파일이 위치. - 각 프르젝트를 구성하는 주요 단위는 앱(app)이며,
projects/<프로젝트>/apps
에 위치.projects/hello_graphql/apps/hello
는hello_graphql
프로젝트의hello
앱을 의미.
projects/hello_graphql/Makefile
파일을 기반은 명령어들.
make package-install
: Poetry 패키지 설치make package-update
: Poetry 패키지 업데이트make package-show
: Poetry 패키지 목록 보기
make runserver
: local 서버 실행. (http://127.0.0.1:8899
)make shell
: Poetry 패키지 의존 관계를 반영하여 Python shell 실행 (virtualenv처럼)
make test-apps
: apps의 모든 테스트 수행.make test-apps/hello
: hello app의 테스트만 수행.make cov-apps
: apps의 모든 테스트 수행. (coverage 검사 포함)make cov-apps/hello
: hello app의 테스트만 수행. (coverage 검사 포함)
make lint-check
: Black을 이용해 Lint 검사 수행.make lint-reformat
: Black을 이용해 Lint 검사하고 재구성(reformatting) 수행.
make config-venv
: Poetry virtualenv configuration 반영.
구동 환경 별로 settings 를 구성하려면 이 모듈에 작업.
LocalAppSettings
,TestAppSettings
: local, test 환경에 사용할 settings.EnvName
: 환경 이름.environments
:EnvName
과*AppSettings
를 짝지어놓은 객체.
*AppSettings
는 dot env 파일을 참조하여 설정을 override 함. *AppSettings.Config.env_file
참조.
- Configure a Poetry environment : PyCharm에 Poetry 설정.
- fastapi-realworld-example-app : 이 Boilerplate 를 만들 때 기반으로 삼은 boilerplate.