Skip to content
@SV-Winter-BootCamp-TeamD

SV-Winter-BootCamp-TeamD

꾸며Zoom




AI를 활용한 가상 배경 꾸미기 서비스

📒 Medium


🖥️ Demo

  • 온보딩 페이지

  • 캔버스 생성하기

  • 배경사진 직접 업로드

  • AI배경 생성하기

  • AI스티커 생성하기

  • 동시편집 기능


📍System-Architecture


111Untitled


⚒️ Tech Stach


Frontend Backend DB Devops Monitoring Etc


🔍 ERD

스크린샷(144)

💡Swagger API

Untitled


📊 Monitoring

Un221titled

ELK Stack

U33ntitled


🚀 How to Start

Clone Repository

git clone https://github.com/SV-Winter-BootCamp-TeamD/backend.git

.env setting in the Settings folder

frontend/.env

VITE_BASE_URL = 
VITE_SOCKET_URL = 

backend/.env

SECRET_KEY=

DATABASE_NAME=
DATABASE_USERNAME=
DATABASE_PASSWORD=
DATABASE_HOST=
DATABASE_PORT=
MYSQL_ROOT_PASSWORD=

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_STORAGE_BUCKET_NAME=
AWS_S3_REGION_NAME=

OPENAI_API_KEY=
PIXABAY_API_KEY=

Run Docker

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

📂 Directory Structure

