Skip to content

Repository files navigation

빼꼼 둜고 빼꼼 (BBAEKKOM)

λΉΌκΌΌ μ•± 둜고 λ˜λŠ” μŠ€ν”Œλž˜μ‹œ 이미지??

사물 μΉœκ΅¬μ™€ ν•¨κ»˜ν•˜λŠ” μœ‘μ•„ 도움 μ„œλΉ„μŠ€

빼꼼은 λ¬Όν™œλ‘ μ  사고에 κΈ°λ°˜ν•œ μ‚¬λ¬Όκ³Όμ˜ λŒ€ν™” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

μ£Όλ³€ 사물을 μ΄¬μ˜ν•΄ μ˜μΈν™”ν•˜μ—¬ μ›€μ§μ΄κ²Œ λ§Œλ“€κ³ , μŒμ„±μœΌλ‘œ λŒ€ν™”ν•˜λ©° μ•„μ΄μ—κ²ŒλŠ” 친ꡬλ₯Ό, λŒ€ν™”λ₯Ό 기반으둜 뢄석 리포트λ₯Ό μƒμ„±ν•˜μ—¬ λΆ€λͺ¨λ‹˜μ—κ²ŒλŠ” μœ‘μ•„ νŒŒνŠΈλ„ˆλ₯Ό λ§Œλ“€μ–΄λ“œλ¦¬λŠ” λͺ¨λ°”일 μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

아이별 ν”„λ‘œν•„, λŒ€ν™” μ‹œκ°„, μ„±μž₯ 리포트, λŒ€ν™”Β·κ΅μœ‘ κ°€μ΄λ“œλ₯Ό 톡해 μ•„μ΄μ˜ 변화와 감정 흐름을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Όν™œλ‘ μ  사고: λͺ¨λ“  사물에 생λͺ…이 κΉƒλ“€μ–΄ μžˆλ‹€κ³  μƒκ°ν•˜λŠ” μœ μ•„κΈ° μ•„μ΄λ“€μ˜ 사고 νŠΉμ„±


πŸ“‘ λͺ©μ°¨


✨ 핡심 κΈ°λŠ₯ (Key Features)

1. πŸ“Έ AI 사물 인식 및 캐릭터 생성

  • 사물 촬영: React Native Vision Camera둜 사물을 μ΄¬μ˜ν•˜κ±°λ‚˜ μ•¨λ²”μ—μ„œ 이미지λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
  • 객체 후보 μΆ”μΆœ: Ultralytics SAM(sam_b.pt)으둜 캐릭터화할 사물 μ˜μ—­μ„ νƒμ§€ν•©λ‹ˆλ‹€.
  • 캐릭터 이미지 생성: gpt-image-1.5 edit API둜 사물 기반 캐릭터 이미지λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • λ°°κ²½ 제거: ZhengPeng7/BiRefNet으둜 μƒμ„±λœ μΊλ¦­ν„°μ˜ 배경을 μ œκ±°ν•©λ‹ˆλ‹€.
  • μ–Όκ΅΄ 파츠 μΆ”μΆœ: IDEA-Research/grounding-dino-base, facebook/sam-vit-base, SimpleLamaλ₯Ό ν™œμš©ν•΄ ν‘œμ • μ• λ‹ˆλ©”μ΄μ…˜μ— ν•„μš”ν•œ μ–Όκ΅΄ νŒŒμΈ μ™€ λͺΈν†΅ 이미지λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • μ„±κ²©Β·λ§νˆ¬ λΆ€μ—¬: gemini-2.5-pro둜 μ‚¬λ¬Όμ˜ νŠΉμ§•μ— λ§žλŠ” 성격, 말투, μŒμ„± νƒ€μž…μ„ μƒμ„±ν•©λ‹ˆλ‹€.
  • 생성 μ œν•œ 관리: Redisλ₯Ό μ‚¬μš©ν•΄ μ‚¬μš©μžλ³„ 일일 캐릭터 생성 횟수λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

