짧은 기록을 차곡차곡 쌓아 두고, 그것이 한 권의 책 초안으로 자라나게 만드는 글쓰기 제품.
공식 서비스명은 안녕, 나의 바다이며, 저장소와 내부 패키지 작업명은 당분간 book-maker를 유지한다.
현재 이 레포는 MVP 핵심 루프 구현과 기본 품질 게이트 정리까지 마친 상태다. 제품 기획, 정보 구조, 기술 의사결정, 데이터 모델, 정적 프로토타입 위에서 실제 Nuxt/Nest 앱, PostgreSQL/Redis 연동, 인증, 기록/아카이브/초안/미리보기, 랜딩 페이지, Playwright smoke E2E까지 연결되어 있다.
- MVP 핵심 루프
write -> archive -> draft -> preview구현 완료 - 랜딩 페이지와 실제 앱 진입 CTA 연결 완료
- Playwright smoke E2E와 auth-expiry smoke, CI artifact 수집 경로까지 반영
- 아카이브 기본 검색 흐름으로
Phase 2. Writing Depth And Archive Intelligence작업 시작
private-first writing product- 짧은 글을 기록한다
- 기록을 아카이브로 쌓는다
- 기록을 초안으로 묶는다
- 책처럼 읽히는 미리보기를 만든다
장기적으로는 공개 읽기 경험, 이미지 첨부, 출간용 PDF, 유사도 검사, AI 지원까지 확장할 수 있도록 설계했다.
- Frontend:
Nuxt 3 + Vue 3 - Backend:
NestJS - Main DB:
PostgreSQL - Cache/Auth:
Redis - Mobile:
responsive web first - Deferred:
MongoDB, native mobile
기술 선택 이유는 docs/engineering/TECH_DECISION.md에 정리되어 있다.
- TECH_PLAN.md
- TECH_DECISION.md
- DATA_MODEL.md
- DB_SCHEMA_PLAN.md
- BACKEND_API_PLAN.md
- AUTH_FLOW.md
- FRONTEND_APP_STRUCTURE.md
- IMPLEMENTATION_PHASES.md
- CODE_CONVENTION.md
- COMMIT_CONVENTION.md
- SUBAGENT_GUIDELINES.md
- TEST_STRATEGY.md
- DEVOPS_CICD_PLAN.md
정적 시안은 prototype/에 있다.
시안은 Stitch 결과를 바탕으로 MVP 방향에 맞게 덜어낸 버전이다.
MVP는 기능 기준으로 닫힌 상태다. 다음 작업은 아래 순서를 기본으로 잡는다.
- MVP closeout 기준과 문서를 유지
Phase 2. Writing Depth And Archive Intelligence범위를 작은 단위로 순차 구현- non-blocking polish는 회귀나 명확한 사용성 공백이 있을 때만 다룬다
세부 기준은 IMPLEMENTATION_PHASES.md, MVP_SCOPE.md, ROADMAP.md를 따른다.
pnpm lintpnpm lint:fixpnpm typecheckpnpm test:web:e2epnpm formatpnpm format:check