frontend
frontend/
├── Dockerfile
├── README.md
├── docker-compose.yml
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
│   ├── animations
│   │   └── json
│   │       ├── data.json
│   │       └── webSocket.json
│   └── images
│       ├── png
│       │   ├── mm1.png
│       │   ├── mm2.png
│       │   ├── startImage.png
│       │   └── websocketImage.png
│       └── svg
│           ├── aiImage.svg
│           ├── aibackground.svg
│           ├── aisticker.svg
│           ├── avator.svg
│           ├── backarrow.svg
│           ├── background.svg
│           ├── backgroundupload.svg
│           ├── brush.svg
│           ├── download.svg
│           ├── examples
│           │   ├── example01.svg
│           │   ├── example02.svg
│           │   ├── example03.svg
│           │   ├── example04.svg
│           │   ├── example05.svg
│           │   ├── example06.svg
│           │   ├── example07.svg
│           │   ├── example08.svg
│           │   ├── example09.svg
│           │   ├── example10.svg
│           │   ├── example11.svg
│           │   ├── example12.svg
│           │   ├── example13.svg
│           │   ├── example14.svg
│           │   ├── example15.svg
│           │   ├── example16.svg
│           │   ├── example17.svg
│           │   ├── example18.svg
│           │   ├── example19.svg
│           │   ├── example20.svg
│           │   ├── example21.svg
│           │   ├── example22.svg
│           │   ├── example23.svg
│           │   ├── example24.svg
│           │   ├── example25.svg
│           │   ├── example26.svg
│           │   ├── example27.svg
│           │   ├── example28.svg
│           │   ├── example29.svg
│           │   └── example30.svg
│           ├── exit.svg
│           ├── favicon.svg
│           ├── frontarrow.svg
│           ├── hamburger.svg
│           ├── history.svg
│           ├── home.svg
│           ├── info.svg
│           ├── invite.svg
│           ├── mycanvas.svg
│           ├── object.svg
│           ├── onBoarding1.svg
│           ├── onBoarding2.svg
│           ├── palette.svg
│           ├── plus.svg
│           ├── recommendbackground.svg
│           ├── startImage.svg
│           ├── text.svg
│           ├── trashcan.svg
│           ├── upload.svg
│           ├── webSocketImage.svg
│           ├── x.svg
│           └── 무제-1.svg
├── src
│   ├── App.tsx
│   ├── animations
│   │   └── json
│   │       ├── startImage.json
│   │       └── webSocket.json
│   ├── api
│   │   └── api.ts
│   ├── components
│   │   ├── CanvasPage
│   │   │   ├── AIBackground
│   │   │   │   ├── AIBackground.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── AIBackgroundGenerator
│   │   │   │   ├── AIBackgroundGenerator.tsx
│   │   │   │   ├── Color.tsx
│   │   │   │   ├── Input.tsx
│   │   │   │   ├── Theme.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── AIBackgroundLoading
│   │   │   │   ├── AIBackgroundLoading.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── AISticker
│   │   │   │   ├── AISticker.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── AIStickerGenerator
│   │   │   │   ├── AIStickerGenerator.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── AIStickerLoading
│   │   │   │   ├── AIStickerLoading.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── Canvas
│   │   │   │   ├── Canvas.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── History
│   │   │   │   ├── History.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── Invite
│   │   │   │   ├── Input.tsx
│   │   │   │   ├── Invite.tsx
│   │   │   │   ├── MemberList.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── MenuBar
│   │   │   │   ├── Button.tsx
│   │   │   │   ├── MenuBar.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── MenuSection
│   │   │   │   ├── MenuSection.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── MyCanvas
│   │   │   │   ├── MyCanvas.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── NavBar
│   │   │   │   ├── NavBar.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── RecommendBackground
│   │   │   │   ├── RecommendBackground.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── RecommendBackgroundLoading
│   │   │   │   ├── RecommendBackgroundLoading.tsx
│   │   │   │   └── index.tsx
│   │   │   └── UploadBackground
│   │   │       ├── UploadBackground.tsx
│   │   │       ├── UploadButton.tsx
│   │   │       └── index.tsx
│   │   ├── GenearateButton
│   │   │   ├── GenerateButton.tsx
│   │   │   └── index.tsx
│   │   ├── General
│   │   │   └── ReGenerateButton
│   │   │       ├── ReGenerateButton.tsx
│   │   │       └── index.tsx
│   │   ├── MainPage
│   │   │   └── CanvasPreview
│   │   │       ├── CanvasPreview.tsx
│   │   │       └── index.tsx
│   │   ├── OnBoarding
│   │   │   ├── Desk.gltf
│   │   │   ├── ImageSlider.tsx
│   │   │   ├── OnBoardingTemplate.tsx
│   │   │   ├── PathDrawing.tsx
│   │   │   ├── ThreeTest.tsx
│   │   │   ├── background2.png
│   │   │   └── index.tsx
│   │   └── SignupPage
│   │       └── img
│   │           └── background.png
│   ├── index.css
│   ├── main.tsx
│   ├── pages
│   │   ├── CanvasPage.tsx
│   │   ├── LoginPage.tsx
│   │   ├── MainPage.tsx
│   │   ├── OnBoardingPage.tsx
│   │   ├── SideBar.tsx
│   │   └── SignUpPage.tsx
│   ├── type.ts
│   └── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
└── yarn.lock
backend
backend
├── Dockerfile
├── README.md
├── alertmanager
│   └── config.yml
├── backend
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-310.pyc
│   │   ├── __init__.cpython-311.pyc
│   │   ├── asgi.cpython-310.pyc
│   │   ├── asgi.cpython-311.pyc
│   │   ├── celery.cpython-310.pyc
│   │   ├── celery.cpython-311.pyc
│   │   ├── settings.cpython-310.pyc
│   │   ├── settings.cpython-311.pyc
│   │   ├── urls.cpython-310.pyc
│   │   ├── urls.cpython-311.pyc
│   │   └── wsgi.cpython-310.pyc
│   ├── asgi.py
│   ├── celery.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── canvas
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-310.pyc
│   │   ├── __init__.cpython-311.pyc
│   │   ├── apps.cpython-310.pyc
│   │   ├── apps.cpython-311.pyc
│   │   ├── consumers.cpython-310.pyc
│   │   ├── consumers.cpython-311.pyc
│   │   ├── models.cpython-310.pyc
│   │   ├── models.cpython-311.pyc
│   │   ├── routing.cpython-310.pyc
│   │   ├── routing.cpython-311.pyc
│   │   ├── serializers.cpython-310.pyc
│   │   ├── serializers.cpython-311.pyc
│   │   ├── tests.cpython-310.pyc
│   │   ├── tests.cpython-311.pyc
│   │   ├── urls.cpython-310.pyc
│   │   ├── urls.cpython-311.pyc
│   │   ├── views.cpython-310.pyc
│   │   └── views.cpython-311.pyc
│   ├── apps.py
│   ├── consumers.py
│   ├── models.py
│   ├── routing.py
│   ├── serializers.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── component
│   ├── AI_utils.py
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── AI_utils.cpython-310.pyc
│   │   ├── AI_utils.cpython-311.pyc
│   │   ├── __init__.cpython-310.pyc
│   │   ├── __init__.cpython-311.pyc
│   │   ├── apps.cpython-310.pyc
│   │   ├── apps.cpython-311.pyc
│   │   ├── models.cpython-310.pyc
│   │   ├── models.cpython-311.pyc
│   │   ├── nukki.cpython-310.pyc
│   │   ├── nukki.cpython-311.pyc
│   │   ├── recommend.cpython-310.pyc
│   │   ├── recommend.cpython-311.pyc
│   │   ├── s3_utils.cpython-310.pyc
│   │   ├── s3_utils.cpython-311.pyc
│   │   ├── serializers.cpython-310.pyc
│   │   ├── serializers.cpython-311.pyc
│   │   ├── tasks.cpython-310.pyc
│   │   ├── tasks.cpython-311.pyc
│   │   ├── tests.cpython-310.pyc
│   │   ├── tests.cpython-311.pyc
│   │   ├── views.cpython-310.pyc
│   │   └── views.cpython-311.pyc
│   ├── apps.py
│   ├── models.py
│   ├── nukki.py
│   ├── recommend.py
│   ├── s3_utils.py
│   ├── serializers.py
│   ├── tasks.py
│   ├── tests.py
│   └── views.py
├── docker-compose.yml
├── grafana
│   ├── alerting
│   │   └── 1
│   │       └── __default__.tmpl
│   ├── csv
│   ├── grafana.db
│   ├── plugins
│   └── png
├── manage.py
├── nginx
│   └── log
│       └── acess.log
├── prometheus
│   ├── alert.yml
│   └── prometheus.yml
├── requirements.txt
└── user
    ├── __init__.py
    ├── __pycache__
    │   ├── __init__.cpython-310.pyc
    │   ├── __init__.cpython-311.pyc
    │   ├── apps.cpython-310.pyc
    │   ├── apps.cpython-311.pyc
    │   ├── models.cpython-310.pyc
    │   ├── models.cpython-311.pyc
    │   ├── serializers.cpython-310.pyc
    │   ├── serializers.cpython-311.pyc
    │   ├── tests.cpython-310.pyc
    │   ├── tests.cpython-311.pyc
    │   ├── urls.cpython-310.pyc
    │   ├── urls.cpython-311.pyc
    │   ├── views.cpython-310.pyc
    │   └── views.cpython-311.pyc
    ├── apps.py
    ├── authentication.py
    ├── models.py
    ├── serializers.py
    ├── tests.py
    ├── urls.py
    └── views.py
