Pre-onboarding 002 | Freshcode 회고

This Is Empty.·2021년 11월 11일
0

wanted-pre-onboarding

목록 보기
3/8
post-thumbnail

프레시코드(Freshcode)

github repository

  • 진행 기간 : 2021.11.04 pm 16:00 ~ 2021.11.06 am 10:00
  • 기술 스택 : Django@3.2.9, mysql@5.7, python3.8
  • 과제 요구사항
  • Database 는 RDBMS를 이용합니다.

  • 로그인 기능

    • JWT 인증 방식을 구현합니다.
      - 사용자 인증을 통해 상품 관리를 할 수 있어야 합니다.
      • 구현
        • JWT 인증 방식을 이용합니다.
        • 서비스 실행시 데이터베이스 또는 In Memory 상에 유저를 미리 등록해주세요.
        • Request시 Header에 Authorization 키를 체크합니다.
        • Authorization 키의 값이 없거나 인증 실패시 적절한 Error Handling을 해주세요.
        • 상품 추가/수정/삭제는 admin 권한을 가진 사용자만 이용할 수 있습니다.
      • 사용자 인증 / 인가
  • 상품 관리 기능
    - 아래 상품 JSON 구조를 이용하여 데이터베이스 및 API를 개발해주세요.
    - 구현
    - 서비스 실행시 데이터베이스 또는 In Memory 상에 상품 최소한 5개를 미리 생성해주세요.
    - 상품 조회는 하나 또는 전체목록을 조회할 수 있으며, 전체목록은 페이징 기능이 있습니다.
    - 한 페이지 당 아이템 수는 5개 입니다.
    - 사용자는 상품 조회만 가능합니다.
    - 관리자는 상품 추가/수정/삭제를 할 수 있습니다.
    - 상품 관리 API 개발시 적절한 Error Handling을 해주세요.

  • 과제 필수 포함사항

    • Swagger나 Postman을 이용하여 API 테스트 가능하도록 구현
      • Swagger 대신 Postman 이용시 API 목록을 Export하여 함께 제출해 주세요
    • READ.ME 작성
      • 프로젝트 빌드, 자세한 실행 방법 명시
      • 구현 방법과 이유에 대한 간략한 설명
      • 완료된 시스템이 배포된 서버의 주소
      • Swagger를 통한 API 테스트할때 필요한 상세 방법
      • 해당 과제를 진행하면서 회고 내용 블로그 포스팅

Review

이번 과제에서는 배포와 Readme 작성을 담당하게 되었습니다. 과제의 규모가 그리 크지 않은데 인원은 6명이니 담당하는 부분은 적어질 수 밖에 없었습니다.

원래 주로 배포하던 방식인 AWS(EC2 + RDS) 조합이 아닌 Docker로 배포하는 것을 이번 과제의 도전으로 삼았습니다. 결과부터 말하자면 Docker로 배포하는것은 실패했습니다..(시간 부족으로 계속 오류나는 Docker에 힘을 쏟기 보다는 기존방식으로 배포를 마무리 지었습니다.)

Docker로 배포하는 것은 처음이였기때문에 Docker-compose 파일 작성하는 법 부터 어려움을 겪었던 것 같습니다. 로컬환경에서 docker-compose가 잘 동작하는 것 까지 확인하고 EC2에 띄우니 manage.py도 못찾고.. 환경변수도 못찾고.. 못찾는게 한 두가지가 아니였..

제 욕심으로 밀고가기에는 시간적인 한계가 있었기때문에 결국에는 EC2+RDS 조합으로만 배포를 하게 되었습니다.

docker의 문제가 한두가지가 아니였는지...(?) 또 다른 문제가 있었는지 모르겠지만 이번에는 ubuntu접속에만 한나절이 걸리는.. 속터지는 상황도 발생했기때문에 새로 EC2컨테이너를 설정하고 어찌저찌 배포를 마무리 지었습니다.

이번 과제를 진행하면서 얻은 것은

  • 도커 공부를 하자.

다음 과제에서는 보다 잘 준비해서 꼭 docker로 배포하는 것을 성공시키고 싶습니다.

profile
Convinced myself, I seek not to convince.

0개의 댓글