Skip to content
@sungnam-team-b

zoodiac

십이지신으로 보는 운세

http://ec2-3-38-109-64.ap-northeast-2.compute.amazonaws.com/

사용자의 얼굴 이미지를 분석해 닮은 십이지신을 알려주는 서비스

System Architecture

Features

  • Main Feature: 사용자가 업로드한 이미지를 AI가 분석해 닮은 동물 정보를 제공
  • Additional Feature: 운세 제공

Main Login
비회원, 회원을 선택하여 진행할 수 있습니다 회원로그인을 선택한 페이지입니다.
Signup Upload the Image
회원가입 페이지 입니다. 사진을 업로드 하시면 AI가 사진을 분석합니다.
The results of Zoodiac Fortune page
AI가 분석한 상위 3개의 결과를 그림과 함께 보여줍니다. 참여한 유저들의 그림과 함께 선택했던 단어의 유사도를 기준으로 순위를 매겨 보여줍니다.
Mypage Ranking page
로그인한 계정들로 분석한 결과를 전부 확인 할 수 있습니다. 참여한 유저들의 분석 결과를 유사도를 기준으로 순위를 매겨 보여줍니다.

URL

  • /       → Startpage
  • /Signinpage → Login page
  • /Signuppage →Signuppage
  • /Mainpage → upload your image
  • /Resultpage → show your result
  • /Rankpage → show rank
  • /Intropage → tell the fortune

Backend API

users api

  • api/v1/users/
    • GET : 회원가입 시 아이디, 닉네임 중복 체크 결과
    • POST : 회원 가입 정보 저장
  • api/v1/users/auth
    • POST : access token, refresh token 갱신

animals api

  • api/v1/animals/animalist
    • GET : 모든 십이지신 운세 정보
  • api/v1/animals/rank
    • GET : 가장 십이지신과 닮은 사람들의 랭킹 (기간 : 일주일)
  • api/v1/animals/user/{user_id}
    • POST : 사용자가 업로드한 사진 분석하는 task id
  • api/v1/animals/user/{user_id}/tasks/{task_id}
    • POST : task id을 이용한 사진 분석 결과
  • api/v1/animals/user/{user_id}/mypage
    • GET : 사용자가 올린 사진들에 대한 정보

AI, Dataset

Tech Stack

Frontend Backend AI DevOps Etc
JavaScript
React
TailwindCSS
axios
Redux
Python Flask
MySQL AmazonS3
Swagger
Gunicorn
Redis
Tensorflow
Keras
Celery
RabbitMQ
OpenCV
Nginx
AWS
Docker
Postman Git
Grafana Prometheus

Initialization

  • clone the repository
$ git clone https://github.com/sungnam-team-b/docker.git
$ git submodule foreach git pull origin main
$ git submodule update
delete docker-compoes.yaml at backend folder
$ cd docker

1) Docker

  • docker compose build and up
$ docker-compose up --build

2) Local execution

$ cd docker/frontend
$ npm start
$ cd ../backend/backend
$  python manage.py runserver

JWT

  • used_library

    • djangorestframework-jwt
  • JWT_Settings.py

    • set JWT’s default_settings

  • JWT on frontEND

    • 리덕스를 활용하여 refresh token과 access token을 보관합니다.
    • 사용자의 정보가 필요하면 데이터베이스에 조회하지 않고 access token을 이용하여 사용자의 정보를 파악합니다.
  • JWT on backEND

    • 요청이 들어오면 토큰으로 해당 유저가 맞는지 확인해주고 그에 맞는 응답을 해줍니다.
    • refresh token을 추가로 활용하여 보안을 강화하였습니다.

Monitoring

Prometheus

  • exporter가 매트릭을 수집하고 HTTP 통신을 통해 metric data를 가져갈 수 있게 /metrics 라는 HTTP 엔드포인트를 제공한다. 그러면 Prometheus server가 이 exporter의 엔드포인트에 HTTP GET 요청을 이용하여 metric data를 pull 한다.
  • 해당 노드의 metric data

Grafana

  • Prometheus의 시각화 도구가 부족하여 이를 직접 사용하지는 않고 대게 Grafana라는 Data Visualization tool을 이용하여 시각화하고 있다.

Requests / Request Latency / Responses / Response Status

#Members of Team-B

이름 개발분야 소개페이지
김준형 Front-end,AI https://github.com/junhyeongkim2
이정우 Back-end,DevOps https://github.com/RayLee-Kor
이지윤 Front-end,DevOps https://github.com/EASYhz
정윤호 Back-end, AI https://github.com/yunhobb
한지원 Back-end https://github.com/jiwon83

Popular repositories Loading

  1. docker docker Public

    1

  2. frontend frontend Public

    frontend

    TypeScript

  3. backend backend Public

    backend

    Python 1

  4. crawling crawling Public

    Python

  5. cv2-face-auto-crop cv2-face-auto-crop Public

    HTML

  6. AI AI Public

    Python

Repositories

Showing 7 of 7 repositories
  • .github Public
    sungnam-team-b/.github’s past year of commit activity
    0 1 0 0 Updated Oct 1, 2022
  • docker Public
    sungnam-team-b/docker’s past year of commit activity
    1 0 0 0 Updated Sep 29, 2022
  • backend Public

    backend

    sungnam-team-b/backend’s past year of commit activity
    Python 0 1 1 0 Updated Sep 29, 2022
  • frontend Public

    frontend

    sungnam-team-b/frontend’s past year of commit activity
    TypeScript 0 0 0 0 Updated Sep 29, 2022
  • AI Public
    sungnam-team-b/AI’s past year of commit activity
    Python 0 0 0 0 Updated Sep 14, 2022
  • sungnam-team-b/cv2-face-auto-crop’s past year of commit activity
    HTML 0 0 0 0 Updated Sep 5, 2022
  • crawling Public
    sungnam-team-b/crawling’s past year of commit activity
    Python 0 0 0 0 Updated Sep 5, 2022

Top languages

Loading…

Most used topics

Loading…