Skip to content
@2024-Winter-Bootcamp-Team-G

2024-Winter-Bootcamp-Team-G

☃️ 2024 Techeer Winter BootCamp Team-G ☃️

🔎 Algorify.net 🔍

Algorify.net을 통해 당신이 몰랐던 취향을 알아가 보세요!





📖 Table of contents


📣 Introduction

URL

🖥️ Algorify.net

Medium

🔎 Medium


  • 자신을 표현하는 데 있어 사용할 수 있는 수단에는 무엇이 있나요?
  • "나 자신도 알지 못하는 나의 아이덴티티를 표현할 수 있는 방법이 있다면 어떨까?"에서 시작한 프로젝트
  • 전세계에서 약 26억명의 이용자를 보유한 유튜브를 활용한 개인화 분석 서비스

🖼️ Demo

Login & Sign up

회원가입 및 로그인하는 페이지입니다.

Login & Sign up

Create Board

보드를 생성하는 과정입니다.

Create Board

Regenerate Image

이미지를 재생성하는 과정입니다.

Regenerate Image

Regenerate Keywords

키워드를 재생성하는 과정입니다.

Regenerate Keywords

Share Board & Screenshot

보드 공유 및 스크린샷을 하는 과정입니다.

Share Board & Screenshot

스크린샷된 이미지입니다.

Screenshot


📗 API

charts charts



🛠 ️System Architecture



🔑 ERD



💻 Tech Stack

Field Technology of use
Frontend
Backend
DevOps
DB
Monitoring
AI
etc

📊 Monitoring

Prometheus & Grafana

FastAPI
FastAPI
cAdvisor
cAdvisor
cAdvisor2

🧐 How To Start

1. Clone The Repository

https://github.com/2024-Winter-Bootcamp-Team-G/infra.git

2. ENV Setting In The Algorify.net-Infra Folder

  • .env
APP_NAME=

# PostgreSQL
#DATABASE_URL=
#POSTGRES_DB=
#POSTGRES_PASSWORD=

#cloud sql
DATABASE_URL=
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_SSLMODE=
POSTGRES_HOST=
POSTGRES_PORT=
#POSTGRES_SSLMODE=

# Redis
REDIS_HOST=
REDIS_PORT=

# RabbitMQ
RABBITMQ_DEFAULT_USER=
RABBITMQ_DEFAULT_PASS=
RABBITMQ_HOST=
RABBITMQ_PORT=

# Celery
CELERY_BROKER_URL=
CELERY_RESULT_BACKEND=
CELERY_BROKER_CONNECTION_MAX_RETRIES=

# OpenAI
OPENAI_API_KEY=

# GCP
GCP_BUCKET_NAME=
GOOGLE_APPLICATION_CREDENTIALS=

# JWT
SECRET_KEY=
ALGORITHM=
ACCESS_TOKEN_EXPIRE_MINUTES=
REFRESH_TOKEN_EXPIRE_MINUTES=

# YouTube Data API
CLIENT_ID=
CLIENT_SECRET=
REDIRECT_URI=h
API_KEY=

FRONTEND_URL=
REDIRECT_URI=

#grafana
grafana_user=
grafana_password=
  • Algrify.net-Frontend/.env
# 배포용 환경변수
VITE_BASE_URL=
  • Algorify.net-Backend/.env
APP_NAME=

# PostgreSQL
DATABASE_URL=
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=

# Redis
REDIS_HOST=
REDIS_PORT=

# RabbitMQ
RABBITMQ_DEFAULT_USER=
RABBITMQ_DEFAULT_PASS=
RABBITMQ_HOST=
RABBITMQ_PORT=

# Celery
CELERY_BROKER_URL=
CELERY_RESULT_BACKEND=
CELERY_BROKER_CONNECTION_MAX_RETRIES=

# OpenAI
OPENAI_API_KEY=

# GCP
GCP_BUCKET_NAME=
GOOGLE_APPLICATION_CREDENTIALS=

# JWT
SECRET_KEY=
ALGORITHM=
ACCESS_TOKEN_EXPIRE_MINUTES=
REFRESH_TOKEN_EXPIRE_MINUTES=

# YouTube Data API
CLIENT_ID=
CLIENT_SECRET=
REDIRECT_URI=
API_KEY=

FRONTEND_URL=

3. Run Docker

cd frontend && yarn && yarn dev && cd backend && docker-compose up --build

💾 Directory Structure

Algorify.net-Infra

📦 Algorify.net-Infra ┣ 📂.github ┃ ┣ 📂ISSUE_TEMPLATE ┃ ┃ ┣ 📜chore.md ┃ ┃ ┣ 📜design.md ┃ ┃ ┣ 📜feat.md ┃ ┃ ┣ 📜fix.md ┃ ┃ ┣ 📜refactor.md ┃ ┃ ┗ 📜pull_request_template.md ┣ 📂nginx ┃ ┣ 📜Dockerfile ┃ ┣ 📜nginx.conf ┃ ┗ 📂prometheus ┃ ┃ ┗ 📜prometheus.yml ┣ 📜.gitignore ┣ 📜.gitmodules ┣ 📜README.md ┣ 📜docker-compose.monitoring.yml ┣ 📜docker-compose.yml ┗ 📜init-letsencrypt.sh

Algorify.net-Frontend

