전문가와 사용자를 연결하는 1:1 코칭 상담 플랫폼 웹 MVP. 15분 무료 상담 → 결제 유도 → 유료 전환까지의 흐름을 데모로 구현했습니다.
- 기술 스택: Next.js 16 (App Router) · TypeScript · Tailwind CSS v4 · Supabase · Vitest
- 설계 문서:
docs/superpowers/specs/2026-06-26-coachring-web-mvp-design.md - 구현 계획:
docs/superpowers/plans/2026-06-26-coachring-web-mvp.md - 제품 요구사항:
prd.md
npm install
cp .env.local.example .env.local # 아래 값 채우기
npm run dev # http://localhost:3000Supabase 대시보드 → Project Settings → API 에서 복사합니다.
| 변수 | 설명 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL |
프로젝트 URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
anon public key (클라이언트용) |
SUPABASE_SERVICE_ROLE_KEY |
service_role key — 서버 전용, 절대 클라이언트에 노출 금지 |
NEXT_PUBLIC_SITE_URL |
사이트 URL (기본 http://localhost:3000) |
Supabase 대시보드 → SQL Editor 에서 아래 파일을 순서대로 붙여넣고 실행합니다.
supabase/migrations/0001_init.sql— 테이블 9개supabase/migrations/0002_rls.sql— RLS 정책supabase/migrations/0003_triggers.sql— 가입 트리거(profiles/추천코드 자동 생성)supabase/seed.sql— 포인트 정책 시드
회원가입을 한 뒤, 본인 계정을 관리자로 올립니다(SQL Editor):
update profiles set role = 'admin' where email = '내이메일@example.com';미설정 시에도 이메일/비밀번호 로그인으로 전체 흐름을 시연할 수 있습니다.
- 카카오 개발자 앱 생성 → REST API 키 발급
- 카카오 앱 → 카카오 로그인 활성화, Redirect URI 에
https://<프로젝트>.supabase.co/auth/v1/callback등록 - Supabase 대시보드 → Authentication → Providers → Kakao 활성화 후 REST API 키/Client Secret 입력
- Supabase Authentication → URL Configuration 의 Redirect URLs 에
http://localhost:3000/auth/callback추가
npm test # Vitest 단위 테스트 (포인트/인증/타이머/결제 로직)
npm run build # 프로덕션 빌드 검증비즈니스 로직은 lib/의 순수 함수로 분리되어 Supabase 연결 없이 검증됩니다.
- 회원가입(추천 링크
?ref=코드사용 가능) → 마이페이지에서 신규가입 1000P 확인 - 추천인 페이지에서 내 추천코드/링크 복사
- 마이페이지에서 휴대폰 인증(개발 단계: 인증번호가 화면/콘솔에 표시됨)
- 인증 후 상담 예약(+500P) → 상담 시작 → Zoom 링크
- 15분 경과 시 결제 유도 모달 → 데모 결제 → 유료회원(paid) 전환(+5000P)
- 관리자 페이지: 회원 등급/권한 변경, 포인트 정책 수정, 메시지 예약/상담/결제 조회
개발 단계 인증번호는
/api/phone/send응답과 서버 콘솔에 노출됩니다(실 SMS 미발송).