Skip to content
@samulnori-dev

samulnori

빼꼼 로고 빼꼼 (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

Popular repositories Loading

  1. bbaekkom bbaekkom Public

    Java

  2. .github .github Public

Repositories

Showing 2 of 2 repositories

Top languages

Loading…

Most used topics

Loading…