writinghub api server
- Swagger: https://dev-api.writinghub.app/docs
- ERD: https://www.erdcloud.com/d/eYXit3bhdgwqKQPys
- Trello: https://trello.com/b/eZ1pFOtT/writinghubbackend
Pycharm 기준
가상 환경 생성
File > Settings > Project > Python Interpreter > Add... > Virtualenv > Python3.8
필요 라이브러리 설치
Terminal > "pip install -r requirements.txt" 명령어 입력
환경 변수 설정
컴파일 : Edit Configurations > Environment variables
콘솔 : File > Settings > Build, Excution, Deployment > Console > Python Console > Environment variables
터미널 : File > Settings > Tools > Terminal > Environment variables
Github
├─app
│ ├─common
│ ├─database
│ ├─errors
│ ├─helper
│ ├─middlewares
│ ├─routes
│ └─utils
| main.py
| models.py
└─tests
conftest.py
test_{}.py
- common: 변수의 정의
- database: DB연결 및 스키마 정의
- errors: 에러 케이스 정의 및 에러 반환값 정의
- helper: API 비즈니스 로직 처리 모듈
- middlewares: 미들웨어 관리
- routes: 라우터 정의
- utils: 유틸 함수 정의
- tests: pytest 사용을 위한 폴더
- models.py: API response model, requests body 정의
- main.py: 웹 서버 실행 관리
- 지역 변수, 함수, 모듈명은 snake case 사용
- class는 camle case 사용
- 전역 변수는 대문자와 _ 를 사용해 작성 (예시, MYSQL_URL)
- Python 3.8
- FastAPI
- AWS RDS(Mysql)
- AWS Elastic Beanstalk
- Docker
타입(Type)
Feat - 새로운 기능 추가
Fix - 버그 수정
Ci - CI관련 설정 수정
Docs - 문서 (문서 추가, 수정, 삭제)
Style - 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없는 경우)
Refactor - 코드 리팩토링
Test - 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없는 경우)
Chore - 기타 변경사항
제목(Subject)
제목은 50자를 넘기지 않고, 마침표를 붙이지 않습니다.
제목에는 commit 타입을 함께 작성합니다.
과거 시제를 사용하지 않고 명령조로 작성합니다.
제목과 본문은 한 줄 띄워 분리합니다.
제목의 첫 글자는 반드시 대문자로 씁니다.
제목이나 본문에 이슈 번호(가 있다면) 붙여야 합니다.
본문(Body)
선택 사항이기에 모든 commit에 본문 내용을 작성할 필요는 없습니다.
한 줄에 72자를 넘기면 안 됩니다.
어떻게(How)보다 무엇을, 왜(What, Why)에 맞춰 작성합니다.
설명뿐만 아니라, commit의 이유를 작성할 때에도 씁니다.
꼬리말(Footer)
선택 사항이므로 모든 commit에 꼬리말을 작성할 필요는 없습니다.
Issue tracker ID를 작성할 때 사용합니다.
Resolves: 이슈 해결 시 사용
Related to: 해당 commit에 관련된 이슈 번호
Ref: 참고할 이슈가 있는 경우 사용
Fixes: 이슈 수정중
예시
Feat: 유저 등록 비즈니스 로직 추가
유저 등록 비즈니스 로직 추가
- app/helper/users.py: 유저 정보를 입력받아 DB에 저장하는 비즈니스 로직 추가
Resolves: #123