유저 관리 서버
- Django - Python 웹 애플리케이션 프레임워크
- Django Rest Framework - RESTFul Web API
- Django Rest Swagger - Django Rest Framework을 위한 문서 생성기
python 3.10.8 이상
User Manager API Server를 실행하려면 python 3.10.8 이상이 필요합니다.
종속 패키지를 설치합니다.
$ pip3 install virtualenv
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
기본 설정 파일을 사용한 서버 시작 방법은 아래와 같습니다.
$ python manage.py migrate
$ python manage.py runserver
특정 설정 파일을 사용한 서버 시작 방법은 아래와 같습니다.
환경변수 RUNNING_ENV의
값을 참조하여 적용되며 local
, stage
, production
4가지가 있습니다.
각 설정 파일의 정의는
settings
폴더에 들어있으며, 비밀번호와 같은 노출되면 위험한 설정값의 경우settings
폴더의secrets.json
파일에 정의 합니다.
$ export RUNNING_ENV=production
$ python manage.py runserver
서버 실행 후, 사용하는 브라우저에 서버 주소를 입력하여 동작을 확인합니다.
http://127.0.0.1:8000
User Manager API Server는 Docker 컨테이너로 설치하고 배포가 가능합니다.
기본적으로 이 프로젝트에 적용된 Docker는 포트 80, 443을 노출하고 있습니다. 빌드 준비가 되면 Dockerfile을 사용하여 이미지를 빌드합니다.
# INTEL 아키텍쳐
$ docker build -t user_manager .
# M1 아키텍쳐
$ docker build -t user_manager --platform=linux/amd64 .
빌드가 정상적으로 끝났을때, 빌드된 Docker 이미지를 기반으로 컨테이너를 생성합니다. 컨테이너 생성시 컨테이너에 접속할 포트를 호스트 포트와 매핑합니다. 이 예제에서는 호스트포트 8000을 컨테이너 포트 80(또는 Dockerfile에 노출된 포트)로 매핑합니다.
$ docker run -d -p 8000:80 user_manager
컨테이너가 정상적으로 생성된 경우, 사용하는 브라우저에 서버 주소를 입력하여 동작을 확인합니다.
127.0.0.1:8000
API에 대한 문서는 swagger를 통해 자동생성되도록 되어있습니다.
각 API는 버전
이 존재하며 버전의 룰은 "v{version}"
으로 적용됩니다.
예) v1, v2, v3 ...
Swagger API 문서 주소는 /api/v{version}/docs
입니다.
예) /api/v1/docs