← cd /projects
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 1 | MVP 핵심 루프 구현 (write → archive → draft → preview) | 완료 |
| Phase 2 | Writing Depth & Archive Intelligence | 예정 |
| Phase 3 | 공개 읽기 경험 · 이미지 첨부 · PDF 출간 · AI 지원 | 예정 |