운동과 식단을 10초 안에 기록하고, 목표 대비 변화를 그래프와 주간 리포트로 보여주는 앱
무엇을 만드나?
MVP 기획 · 19,000원
PRD·기능정의·화면목록·DB·API 계약까지, 개발자에게 바로 넘기는 기획서.
샘플은 여기까지 공개합니다
파일 다운로드와 전문(全文) 복사는 실제 결과물에서만 제공됩니다. 내 아이디어를 입력하면 같은 형식의 결과물을 받아볼 수 있습니다.
바쁜 직장인을 위한 간단한 건강(운동·식단·체중) 기록 웹앱 MVP입니다. 회원가입 후 목표를 정하고, 일상 기록을 입력하면 진행 현황과 변화를 대시보드와 리포트로 보여줍니다. 복잡한 추천·분석 없이, 기록·현황 확인이라는 핵심에 집중합니다.
직장인들이 건강 관리(운동/식단/체중)를 간단하게 기록하고, 목표에 대한 진행 상황을 쉽게 확인할 수 있게 하는 웹앱입니다. 복잡한 입력 없이 매일 기록을 남기고, 자신의 변화 추이와 목표 달성 현황을 그래프 및 리포트로 한눈에 볼 수 있습니다. 회원가입, 목표 설정, 기록 저장, 대시보드, 주간 리포트 등으로 최소 핵심을 구성한 MVP입니다.
목표
비목표(1차 제외)
회원 가입 및 로그인 (Firebase Auth)
“신규 사용자는 이메일/비밀번호로 가입하고, 로그인하여 자신의 데이터를 안전하게 관리한다.”
목표 체중 설정 및 수정
“사용자는 본인의 목표 체중을 설정하고 필요시 수정한다.”
운동/식단 기록 입력 (간편)
“매일 자신의 식단과 운동 기록을 쉽고 빠르게 추가할 수 있다.”
변화 추이 대시보드
“로그인 후 내 목표와 현재 상태, 최근 기록, 변화 차트(체중/빈도 등)를 한눈에 볼 수 있다.”
주간 리포트 화면
“지난 1주일간 내 기록 종합/요약(운동일수, 총 운동시간, 체중 변화 등)을 확인한다.”
Firebase + Next.js로 MVP급 건강관리 기록 웹앱 구현. MVP는 입력·목표·진행 현황 조회에 집중하며, 복잡 분석·모바일·결제 제외.
1단계 — 인증·회원관리·기본 레이아웃
회원가입/로그인(Firebase Auth), 공통 레이아웃(헤더/네비), 비로그인 가드, Firebase 연동 세팅
2단계 — 목표/기록 CRUD
목표 입력·수정, 기록 입력(Create)/수정/삭제, 기록 데이터 저장/조회 연동, Firestore 보안 규칙 구축
3단계 — 진행 현황 대시보드·주간 리포트
대시보드(진행 현황/그래프), 주간 리포트, 이전 기록 조회, 실제 변화 추이 렌더링, UX/간단 테스팅
견적 참고 · 각 단계 완료 후 내부 점검 및 사용자 피드백 0.5~1주 권장. MVP 기준, 모바일웹 대응은 반응형 수준까지만. 외부 API(추천, 분석)나 결제·공유·SNS 등은 범위 외로 명확히 명시할 것.
랜딩페이지 /
서비스소개 · 바로가기(회원가입/로그인)
상태: 비로그인/로그인
회원가입/로그인 /login (or /signup)
이메일/비번 입력폼 · 구글/Firebase 로그인 (옵션성) · 비밀번호 분실/재설정
상태: 입력 중, 오류 표시, 로그인 상태
목표 설정 화면 /goal-setup
목표 체중 입력 폼 · 저장 버튼
상태: 미설정/설정됨, 저장/수정 중
기록 입력 화면 /records/new
운동 기록 입력 · 식단 기록 입력 · 체중 입력(옵션) · 저장/수정/삭제
상태: 작성중/수정/저장됨
진행 상태 대시보드 /dashboard
목표/현재 체중 비교 · 최근 기록 목록 · 변화 그래프
상태: 로딩 중/데이터 있음/없음
주간 리포트 /weekly-report
주간 요약 통계 · 주간 변화 그래프 · 이전주/다음주 이동
상태: 특정주 선택, 데이터 유무
users
goals
records
### [API/서버액션 계약]
- 모든 엔드포인트는 Firebase Auth로 인증된 유저만 이용 가능(Authorization 헤더 필요, 서버액션에서는 세션검사)
| 메서드 | 경로 | 입력 | 출력 | 인증 |
|:------:|:--------------------------|:---------------------|:----------------------|:------|
| POST | /api/goals | target_weight, start_date | goal object | O |
| GET | /api/goals | - | goal object or null | O |
| PATCH | /api/goals/{goalId} | target_weight | goal object | O |
| POST | /api/records | date, exercise_type, exercise_duration_minutes, meal_type, meal_description | record object | O |
| GET | /api/records?start&end | start, end (yyyy-mm-dd) | record[] | O |나머지 5줄은 실제 결과물에서 확인할 수 있습니다
### [주요 결정 및 리스크] **의사결정** - 인증: Firebase Auth만 사용, 별도 OAuth/Social Login 미적용(MVP) - DB: Cloud Firestore 테이블(users, goals, records)만, 서버에서만 쓰기 허용, 클라직접 DB쓰기는 강력히 금지 - 상태관리: 서버액션 위주, 클라캐싱은 최소화 - 그래프/리포트: 단순 시각화 위주(외부차트 라이브러리 사용 가능) **리스크 및 대응** - 브라우저에서 직접 DB 기록시 인증 우회/권한 오남용 위험 → 반드시 서버액션, Firestore 보안규칙 double check
나머지 3줄은 실제 결과물에서 확인할 수 있습니다
### [수용 테스트 체크리스트] ##### 회원가입/로그인 - [ ] 올바른 이메일/비밀번호로 회원가입 및 로그인 가능 - [ ] Firebase Auth 인증 상태가 없으면 서버액션/데이터 접근 불가 (리다이렉트 또는 에러) ##### 목표 설정 및 변경 - [ ] 목표 체중을 정상 입력/수정/조회 가능 - [ ] 목표 미설정 상태에서 알림/입력 유도 UI 정상 ##### 기록 입력/수정/삭제
나머지 16줄은 실제 결과물에서 확인할 수 있습니다
M0프로젝트/인프라 초기화
M1데이터 모델·시드·인증 스캐폴드
M2기본 화면
M3기록·목표 입력/리포트·그래프 스텁 추가
이 문서는 개발자에게 그대로 전달할 수 있는 기획서입니다.