Lab-Semtle / semtle-web-server-v0.1

아치셈틀 웹 페이지 구축 프로젝트(서버, FastAPI) - v0.1
1 stars 0 forks source link

[BE-TASK] 서버 초기 환경 세팅 및 베이스 아키텍처 설계 #1

Open or-m-or opened 7 months ago

or-m-or commented 7 months ago

하위 Task 리스트

or-m-or commented 6 months ago

[ 24.05.10 주간 보고 ]

1. 수행한 작업

Docker을 사용하여 PostgreSQL 도입

  1. PostgreSQL을 사용하기 위해 Docker 사용 유무 판별

    • 로컬에 PostgreSQL을 다운받아서 사용하는 방법, Docker을 사용하여 PostgreSQL 이미지를 다운받아 사용하는 방법 중 협업을 위해 Docker을 사용하는 것이 더 적절하다고 판단. (추후 배포를 위해서라도)
  2. PostgreSQL 도커 이미지를 내려받고 컨테이너 생성

    • 추후 여러개의 컨테이너를 사용할 것을 대비하여(Rebbitmq, FastAPI 도커 이미지화 등) docker-compose 사용
  3. 도커 실행 후 FastAPI 서버 실행하면 model.py에 선언된 모델을 토대로 테이블을 생성시키기 위해 main.py 수정

    • alembic으로 자동화 할 수 있으나 비동기 데이터베이스를 지원하지 않음 (시도해본 후 철회)

추가 작업

  • session.py에서 하드코딩된 내용 config.py으로 이동
  • 테스트를 위해 user API 작성 (현재 Read 만 구현)

2. 진행 예정 작업

  1. 현재 동기 데이터베이스 설정되어 있음. -> 비동기 데이터베이스로 변경
  2. Http 상태코드 커스텀 작업
or-m-or commented 6 months ago

[ 24.05.17 주간 보고 ]

1. 수행한 작업

[1] http 상태코드 커스터마이징 베이스 코드 작성 완료

  1. HTTP 에러 상태 코드와 그에 대응하는 메시지 재정의
  2. HTTP 성공 응답 코드와 그에 대응하는 메시지 재정의
    • API 개발에 따라 보완 필요

[2] logging 시스템 구성 완료

logger = logging.getLogger(name)

- 이후 본인이 작성 중인 라우터 함수 내부에 아래 코드 추가
```python
logger.info(" [라우터 호출 시 출력하고 싶은 문장 작성] " )

[3] 비동기 데이터베이스 전환 완료

[4] API 개발 시 참고할 예시 API(example) 작성 완료