명칭 변경: - decision-log.md Q6 확정: "분신"(가칭) → "와카뷰 (Ykavu)" — 焚身(분신자살) 동음이의 리스크도 있었고 메신저 브랜드로 부르기 무거웠음. Master가 최종 선택한 이름으로 변경(2026-07-31), 파생 문서(AGENTS.md/CLAUDE.md/PRD 등)· Flutter 앱 텍스트·web manifest/index.html·AndroidManifest 라벨까지 전부 반영 - ai-service: 본인확인 고정 문구(identity.py)·시스템 프롬프트(generation.py)도 갱신 — 새 이름 기준으로 "본인이야 와카뷰야?" 류 질문을 감지하도록 정규식도 같이 손봄(단순 문자열 치환만으론 어미 형태가 안 맞아서 테스트 추가/조정) - poc/tone-corpus/의 실험용 프롬프트는 의도적으로 그대로 둠(ai-service README에 이미 명시된 대로 프로덕션과 분리된 실험 도구) UI/UX: - mobile/lib/theme/app_theme.dart: 시드 컬러를 인디고/라벤더로 변경, 화면 전체에 깔리는 소프트 그라디언트(라이트: 라벤더→스카이→핑크 파스텔, 다크: 딥 인디고→ 네이비→플럼) + 카드/인풋/칩을 반투명 "글래스" 서피스로 전환 - mobile/lib/widgets/gradient_backdrop.dart(신규): MaterialApp.builder에 연결해 모든 화면에 자동으로 그라디언트 배경 적용 - mobile/lib/screens/splash_screen.dart(신규) + main.dart 재구성: 기존엔 session.restore()를 기다리는 동안 아무 것도 안 그려서 흰 화면/텍스트만 뜨는 구간이 있었음 — runApp을 먼저 하고 restore 동안 브랜드 스플래시가 뜨도록 변경 - chat_screen·autonomy_settings_screen·data_flow_screen의 커스텀 패널들도 글래스 스타일로 맞춤 BunsinApp -> YkavuApp (mobile/lib/main.dart, test/widget_test.dart 동기화) Flutter SDK가 없는 환경이라 flutter analyze/run으로 직접 컴파일 검증은 못했음 — 중괄호/괄호 균형과 기존에 검증된 API 패턴 위주로 신중하게 작성함. go test· pytest는 전부 통과. |
||
|---|---|---|
| .. | ||
| app | ||
| README.md | ||
| requirements.txt | ||
README.md
와카뷰 backend (Python 프로토타입 — 참고용, Go로 포팅 예정)
스택이 바뀌었다: docs/tech-design.md §8에서 코어 백엔드를 Go로 재확정했다
(성능/동시성, 향후 스케일 대비). 이 디렉토리는 그 결정 전에 만든 Python/FastAPI 프로토타입으로,
인증·메시지 릴레이·DB 스키마가 실제로 동작하는 걸 검증하는 용도로는 여전히 유효하다 —
API 설계·DB 스키마 참고용으로 남겨두고, Go 코어 백엔드를 새로 만들 때 이 동작을 그대로 재현한다.
AI 서비스(2.2)는 그대로 Python으로 간다 — 그건 이 디렉토리가 아니라 별도 서비스로 만들 것.
실행
pip install -r requirements.txt
uvicorn app.main:app --reload
기본은 sqlite:///./dev.db로 뜬다. 프로덕션 DB를 쓰려면:
export DATABASE_URL=postgresql+psycopg2://user:pass@host/dbname
지금 있는 것 (2.1 백엔드 인프라 뼈대)
GET /health— 헬스체크POST /auth/signup— 초대 코드 기반 가입 (중복 코드는 409)POST /conversations/{id}/messages— 메시지 저장 + 같은 대화방 WebSocket 커넥션에 브로드캐스트WS /ws/conversations/{id}— 대화방별 실시간 릴레이 (인메모리 커넥션 매니저)- DB 모델 (
app/models.py):users,contacts,conversations,conversation_participants,messages,twin_settings,whitelist_rules,escalation_logs—roadmap.mdPhase 1 §2.1 스키마 그대로
signup/message-send/404/WebSocket 브로드캐스트까지 TestClient로 실제 실행해서 확인함
(테스트 스크립트는 커밋 안 함 — 필요하면 정식 tests/로 다시 만들 것).
아직 없는 것 (다음 워크스트림)
- 2.2 AI 파이프라인 연동 —
poc/tone-corpus/generate_draft.py등을 여기 API로 이식 - 푸시 알림 연동
- 인증 토큰/세션 (지금은 invite_code로 가입만 되고 로그인 세션 개념이 없음)
- 프로덕션 마이그레이션 도구 (지금은
Base.metadata.create_all로 스타트업 시 테이블 생성 — Alembic 같은 마이그레이션은 스키마가 안정되면 도입)