Skip to content
/ docker Public

πŸ““ Capture and Share Your Memories With AIary

Notifications You must be signed in to change notification settings

AI-ary/docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

810b6ab Β· Jun 29, 2023

History

5 Commits
Jun 27, 2023
Jun 27, 2023
Jun 29, 2023
Jun 27, 2023
Jun 27, 2023
Jun 29, 2023
Jun 27, 2023
Jun 27, 2023
Jun 27, 2023

Repository files navigation

🎨 AIary 🎨

μ–΄λ₯Έλ“€μ˜ 동심을 찾아라!

λ°©ν•™μˆ™μ œλ‘œ 그리던 그림일기λ₯Ό AIary에 그리자!
일기μž₯κ³Ό 그림은 λ‚΄κ°€ μ œκ³΅ν• κ²Œ
μŠ€ν† λ¦¬λŠ” λˆ„κ°€ 지래?

🧐 Introduce


image
일기λ₯Ό μž‘μ„±ν•΄ μ €μž₯ν•΄λ³΄μ„Έμš”
일기μž₯μ—μ„œ ν‚€μ›Œλ“œλ₯Ό μΆ”μΆœν•΄ 그림일기에 μ‚¬μš©ν•  그림을 μ œκ³΅ν•©λ‹ˆλ‹€
이 세상에 단 ν•˜λ‚˜λ°–μ— μ—†λŠ” κ·Έλ¦Ό 일기λ₯Ό μž‘μ„±ν•΄λ³΄μ„Έμš”

πŸ”— www.gdiary.org

πŸ““ medium




πŸ‘Ύ System Architecture


image




🌈 Feature


JWTλ₯Ό μ΄μš©ν•œ νšŒμ›κ°€μž…, 둜그인

image

image



컀버사진 λ³€κ²½ 및 μ‹œμž‘

image



μΌκΈ°μž‘μ„±

일기λ₯Ό μž‘μ„±ν•˜κ³  <κ·Έλ¦Όκ°€μ Έμ˜€κΈ°> λ₯Ό λˆ„λ¦…λ‹ˆλ‹€. AI 둜 ν‚€μ›Œλ“œλ₯Ό μΆ”μΆœν•˜μ—¬ 이미지λ₯Ό 좜λ ₯λ©λ‹ˆλ‹€.
그림을 μ„ νƒν•˜κ±°λ‚˜ <그림그리기>둜 직접 그릴 수 μžˆμŠ΅λ‹ˆλ‹€.
image

μΊ˜λ¦°λ”λ‘œ 일기 쑰회

image



μž‘μ„±λ°©λ²• 및 μ†Œκ°œ

image




πŸ“Ή Demo

Video Label




πŸ’» Tech Stack


- Frontend: React, Zustand 
- Backend : Django, Django-Rest-FrameWork
- Web Server: Nginx, 
- Asynchronous: Celery, Rabbitmq
- WSGI: Gunicorn
- Database: AWS RDS MySQL
- AI : KoNLPy
- Deployment: Docker, AWS EC2, AWS S3 bucket
- API Test : Postman
- API Documentation : Swagger
- Monitoring : prometheus, grafana
- Others: Github, Notion, Zoom, Slack, Figma




🎯 ERD


image




πŸ“• API


image

  • api/v1/auth : μ‚¬μš©μž 정보 확인, 둜그인, λ‘œκ·Έμ•„μ›ƒ
  • api/v1/users : μ‚¬μš©μž 컀버 이미지 λ³€κ²½
  • api/v1/results : κ²°κ³Ό ν‚€μ›Œλ“œ 별 이미지 쑰회
  • api/v1/text/ : μΌκΈ°λ‚΄μš© ν‚€μ›Œλ“œ μΆ”μΆœ (AI)
  • api/v1/join : νšŒμ›κ°€μž…
  • api/v1/diaries : 일기 λͺ©λ‘ 쑰회, 등둝, 쑰회



Monitoring


node exporter Django
image image



🐳 How to start


1. clone the repository

git clone https://github.com/2023-SV-winter-bootcamp-G-Diary/G-Diary.git


2. Set environment file

Path: G-Diary/backend/config/my_settings.py
Django secret key & MySQL ν™˜κ²½λ³€μˆ˜ & S3 bucket

from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent


MY_SECRET = {
    "SECRET_KEY" : ''
}

MY_DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME' : '', 
        'USER' : '',
        'PASSWORD' : '', 
        'HOST': '', 
        'PORT': '3306', 
        'OPTIONS':{
            'init_command' : "SET sql_mode='STRICT_TRANS_TABLES'"
        }
    }
}

MY_AWS_ACCESS_KEY_ID = {
    "AWS_ACCESS_KEY_ID" :''
}
MY_AWS_ACCESS_ACCESS_KEY = {
    "AWS_SECRET_ACCESS_KEY" : ""
}
MY_STORAGE_BUCKET_NAME = {
    "BUCKET_NAME" : ""
}

Path: /G-Diary/backend/.env MySQL container ν™˜κ²½ λ³€μˆ˜ & RabbitMQ ν™˜κ²½λ³€μˆ˜
DEBUG=False
MYSQL_DATABASE=
MYSQL_ROOT_PASSWORD=
MYSQL_PORT=3306
TZ=Asia/Seoul
RABBITMQ_HOST=
RABBITMQ_USER=
RABBITMQ_PASSWORD=
RABBITMQ_VHOST=

Path: /G-Diary/frontend/.env.local
μΉ΄μΉ΄μ˜€ν†‘ κ³΅μœ ν•˜κΈ° ν™˜κ²½λ³€μˆ˜ (ν˜„μž¬ λ‘œμ»¬μ—μ„œλ§Œ κ°€λŠ₯)
REACT_APP_KAKAO_KEY=''

Path: /G-Diary/.env
RabbitMQ ν™˜κ²½λ³€μˆ˜
RABBITMQ_HOST=
RABBITMQ_USER=
RABBITMQ_PASSWORD=
RABBITMQ_VHOST=


3. Run

docker-compose -f docker-compose.prod.yml up --build



πŸ‘¨β€πŸ’» Members


박희경 이민지 μž„κ΄‘μˆ˜
Leader, Backend, DevOps Frontend, DevOps Frontend

Footer

About

πŸ““ Capture and Share Your Memories With AIary

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published