2. πŸŽ™οΈ μ‹€μ‹œκ°„ μŒμ„± λŒ€ν™”

  • μŒμ„± 인식: Qwen/Qwen3-ASR-1.7B둜 μ•„μ΄μ˜ μŒμ„±μ„ ν…μŠ€νŠΈλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
  • μ‹€μ‹œκ°„ μžλ§‰ 미리보기: Google Cloud Streaming STT와 WebSocket으둜 아이가 λ§ν•˜λŠ” λ‚΄μš©μ„ μ‹€μ‹œκ°„μœΌλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€.
  • 캐릭터 맞좀 응닡: gpt-4o둜 아이 ν”„λ‘œν•„, 캐릭터 성격, 말투, λΉ„λ°€ ν”„λ‘¬ν”„νŠΈ, 이전 λ°œλ‹¬ 리포트λ₯Ό λ°˜μ˜ν•œ 닡변을 μƒμ„±ν•©λ‹ˆλ‹€.
  • μŒμ„± ν•©μ„±: Google Cloud TTS의 gemini-3.1-flash-tts-preview둜 캐릭터 닡변을 μŒμ„±μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
  • SSE 기반 응닡 전달: λŒ€ν™” 처리 결과와 μƒνƒœ λ³€ν™”λ₯Ό Server-Sent Events둜 앱에 μ „λ‹¬ν•©λ‹ˆλ‹€.
  • μŠ€λ§ˆνŠΈμ‹±μŠ€ 연동: Samsung SmartThingsλ₯Ό 톡해 λŒ€ν™” λΆ„μœ„κΈ°μ— 맞좰 μ‘°λͺ…을 μ œμ–΄ν•©λ‹ˆλ‹€.

5. πŸ“ˆ μ„±μž₯ 리포트

  • μ£Όκ°„ 리포트 μžλ™ 생성: Schedulerκ°€ μ’…λ£Œλœ λŒ€ν™” μ„Έμ…˜μ„ λͺ¨μ•„ μ£Όκ°„ μ„±μž₯λ…ΈνŠΈλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • μ–Έμ–΄ λ°œλ‹¬ 뢄석: MLU, λ¬Έμž₯ 완성도, λ§₯락 이해도, 또래 평균 비ꡐ μ§€ν‘œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • μ •μ„œ 뢄석: 아이 λ°œν™”μ˜ 감정 TOP 3와 감정 μš”μ•½μ„ λ¦¬ν¬νŠΈμ— λ°˜μ˜ν•©λ‹ˆλ‹€.
  • 단어 λΉˆλ„ μ‹œκ°ν™”: 아이가 자주 μ‚¬μš©ν•œ 단어λ₯Ό μ›Œλ“œν΄λΌμš°λ“œλ‘œ λ³΄μ—¬μ€λ‹ˆλ‹€.
  • λŒ€ν™”Β·κ΅μœ‘ κ°€μ΄λ“œ: κ΄€μ°°λœ λͺ¨μŠ΅, λŒ€ν™” ν•œ μŠ€ν‘Ό, 놀이 ν•œ μŠ€ν‘Όμ²˜λŸΌ λ³΄ν˜Έμžκ°€ λ°”λ‘œ ν™œμš©ν•  수 μžˆλŠ” κ°€μ΄λ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

πŸ› οΈ 기술 μŠ€νƒ (Tech Stack)

Frontend

Backend

AI Service

Database & Infra

DevOps & Monitoring


πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰 (Architecture)

