Skip to content

DreamIn-Developer/server

Repository files navigation

Dreamin_server

현재 개발중인 단계입니다.(api:80%, devops:50%)


기술 스택

Back-end

Database

IDE tools

Deplpyment


api 명세 관리

클라이언트에서의 테스트 편리성을 위해 postman을 통해 관리

  • api document
  • api document
  • api document

트러블 슈팅

  • 이미지 관련
    • 기존엔 form-data형식으로 이미지 파일 및 추가 요청 데이터를 받아 서버에서 이미지를 s3에 저장하는 방식이였습니다.
    • 하지만 여러개의 이미지 처리에서의 문제 및 다른 api과 비교했을때 image를 포함한 request는 json을 포함하지 않은 request는 form-data 혼용하게 되는 문제가 생겼습니다.
    • 결과적으로, 클라이언트에서의 요청전 image를 직접 s3에 저장후 서버로 이미지의 url을 전달해주는 방식으로 변경하였습니다.

실행 방법

  • .env 파일 생성(우선 적으로 이뤄져야함)
SECRET_KEY='{django unique key}'
AWS_S3_ACCESS_KEY_ID='{엑세스 키 ID}'
AWS_S3_SECRET_ACCESS_KEY='{비밀 엑세스 키}'
AWS_STORAGE_BUCKET_NAME='{bucket_name}'
  • 로컬 환경
$ git clone https://github.com/DreamIn-Developer/server.git
$ pip install requirements.txt
$ python manage.py migrate
$ python manage.py runserver
  • 배포 환경
$ git clone https://github.com/DreamIn-Developer/server.git
root 위치에 nginx 하위 conf.d 생성
$ sudo docker-compose up -d
  • nginx/conf.d
server {
        listen 80;
        server_name ~~;
        charset utf-8;

        error_log /var/log/nginx/error.log;

        location / {
                proxy_pass ~~;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /static/ {
                autoindex on;
                alias /static/;
        }
}

Releases

No releases published

Packages

No packages published

Languages