종이가 색을 입는 시간
마켓을 걷고, 작가를 만나고, 종이가 결을 얻습니다.
경기 포천 신평리, 공예 마켓의 디지털 베이스캠프.
구현 노트 — Home /
| 렌더링 | SSG(정적 생성) + Partial Hydration — 카운트다운·종이 미리보기만 클라이언트 컴포넌트 |
| 히어로 행렬 | SVG + CSS 애니메이션 20초 루프. prefers-reduced-motion 시 정지(본 데모에 동일 적용) |
| 데이터 | 일정·작가 카드는 ISR 1시간 캐시. 추천 작가 featured=true 최대 5명 |
| 접근성 | h1 1개 원칙 · 카운트다운 aria-live="off" · Skip Navigation |
마켓 일정
전체 일정 보기 →본행사 사흘, 비 오는 날도 열립니다
- 10:00개막 · 작가 소개
- 11:00도예 체험
- 14:00한지 워크숍
- 10:30은공예 시연
- 13:00작가 토크
- 15:00마당 공연
- 11:00천연염색 체험
- 14:00가족 종이 만들기
- 16:00폐막 인사
이번 시즌 작가
전체 작가 보기 →손끝에서 시작된 스무 명의 이야기
나만의 공예 이력서를 시작하세요
들어오시면 한 장의 종이를 받으실 수 있습니다. 방문할 때마다 색이 더해집니다. 종이는 캐릭터가 아니라, 당신의 공예 이력서입니다.
무이경험
한 장의 종이가 사람을 닮아가는 시간을 만듭니다
구현 노트 — About /about
| 렌더링 | SSG 완전 정적. 콘텐츠는 MDX 또는 Supabase pages 테이블 |
| 비고 | 1차 오픈 범위(간소). 연혁은 운영팀이 어드민 없이 코드 수정으로 관리 |
백지(白紙)의 시작
백색의 종이는 ‘경험 이전의 사람’입니다. 마켓을 방문하고, 작가의 손길을 만나고, 작품을 사용하면서 종이는 색을 입습니다. 누군가는 빠르게 결을 얻고, 누군가는 천천히 무늬를 새깁니다. 일곱 번째 단계인 ‘장인(匠)’에 이르면, 종이는 행렬에서 떨어져 스스로 걸어갑니다.
사용자의 ‘공예 이력서’입니다.”
왜 종이인가요
화려한 보상보다 묵직한 누적의 감각을 담고 싶었습니다. 레벨업·퀘스트 같은 게임의 말 대신, 결·물·무늬·장인 — 공예의 말로 성장을 기록합니다. 매년 본행사 개막일에 종이는 백지로 돌아가고, 명예 뱃지만 아카이브에 남습니다. 다시 찾아올 이유를 만드는 약속입니다.
만드는 사람들
반의공식과 무이경험 운영팀이 만듭니다. 포천시 신북면 신평리 공동체, 그리고 스무 명의 셀러·작가 그룹과 함께 일합니다.
걸어온 길
- 2026. 2.지역공동체 주민제안 공모사업 선정
- 2026. 5.제1회 무이경험마켓 개최 — 사흘, 방문 200여 명, 안전사고 0건
- 2026. 8.제2회 본행사 · 공식 웹사이트 1차 오픈(예정)
- 2027.시즌 2 — 종이는 다시 백지에서 시작합니다
마켓
8월의 사흘, 신평리에서 펼쳐집니다
구현 노트 — Market /market
| 렌더링 | ISR 1시간. 일자 탭은 URL 쿼리 ?date=0814 동기화 |
| 부스 지도 | 정적 SVG + 확대 모달(COMP-011). 스크린리더용 텍스트 대안 표 별도 |
| QR 체크인 | HMAC 1회용 토큰 + nonce. 회차 첫 체크인 10 XP / 추가 방문일 5 XP. 미로그인 시 로그인 유도(인라인 Alert) |
| 우천 안내 | 운영자 플래그(Supabase flags) 기반 조건부 배너 — 1회 5/3 우천 경험 반영 |
| 축소안 D | 체험 예약 폼 → 1차는 구글 폼 외부 연결로 대체 (약 3일 절감) |
일자별 프로그램
도착하시면 QR을 비추세요
카메라를 비추면 오늘의 방문이 종이에 기록됩니다.
작가의 이야기를 들으신 뒤 비추세요. 도장이 새겨집니다.
가족 묶음 설정 후 한 분만 비추셔도 모두에게 기록됩니다.
부스 자리
작가
스무 명의 손과 스무 가지 결
구현 노트 — Sellers /sellers
| 렌더링 | ISR + 클라이언트 필터. 분야 칩은 URL 쿼리 ?craft=pottery 동기화 |
| 목록 | 무한 스크롤(IntersectionObserver) 10개씩 + Skeleton. 이미지 lazy-load · WebP |
| 데이터 | Supabase seller 테이블 — 부록 G 입력 합숙(작가당 30분 인터뷰 키트)으로 채움 |
| 접근성 | 결과 수 aria-live="polite" · 필터 변경 시 카운트로 포커스 이동 |
데모에는 제1회 참여 작가 8팀 + 예시 4팀을 수록했습니다 · 실서비스는 무한 스크롤로 20팀 노출
구현 노트 — Seller 상세 /sellers/[slug]
| 렌더링 | SSG generateStaticParams(slug) + ISR. 작가 20명 빌드 시 생성 |
| 도장 | COMP-020 Stamp — 로그인 시에만 QR 스캔 활성. 부스당 5 XP, 동일 셀러 1시간 1회 + 가족 화이트리스트 |
| 한정판 알림 | limited_alerts 테이블 insert — Phase 2 알림 발송과 연결 |
| 후기 | 승인된 후기만 노출(운영자 승인제). 본격 기능은 v1.1 Community와 통합 |
대표 작품
작가의 이야기
다녀가신 분들의 이야기
비가 와서 실내로 옮겼는데도 작가님이 한 사람 한 사람 천천히 알려주셨어요. 손에 흙이 닿는 감각을 오래 기억하고 싶습니다.
후기는 운영팀 확인 후 자리에 올라갑니다. 보통 하루 안에 처리됩니다.
내 종이
방문할 때마다 색이 더해지는, 나의 공예 이력서
구현 노트 — My Paper /my-paper (로그인 필수)
| 렌더링 | CSR 전용 + Edge Middleware 인증 보호. Zustand 상태 관리 |
| 종이인형 | 6레이어 SVG 클라이언트 합성 (몸·옷·문양·악세서리·인장·후광) — 본 데모와 동일 방식. 외주 일러스트 납품 후 교체(1차 06.27 / 2차 07.06) |
| XP | xp_event 테이블 + Supabase Realtime 구독. 레벨 계산은 SQL calculate_level() |
| 가족 묶음 | 최대 4인 · 가족 통합 종이 1체 별도 · 만 14세 미만은 보호자 동의 후 가입 |
| 축소안 D | 레벨 6 인장·7 후광 레이어 잠금(외주 30% 절감) · PDF → 1차 PNG 저장 · Realtime → 폴링 |
단계 미리보기 — 회의 검토용 (실서비스에는 미노출)
이야기
다녀가신 분들이 남기신 결과 무늬
구현 노트 — Community /community
| 렌더링 | ISR 5분 + 좋아요 낙관적 업데이트. 조회는 비로그인 허용, 작성은 로그인 |
| 승인제 | status=approved만 노출. 후기 20 XP는 승인 시점 적립 — 주 1회 일괄 점검 |
| 사진 | Supabase Storage · WebP 변환 · 최대 5장/5MB · 인물 사진 동의 안내 |
| 축소안 C·D | 운영자 어드민 UI 미개발 → Supabase Table Editor로 직접 승인 (약 4일 절감) |
셋째 날 비가 쏟아졌는데, 실내로 옮긴 마당이 오히려 더 가까웠습니다. 은공예 작가님 손끝만 한 시간을 바라봤어요. 내년에는 우리 아이 종이도 같이 만들고 싶습니다.
소식
공지와 알림을 모아 둡니다
구현 노트 — 소식 /press (1차 간소)
| 렌더링 | SSG + Supabase notices. 목록·상세 2화면만. 보도자료 다운로드는 Storage 직링크 |
- 공지 제2회 무이경험마켓 일정 안내 (8/14~16 가정)2026. 6. 12.
- 모집 시즌1 참여 작가 카탈로그 등록 안내 — 입력 합숙2026. 6. 20.
- 안내 가족 묶음(Family Link) 이용 안내2026. 7. 1.
- 보도 “방문이 곧 기록이 되는 공예 마켓” — 사이트 오픈 보도자료개막일
검토 가이드
협동조합 회의용 — 본 데모의 범위와 구현 방식 요약 (실서비스 미포함 화면)
1. 이 데모는 무엇인가
기획안 v0.2(05.18)·디자인 시스템 v1.0·와이어프레임 6화면·UX 카피 240종을 그대로 적용해 만든 화면 검토용 정적 데모입니다. 단일 HTML 파일이며 서버 없이 열립니다. 데이터는 모두 예시이고, 실제 가입·적립은 동작하지 않습니다. 상단의 “구현 노트 켜기”를 누르면 각 화면 위에 개발 방식 주석이 표시됩니다.
2. 확정 기술 스택 (ADR-001~004)
| 계층 | 채택 | 비채택 | 핵심 근거 |
|---|---|---|---|
| 프론트엔드 | Next.js 15 (App Router) | Astro | 종이 SVG 합성·QR Server Action·인증 미들웨어를 단일 프레임워크로 |
| 백엔드·DB | Supabase (PostgreSQL) | Firebase | 가족 합산 XP·시즌 리셋을 SQL 트리거 1개로, RLS로 인가 단일화 |
| 배포 | Vercel Hobby | Cloudflare Pages | 설정 30분 — M3 일정 직접 기여, 무료 한도 내 충분 |
| 인증 | Supabase Auth (카카오·네이버) | NextAuth v5 | 대시보드 클릭 설정, 운영 인계 시 단일 콘솔 |
3. 1차 오픈 범위 — 축소안 C+D (회의 합의 필요)
| 이연 항목 | 1차 대체 | 절감 |
|---|---|---|
| 부정 적립 자동 룰 | 운영자 주 1회 일괄 점검 | 약 1주 |
| 체험 예약 폼 | 구글 폼 외부 연결 | 약 3일 |
| 커뮤니티 어드민 UI | Supabase Table Editor 직접 운영 | 약 4일 |
| 레벨 6 인장 · 7 후광 레이어 | 잠금 표시 (Phase 2) | 외주 30% |
| 가족 Realtime 동기화 | 폴링 | 약 3일 |
| 종이 PDF 저장 | PNG 이미지 저장 | 약 2일 |
풀 구현 54인일(≈11주) → 축소안 채택 시 28~32인일(≈5주). 미합의 시 M3 진입 직후 일정 슬립이 거의 확정됩니다.
4. M3 5주 일정 (06.15 착수 기준)
5. 회의에서 함께 결정할 것
| # | 안건 | 비고 |
|---|---|---|
| 1 | 본 데모의 화면 구성·디자인 방향 승인 여부 | 한지·먹·금박 / 종이인형 메타포 |
| 2 | 축소안 C+D 6건 합의 | 위 3장 표 |
| 3 | 코어 1인·보조 1인 개발자 지정 | 주 20h / 10h 이상 |
| 4 | 도메인 등록·일러스트 외주·OAuth 앱 심사 진행 확인 | 임계 경로 3건 |
| 5 | 개막일 확정 | 본 데모는 8/14(금) 가정 — 카운트다운·일정 전체 연동 |
근거 문서: 기획안 v0.2 · 아키텍처 설계 v1.0 · ADR-001~004 · design/01~07 · 진행상황 보고(05.22 회의자료) — iCloud/무이경험 폴더