무제한 실명 토론 서비스 Glosseum의 API 서버입니다.
- Python 3.11
- Docker & Docker Compose
- (Optional) Postgresql 14.0
- (Optional) Redis 6.2.5
dev
(default): 개발용 브랜치입니다feature/{description}
: 새로운 기능이 추가되는 경우에 사용refactor/{description}
: 기능 변경 없이 코드 리팩토링만을 하는 경우에 사용fix/{description}
:dev
브랜치로 반영하는 사소한 오류 수정 시에 사용hotfix/{description}
:prod
브랜치로 반영하는 긴급한 오류 수정 시에 사용
- default: Squash and merge
가상환경을 활성화하고 필요한 패키지를 설치합니다.
pip install -r requirements.txt
requirements.txt
파일의 패키지 목록을 변경한 경우, 아래 명령을 통해 requirements.txt
파일을 최신화합니다.
pip freeze > requirements.txt
Docker Compose를 활용하여 Postgresql, Redis 및 FastAPI 서버를 실행합니다.
docker-compose up
Database에 수정사항이 있는 경우 alembic를 사용하여 migration을 진행합니다.
alembic revision --autogenerate -m "{description}"
이후 docker-compose 실행 시 자동으로 docker-entrypoint를 통해 migration이 진행됩니다
-
prod
브랜치에는dev
브랜치에 존재하지 않는 파일이나 코드가 포함되어서는 안됩니다. -
prod
브랜치에는dev
브랜치에 존재하지 않는 패키지가 포함되어서는 안됩니다. -
prod
브랜치에는dev
브랜치에 존재하지 않는 환경변수가 포함되어서는 안됩니다. - 클라이언트 단에 user id와 같은 중요한 정보를 포함시켜서는 안됩니다. (무조건 유저네임을 기반으로 검색하도록)