Skip to content

AI-ary/AIary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

331 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 G-Diary 🎨

image

어른들의 동심을 찾아라!

방학숙제로 그리던 그림일기를 G-Diary에 그리자!
일기장과 그림은 내가 제공할게
스토리는 누가 짤래?

🧐 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 Backend, AI Backend Frontend, DevOps Frontend Frontend

Footer

About

📓 Capture and Share Your Memories With AIary

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors