마이모지는 감정이들을 통한 일상 기록 및 감정 분석 서비스입니다
- Naver Clova Studio의 챗봇 AI를 커스터마이징 하여 사용자가 작성한 글에 맞는 감정들의 반응들을 보여준다
- "이달의 감정 리포트" 을 통해서 해당 달에 사용자가 어떤 감정을 가졌는지 해당 감정을 잘 활용하기 위해서는 어떻게 해야하는지에 대한 지침을 제공한다
- 현진우, 장준형
- FastAPI
- postgresql
- Naver Cloud
- Naver Clova Studio
- python = "^3.10"
- poetry = "^1.8.2"
$ git clone <git-repository>
$ cd <git-repository>
$ pip install poetry
$ poetry install
# src 디렉토리를 python path에 추가
$ export PYTHONPATH=$PYTHONPATH:$(pwd)/src
$ docker run -d \
--name postgres-container \
--restart always \
-v app-db-data:/var/lib/postgresql/data/pgdata \
-p 5432:5432 \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-e POSTGRES_DB=app \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=4ten006! \
postgres:12
$ alembic revision --autogenerate -m "commit message"
$ alembic upgrade head
# 임시로 core/db.py 에 추가된 모델을 등록해야합니다.
def init_db(session: Session) -> None:
User.metadata.create_all(engine)
Test.metadata.create_all(engine)
- 환경변수
ENVIORNMENT=test
로 설정 후 실행해야 테스트 데이터베이스를 사용합니다. (sqlite)
.
├── LICENSE
├── READEME.md
├── alembic.ini
├── poetry.lock
├── pyproject.toml
├── scripts
│ ├── format.sh
│ └── lint.sh
└── src
├── __init__.py
├── main.py # FastAPI app
├── alembic # 데이터베이스 마이그레이션
├── api # API 라우터
│ ├── __init__.py
│ └── v1
│ ├── __init__.py
│ ├── deps.py
│ ├── endpoints
│ │ ├── __init__.py
│ │ ├── auth.py
│ │ └── users.py
│ └── router.py
├── core # 핵심 로직
│ ├── __init__.py
│ ├── config.py
│ ├── db.py
│ ├── exceptions.py
│ ├── oauth_client.py
│ └── security.py
├── cruds # 데이터베이스 CRUD
│ ├── __init__.py
│ └── users.py
├── models # 데이터베이스 모델
│ ├── __init__.py
│ ├── auth.py
│ ├── common.py
│ └── users.py
└── utils # 유틸리티 함수
└── utils.py