트레이너 스케줄을 보고 PT 회차권을 결제·예약하는 앱
무엇을 만드나?
MVP 기획 · 19,000원
PRD·기능정의·화면목록·DB·API 계약까지, 개발자에게 바로 넘기는 기획서.
샘플은 여기까지 공개합니다
파일 다운로드와 전문(全文) 복사는 실제 결과물에서만 제공됩니다. 내 아이디어를 입력하면 같은 형식의 결과물을 받아볼 수 있습니다.
헬스장 회원과 트레이너가 PT 일정을 예약, 회차권을 관리, 그리고 각자 스케줄을 쉽게 보는 웹 서비스입니다. 앱을 통해 예약 충돌·분쟁 없이 투명하게 진행하고, 복잡한 기능 없이 검증 MVP로 만듭니다.
이 서비스는 동네 헬스장 회원과 트레이너가 PT(퍼스널 트레이닝)를 쉽고 투명하게 예약·결제·관리할 수 있도록 돕는 웹앱입니다. 기존의 카카오톡, 전화 등의 혼란스러운 예약 과정을 대체하며, 회차권 잔여관리와 간단한 취소 기능을 제공합니다.
목표
비목표(1차 제외)
트레이너 스케줄 조회
“회원으로서, 내가 원하는 트레이너의 가능한 PT 시간대를 한눈에 보고 예약 가능 여부를 알 수 있다.”
회차권 구매 및 잔여회차 관리
“회원으로서, 내가 보유한 PT 회차권의 남은 회차와 사용내역을 쉽게 확인할 수 있다.”
PT 예약 및 내역 조회
“회원으로서, 회차권이 있을 때 스케줄에서 원하는 시간에 쉽게 예약할 수 있고, 내가 한 모든 예약을 볼 수 있다.”
예약 취소 기능
“회원으로서, 예약한 PT 수업을 웹에서 직접 취소할 수 있고, 트레이너도 각 예약의 취소상태를 볼 수 있다.”
트레이너의 스케줄 관리
“트레이너로서, 본인의 PT 가능 일정을 직접 추가·수정·삭제할 수 있다.”
웹 기반 PT 예약 및 회차권 관리 MVP, 트레이너와 회원 양쪽 View 지원, 기본 데이터 및 인증, 예약·취소 로직까지.
1단계 — 인증·기본 데이터모델·트레이너 스케줄 뷰
회원/트레이너 가입-로그인, 기본 유저/트레이너/스케줄 엔티티, 트레이너별 스케줄 조회 화면
2단계 — 회차권 구매·예약/취소
회차권 생성/조회, PT 시간 예약, 예약 내역 화면, 예약 취소/상태 관리(간단 처리)
3단계 — 트레이너 스케줄 관리, 보완적 UX
트레이너용 스케줄 등록/수정/삭제, UX 개선(예: 잔여회차 안내, 예약/취소 UI), 버그픽스 및 MVP 마감
견적 참고 · 결제(실물 카드, PG 연동), 노쇼/지각/자동차감 등 자동로직, 실시간 채팅 등은 미포함. 브라우저-only 웹, Supabase Auth 중심, 안전한 데이터 보호가 외주사 견적 산정의 기준임. 각 단계는 린하게 구현하는 것에 중점.
랜딩페이지(로그인/회원가입) /
로그인 폼 · 회원가입 폼 · 서비스 소개 섹션
상태: 로그인 성공/실패, 회원가입 진행 중/완료
트레이너 스케줄 조회 /trainers/[trainerId]/schedules
트레이너 프로필 · 스케줄 캘린더/리스트 · 예약 가능여부 뱃지/버튼
상태: 주간/월간 보기, 예약 가능/예약됨 표시
회차권 구매/조회 /tickets
회차권 구매 폼 · 보유 회차권 리스트 · 잔여회차/사용내역
상태: 구매 진행/완료, 잔여/소진 상태
예약 내역 및 상세 /reservations
내 예약 리스트(미래/과거) · 예약 상세(상태, 취소 버튼 등)
상태: 예약 상태(booked/canceled), 취소 요청/완료
트레이너 스케줄 관리 /trainer/schedules
내 스케줄 캘린더 · 스케줄 생성/수정/삭제 폼
상태: 추가/수정중, 예약된 시간(수정불가)
Users
Trainers
Schedules
Tickets
Reservations
### API/서버액션 계약
#### 인증
- 모든 엔드포인트는 Supabase Auth 인증(JWT, 사용자 토큰)이 필요합니다.
#### 목록
| Method | 경로 | 입력 | 출력 | 인증 |
|--------|---------------------|-----------------------------------------------------|------------------------------|-----------|
| POST | /api/tickets/buy | { trainer_id, total_sessions } | { ticket_id, ... } | 회원 |나머지 25줄은 실제 결과물에서 확인할 수 있습니다
### 결정 및 리스크 요약 1. **인증: Supabase Auth만 사용** - OAuth/SMS 인증 등 복잡한 인증은 MVP에서 제외. - 리스크: 자체 인증 구현 시 규정 위반, Supabase Auth 장애 시 전체 로그인이 불가. - 대응: MVP 단계에서는 이메일/비밀번호만 지원, 상황발생시 Auth 장애대응 문서화. 2. **결제: 결제 API 미도입, 내부 회차권 구매 등록만 처리** - 리스크: 실제 결제와 불일치 가능 → 사후 분쟁 가능성 - 대응: MVP의 목적(내부 구매 관리) 명확 고지, 실결제는 고객센터로 유도
나머지 19줄은 실제 결과물에서 확인할 수 있습니다
### 수용 테스트 체크리스트 #### 회원 - [ ] 올바른 회원 가입/로그인(flows: Supabase Auth 사용, 이메일 인증) - [ ] 회차권 최초 구매: 트레이너 선택 후 정상적으로 tickets row가 생성되는지 - [ ] 내 회차권/잔여 회차가 리스트에서 정확히 노출되는지 - [ ] 예약 가능 시간 조회 후 원하는 슬롯을 선택해 예약 진행 시 reservations row가 생기고, 같은 시간 중복예약 불가 - [ ] 회차권 없는 상태에서 예약 시 거절됨 - [ ] 예약건 취소 시 status가 제대로 변경되고 UI 반영 - [ ] 내 예약 내역에서 최근 예약/취소 여부 및 상태 확인됨
나머지 13줄은 실제 결과물에서 확인할 수 있습니다
M0초기 인프라/DB 구성
M1프론트엔드 기본 설정 및 스타일
M2스케줄 조회 MVP 화면 구현
이 문서는 개발자에게 그대로 전달할 수 있는 기획서입니다.