Top

👨‍👩‍👧‍👦 Member

Frontend
Leader
Frontend Backend
DevOps
Backend Backend
백유진 김영준 조희은 고예진 민정준

Popular repositories Loading

  1. .github .github Public

  2. practice practice Public

    TypeScript

  3. frontend frontend Public

    TypeScript

  4. backend backend Public

    Python 1

  5. Docker Docker Public

    Dockerfile

Repositories

Showing 5 of 5 repositories
  • frontend Public
    SV-Winter-BootCamp-TeamD/frontend’s past year of commit activity
    TypeScript 0 0 0 0 Updated Mar 29, 2024
  • .github Public
    SV-Winter-BootCamp-TeamD/.github’s past year of commit activity
    0 0 0 0 Updated Feb 2, 2024
  • Docker Public
    SV-Winter-BootCamp-TeamD/Docker’s past year of commit activity
    Dockerfile 0 0 0 0 Updated Feb 1, 2024
  • backend Public
    SV-Winter-BootCamp-TeamD/backend’s past year of commit activity
    Python 0 1 64 0 Updated Jan 30, 2024
  • practice Public
    SV-Winter-BootCamp-TeamD/practice’s past year of commit activity
    TypeScript 0 0 3 1 Updated Jan 17, 2024

Top languages

Loading…

Most used topics

Loading…