Skip to content

hellosunghyun/divelog

Repository files navigation

DiveLog

Apple Developer Academy @ POSTECH Learner의 아홉 달을 기록하는 Journey-first reflective archive 웹 애플리케이션.

최신 피드가 아니라 여정의 구조가 먼저 보이고, 댓글 대신 Dialogue Layer(공명 / 질문 / 연결 / 제안 / 자기답변)를 사용한다.

divelog.ada-kr-pos.com


기술 스택

Layer Technology
Framework React Router 7 (Vite)
Hosting Cloudflare Pages
Database Cloudflare D1 (SQLite)
ORM Drizzle ORM
Auth @adakrpos/auth (외부 위임)
CSS Tailwind CSS v4
Validation Zod
Storage Cloudflare R2
Queues Cloudflare Queues
Package Manager pnpm

시작하기

# 의존성 설치
pnpm install

# 로컬 개발 서버
pnpm dev

# 타입 체크
pnpm typecheck

# 테스트
pnpm test

# 프로덕션 빌드
pnpm build

# 배포
pnpm deploy

D1 로컬 설정

# 마이그레이션 적용
pnpm db:migrate:local

# 시드 데이터
pnpm db:seed:local

프로젝트 구조

apps/
├── web/
│   ├── app/
│   │   ├── routes/          # React Router flat routes
│   │   ├── components/      # 공통 컴포넌트
│   │   ├── db/              # Drizzle 스키마, relations, queries
│   │   ├── lib/             # 인증, 미들웨어, 유틸리티
│   │   └── styles/          # CSS 토큰, 글로벌 스타일
│   ├── workers/             # Cloudflare Workers 진입점
│   ├── drizzle/migrations/  # D1 마이그레이션
│   ├── seeds/               # 시드 데이터
│   └── wrangler.toml        # Cloudflare 바인딩
└── apple/                   # 향후 iOS / macOS 앱 워크스페이스

packages/
├── contracts/
├── db/
├── domain/
└── server/

설계 문서

상세 설계 문서는 .docs/ 디렉토리 참조.

문서 내용
prd.md 제품 요구사항, 철학, 비목표
frd.md 기능 요구사항 (FR-001~FR-033)
design.md Quiet Depth 디자인 가이드라인
frontend.md 프론트엔드 설계, 컴포넌트 사양
wireframe.md 와이어프레임 명세 (39개 화면)
auth.md 인증 연동 가이드
admin.md 어드민 설계
sitemap.md 사이트맵
user-flow.md 사용자 플로우 (25개)
operational-principles.md 운영 원칙, 카피 톤
glossary.md 용어집 (47개 용어)

환경 변수

.dev.vars 파일에 아래 값을 설정한다.

ADAKRPOS_API_KEY=   # 인증 API 키
ADMIN_USER_ID=      # 관리자 사용자 ID

배포 전 체크리스트

프로덕션 배포 전 아래 항목을 반드시 확인한다.

1. ADMIN_USER_ID 설정

관리자 사용자 ID를 설정하지 않으면 /admin 접근이 불가능하다.

# Wrangler secret으로 설정 (권장 — 저장소에 커밋되지 않음)
wrangler secret put ADMIN_USER_ID
# 프롬프트에 실제 관리자 ID 입력 (예: usr_xxxxxxxxxxxxxxxx)

⚠️ usr_placeholder_replace_with_real_admin_id 값이 그대로 남아 있으면 admin bootstrap이 조용히 건너뛰어 관리자 역할이 부여되지 않는다.

2. ADAKRPOS_API_KEY 설정

외부 인증 서비스 연동에 필요한 API 키를 설정한다.

wrangler secret put ADAKRPOS_API_KEY
# 프롬프트에 ada-kr-pos.com에서 발급받은 API 키 입력

3. D1 마이그레이션 적용

프로덕션 D1 데이터베이스에 마이그레이션을 적용한다.

wrangler d1 migrations apply DB

라이선스

MIT License — Copyright (c) 2026 Sunghyun Kim

About

Apple Developer Academy @ POSTECH Learner의 아홉 달을 기록하는 Journey-first reflective archive 웹 애플리케이션.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors