이미지 자동 Crop 앱에 사용될 이미지를 처리하고 객체 인식 데이터를 제공하는 로컬 서버입니다.

할 줄 아는 것이 Python 뿐이었던 저는 이미지 처리 Python으로 개발을 시작습니다. 그런데 서버를 Spring으로 구축하게 된 것이죠. java로 모조리 새로 구현하기는 싫었던 저는, 기존 코드를 기반으로 로컬 서버를 구축하고, Spring 서버가 API를 통해 이 것과 통신을 하도록 했습니다. 이런 것을 마이크로 서비스 아키텍처(Micro Service Architecture)라고 하더군요.
아무튼, 해당 서비스는 이미지 자동 Crop 앱을 위한 로컬 마이크로 서비스입니다.
## Requirements
작업 디렉토리를 `image_processing_app`로 변경하고 아래 명령어를 실행합니다.
```bash
pip install-r requirements.txt
```
## 실행 방법
작업 디렉토리를 `image_processing_app/src`로 변경하고 아래 명령어를 실행합니다. 하지만 실행에 앞서 .env를 통해 환경 변수를 등록해야 합니다. 아래를 참고하세요.
```Bash
python app.py
```
## Docker를 이용한 실행
Docker를 이용하면, 별도의 패키지 설치나 작업 디렉토리 변경없이 서버를 실행할 수 있습니다. 하지만 실행에 앞서 .env를 통해 환경 변수를 등록해야 합니다. 아래를 참고하세요.
작업 디렉토리 `image_processing_app/src`에 `.env` 파일을 배치합니다.
### Docker 이미지를 pull 해서 실행하는 경우
`docker run`을 실행하는 작업 디렉토리에 `.env` 파일을 배치합니다.
## Google API키 등록 방법
위의 과정을 전부 따라도 FaceDetection API를 사용하는 것은 불가능합니다. Google API service key를 발급받고, 이를 배치해야 하기 때문입니다. `https://console.cloud.google.com/`에서 서비스를 등록하고, service key를 발급받을 수 있습니다.