📦 Algorify.net-Frontend ┣ 📂.github ┣ 📂node_modules ┣ 📂src ┃ ┣ 📂api ┃ ┃ ┣ 📜axios_config.js ┃ ┃ ┣ 📜board.js ┃ ┣ 📂assets ┃ ┣ 📂components ┃ ┃ ┣ 📜Background.jsx ┃ ┃ ┣ 📜Button.jsx ┃ ┃ ┣ 📜Input.jsx ┃ ┃ ┣ 📜Loading.jsx ┃ ┃ ┣ 📜Match.jsx ┃ ┃ ┣ 📜Mbutton.jsx ┃ ┃ ┣ 📜MiniHomp.jsx ┃ ┃ ┣ 📜Mpopup.jsx ┃ ┃ ┣ 📜RadarChartCompo.jsx ┃ ┃ ┣ 📜Select.jsx ┃ ┃ ┣ 📜VennDiagram.jsx ┃ ┃ ┣ 📜Window.jsx ┃ ┃ ┗ 📜Window2.jsx ┃ ┣ 📂pages ┃ ┃ ┣ 📜Board.jsx ┃ ┃ ┣ 📜Home.jsx ┃ ┃ ┣ 📜Login.jsx ┃ ┃ ┣ 📜MiniH.jsx ┃ ┃ ┣ 📜Notice.jsx ┃ ┃ ┣ 📜Share.jsx ┃ ┃ ┣ 📜SignUp.jsx ┃ ┃ ┗ 📜Start.jsx ┃ ┣ 📂styles ┃ ┃ ┣ 📜cursor.css ┃ ┃ ┣ 📜index.css ┃ ┃ ┗ 📜scrollbar.css ┃ ┣ 📂utils ┃ ┃ ┣ 📜cookie.js ┃ ┃ ┗ 📜helpers.js ┃ ┣ 📜App.jsx ┃ ┗ 📜main.jsx ┣ 📜.env ┣ 📜.gitignore ┣ 📜.prettierrc ┣ 📜eslint.config.js ┣ 📜index.html ┣ 📜package.json ┣ 📜postcss.config.js ┣ 📜README.md ┣ 📜tailwind.config.js ┣ 📜vite.config.js ┗ 📜yarn.lock

Algorify.net-Backend

📦 Algorify.net-Backend ┣ 📂.github ┣ 📂app ┃ ┣ 📂models ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜board.py ┃ ┃ ┗ 📜user.py ┃ ┣ 📂routes ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜auth.py ┃ ┃ ┣ 📜board.py ┃ ┃ ┣ 📜celery_tasks.py ┃ ┃ ┣ 📜profile.py ┃ ┃ ┣ 📜share.py ┃ ┃ ┣ 📜subscriptions.py ┃ ┃ ┗ 📜user.py ┃ ┣ 📂schemas ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜board.py ┃ ┃ ┗ 📜user.py ┃ ┣ 📂services ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜board_service.py ┃ ┃ ┣ 📜celery_tasks.py ┃ ┃ ┣ 📜channel_service.py ┃ ┃ ┣ 📜google_service.py ┃ ┃ ┗ 📜user_service.py ┃ ┣ 📂tests ┃ ┃ ┣ 📜__init__.py ┃ ┃ ┣ 📜test_boards.py ┃ ┃ ┣ 📜test_dalle.py ┃ ┃ ┣ 📜test_gcs.py ┃ ┃ ┣ 📜test_redis.py ┃ ┃ ┣ 📜test_regenerate.py ┃ ┃ ┣ 📜test_share.py ┃ ┃ ┗ 📜test_signup.py ┃ ┗ 📜main.py ┣ 📂utils ┃ ┣ 📜__init__.py ┃ ┣ 📜celery_app.py ┃ ┣ 📜dalle_handler.py ┃ ┣ 📜gcs_handler.py ┃ ┣ 📜gpt_handler.py ┃ ┣ 📜jwt_handler.py ┃ ┣ 📜redis_handler.py ┃ ┣ 📜time.py ┃ ┣ 📜utils.py ┃ ┣ 📜config.py ┃ ┣ 📜db.py ┃ ┗ 📜init_db.py ┣ 📜.env ┣ 📜.gitignore ┣ 📜docker-compose.yaml ┣ 📜Dockerfile ┣ 📜gcp-key.json ┣ 📜README.md ┗ 📜requirements.txt


🧑‍💻 Team Members

Name 최종민 김주하 김지호 이주광 하진희
Profile
Role Leader, Backend,
DevOps
Frontend, Design Frontend, Design Backend, DevOps Backend, DevOps
GitHub @jongmine @uzifs @jiho5191 @dhdid @jeanieblue38

Popular repositories Loading

  1. backend backend Public

    backend

    Python 1

  2. frontend frontend Public

    frontend

    JavaScript

  3. infra infra Public

    infra

    Shell

  4. .github .github Public

Repositories

Showing 4 of 4 repositories
  • infra Public

    infra

    2024-Winter-Bootcamp-Team-G/infra’s past year of commit activity
    Shell 0 0 0 0 Updated Feb 1, 2025
  • backend Public

    backend

    2024-Winter-Bootcamp-Team-G/backend’s past year of commit activity
    Python 0 1 0 0 Updated Feb 1, 2025
  • .github Public
    2024-Winter-Bootcamp-Team-G/.github’s past year of commit activity
    0 0 0 0 Updated Jan 31, 2025
  • frontend Public

    frontend

    2024-Winter-Bootcamp-Team-G/frontend’s past year of commit activity
    JavaScript 0 0 0 0 Updated Jan 31, 2025

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…