cd /projects
$ cat book-maker/README.md
project : 안녕, 나의 바다 - 글쓰기 제품
period : 2026.03 - 진행 중
role : Solo Developer (Fullstack)
stack :
Nuxt 3Vue 3TypeScriptNestJSPostgreSQLRedisPlaywrightDocker
// key metrics
  • MVP 핵심 루프 구현 완료 (Phase 1)
  • 정적 프로토타입 5개 화면 (Landing / Archive / Write / Draft Builder / Draft Preview)
  • Phase 2: Writing Depth & Archive Intelligence 예정

아이디어

매일 짧은 생각들이 메모 앱·카카오톡 나에게 보내기·노션에 흩어진다. 그걸 모아 책을 쓰고 싶은데 시작이 막막하다.

짧은 기록 → 어딘가에 흩어짐

나중에 모아서 뭔가 쓰고 싶은데

초안을 어떻게 구성하지?

결국 아무것도 안 됨

안녕, 나의 바다의 답: 짧게 쓴다. 쌓인다. 골라서 묶는다. 책처럼 읽힌다. 4단계 루프가 전부다.


핵심 루프

Write (짧은 기록)

Archive (기록 아카이브 축적)

Draft Builder (기록을 골라 초안으로 구성)

Draft Preview (책처럼 읽히는 미리보기)

글을 길게 쓸 필요가 없다. 짧게 쌓고, 나중에 편집한다.


아키텍처

┌──────────────────────────────────────────────────┐
│       apps/web (Nuxt 3 + Vue 3 + TypeScript)     │
│  Landing  /  Write  /  Archive  /  Draft         │
│  Builder  /  Preview                             │
└────────────────────┬─────────────────────────────┘
                     │ REST

┌──────────────────────────────────────────────────┐
│           apps/api (NestJS + TypeScript)         │
│  인증(JWT + Redis)  │  기록·아카이브·초안 CRUD   │
└──────┬─────────────────────┬─────────────────────┘
       │                     │
  PostgreSQL             Redis
  (기록·초안·유저)      (세션/캐시)

모노레포 구조

book-maker/
├── apps/
│   ├── web/         # Nuxt 3 프론트엔드
│   └── api/         # NestJS 백엔드
├── docs/
│   ├── product/     # PRD, User Journey, MVP Scope
│   ├── design/      # IA, 화면 목록, 디자인 원칙
│   └── engineering/ # 기술 결정, 데이터 모델, API 플랜
└── prototype/       # 정적 HTML 시안 5종

핵심 기능

기능설명
Write짧은 기록 작성 (한 일 / 느낀 것 / 생각)
Archive모든 기록을 날짜·태그 기준으로 탐색
Draft Builder기록을 선택해 초안 챕터로 구성
Draft Preview책처럼 읽히는 렌더링 미리보기
랜딩 페이지CTA → 실제 앱 진입 연결

기술 선택 이유

Nuxt 3 (프론트엔드) SSR로 첫 페이지 로딩 속도를 확보하고, Vue 3 Composition API로 상태 관리를 직관적으로 처리한다. 모바일 first 반응형 웹을 기본으로 설계했다.

NestJS (백엔드) 데코레이터 기반 구조가 엔드포인트 확장에 안정적이다. TypeScript 일관성을 프론트엔드와 공유하고, 모듈 단위로 기록·아카이브·초안 도메인을 명확히 분리한다.

PostgreSQL + Redis 기록과 초안은 관계형 모델로 관리하고, 세션과 캐시는 Redis TTL로 처리한다. MongoDB와 native mobile은 Phase 2 이후로 미뤄 초기 복잡성을 낮췄다.


개발 단계

Phase내용상태
Phase 0제품 기획 · 정보 구조 · 기술 결정 · 데이터 모델 · 정적 프로토타입완료
Phase 1MVP 핵심 루프 구현 (write → archive → draft → preview)완료
Phase 2Writing Depth & Archive Intelligence예정
Phase 3공개 읽기 경험 · 이미지 첨부 · PDF 출간 · AI 지원예정