S14P31B108
β”œβ”€β”€ ai/                         # FastAPI AI μ„œλ²„
β”‚   β”œβ”€β”€ app/core/               # μ„€μ •, DB/Redis, μ˜ˆμ™Έ, executor, λͺ¨λΈ preload
β”‚   β”œβ”€β”€ app/domains/
β”‚   β”‚   β”œβ”€β”€ chat/               # STT-LLM-TTS λŒ€ν™” 처리, embedding, μš”μ•½, preview streaming
β”‚   β”‚   β”œβ”€β”€ stt/                # μŒμ„± 인식
β”‚   β”‚   β”œβ”€β”€ tts/                # μŒμ„± ν•©μ„±
β”‚   β”‚   β”œβ”€β”€ vision_detector/    # 사물 후보 탐지
β”‚   β”‚   β”œβ”€β”€ vision_generator/   # 캐릭터 이미지 생성
β”‚   β”‚   β”œβ”€β”€ character_generation/
β”‚   β”‚   β”œβ”€β”€ character_persona/
β”‚   β”‚   └── report_service/     # 리포트 뢄석 및 κ°€μ΄λ“œ 생성
β”‚   └── evals/                  # AI 평가 슀크립트
β”œβ”€β”€ backend/                    # Spring Boot API μ„œλ²„
β”‚   β”œβ”€β”€ src/main/java/com/samulnori/bbaekkom/
β”‚   β”‚   β”œβ”€β”€ config/             # Security, Redis, S3, WebClient, WebSocket μ„€μ •
β”‚   β”‚   β”œβ”€β”€ common/             # 곡톡 응닡, μ˜ˆμ™Έ, util, enum
β”‚   β”‚   └── domain/
β”‚   β”‚       β”œβ”€β”€ auth/           # OAuth 둜그인, JWT μž¬λ°œκΈ‰, λ‘œκ·Έμ•„μ›ƒ
β”‚   β”‚       β”œβ”€β”€ profile/        # 아이 ν”„λ‘œν•„
β”‚   β”‚       β”œβ”€β”€ character/      # 캐릭터, ν‘œμ •, 도감, λΉ„λ°€ ν”„λ‘¬ν”„νŠΈ
β”‚   β”‚       β”œβ”€β”€ objectcandidate/# 사물 후보 탐지 및 S3 μ €μž₯
β”‚   β”‚       β”œβ”€β”€ chat/           # λŒ€ν™” μ„Έμ…˜, λ©”μ‹œμ§€, SSE, WebSocket preview
β”‚   β”‚       β”œβ”€β”€ report/         # μ£Όκ°„/일일 리포트
β”‚   β”‚       β”œβ”€β”€ smartthings/    # SmartThings OAuth, κΈ°κΈ°, λͺ…λ Ή μ‹€ν–‰
β”‚   β”‚       └── user/           # μ‚¬μš©μž/μ•Œλ¦Ό/PIN
β”‚   └── src/main/resources/db/  # Flyway migration, testdata
β”œβ”€β”€ frontend/                   # React Native λͺ¨λ°”일 μ•±
β”‚   β”œβ”€β”€ src/api/                # Backend API ν΄λΌμ΄μ–ΈνŠΈ
β”‚   β”œβ”€β”€ src/screens/            # 인증, ν™ˆ, 촬영, κ΄‘μž₯, λŒ€ν™”, 리포트, μ„€μ • ν™”λ©΄
β”‚   β”œβ”€β”€ src/components/         # κΈ°λŠ₯별 UI μ»΄ν¬λ„ŒνŠΈ
β”‚   β”œβ”€β”€ src/hooks/              # React Query 및 ν™”λ©΄ 둜직 hook
β”‚   β”œβ”€β”€ src/store/              # Zustand μ „μ—­ μƒνƒœ
β”‚   └── src/assets/             # 이미지, μ•„μ΄μ½˜, 폰트, μ˜€λ””μ˜€
β”œβ”€β”€ infra/                      # Docker Compose, Nginx, monitoring, 배포 슀크립트
β”œβ”€β”€ exec/                       # λΉŒλ“œ/배포 맀뉴얼, μ‹œμ—° μ‹œλ‚˜λ¦¬μ˜€, DB SQL, μ‹œμ—° 이미지
β”œβ”€β”€ docs/                       # μš”κ΅¬μ‚¬ν•­, API λͺ…μ„Έμ„œ, ERD, μ™€μ΄μ–΄ν”„λ ˆμž„ PDF
└── asset/image/                # μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ 및 ERD 이미지

πŸ—οΈ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

λΉΌκΌΌ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜


πŸ“Š ERD

MySQL Service DB

λΉΌκΌΌ MySQL ERD

PostgreSQL AI DB

λΉΌκΌΌ PostgreSQL ERD


πŸš€ μ‹€ν–‰ 및 배포

둜컬 Docker μ‹€ν–‰

docker compose --env-file .env -f infra/docker-compose-local.yml up -d --build

Backend μ‹€ν–‰

cd backend
./gradlew bootRun

AI Server μ‹€ν–‰

cd ai
pip install -r requirements/base.txt -r requirements/ai_core.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000

Frontend μ‹€ν–‰

cd frontend
npm install
npm start
npm run android

πŸ‘₯ νŒ€μ› (Contributions)

이름 λ‹΄λ‹Ή μ—­ν• 
λ‚¨μš°μ„± BE / AI
이가은 BE / AI
μ²œλ³΄μ„± BE / AI
변채원 FE / AI
λ°•μ •ν›ˆ BE / Infra
김은주 Data / Infra

Releases

Packages

Contributors

Languages