가맹점마다 자기 데이터만 보이도록 격리하고, 본사·지역관리자·점주·직원 네 역할에 서로 다른 권한을 주며, 가맹점 발주와 일매출이 본사 대시보드에 자동 집계되고, 정산 내역은 변경 이력이 남아 이견이 생기면 근거를 되짚을 수 있는 다점포 운영 도구
‘MVP 기획’·‘AI 빌드 기획 패키지’·‘프로토타입 프롬프트’는 빌드 패키지 하나에 함께 들어갑니다 — 따로 결제하지 않습니다.
무엇을 만드나?
MVP 기획 · 베타 무료
PRD·기능정의·화면목록·DB·API 계약까지 — 이 자료로 저희가 먼저 만들어 확인시켜드리거나, 직접 개발에 바로 쓰실 수 있습니다.
샘플은 여기까지 공개합니다
파일 다운로드와 전문(全文) 복사는 실제 결과물에서만 제공됩니다. 내 아이디어를 입력하면 같은 형식의 결과물을 받아볼 수 있습니다.
이 웹서비스는 프랜차이즈 다점포 매장 운영 데이터를 본사/관리자/점주가 각각 권한에 맞게 안전하게 관리할 수 있게 해줍니다. 발주·매출·정산 등 핵심 업무를 종이, 전화, 엑셀 없이 한 곳에서 처리할 수 있습니다. 사용자는 각자 필요한 범위만 볼 수 있고, 모든 기록이 안전하게 남습니다.
프랜차이즈 본사와 가맹점, 지역 관리자가 매출·발주·정산 정보를 웹에서 쉽게 주고받으며, 권한별로 필요한 정보만 안전하게 볼 수 있게 만드는 다점포 관리 서비스입니다.
목표
비목표(1차 제외)
사용자 및 권한 관리
“관리자로서 모든 사용자를 등록/수정/삭제하고, 각자 지정된 권한만 접근하도록 하고 싶다.”
가맹점별 발주 관리
“가맹점주로서 발주 요청서를 작성하고, 지역 관리자·본사가 확인/확정하는 과정을 웹에서 처리하고 싶다.”
일매출보고
“가맹점주 또는 매장 직원으로서 매일매일의 매출을 간편하게 입력하고, 본사·관리자는 점포별 매출 현황을 볼 수 있다.”
정산 내역 및 변경 이력 관리
“본사 담당자로서 각 점포/기간별 정산 내역을 전산화하여 잘못 입력되면 누가 언제 무엇을 바꿨는지 확인하고 싶다.”
대시보드(본사/지역)
“본사와 지역 관리자 각각의 대시보드에서 권한에 맞는 점포·매출·발주·정산 현황을 한눈에 보는 화면이 필요하다.”
프랜차이즈 본사/가맹점 포털 MVP(사용자, 발주, 매출, 정산관리) + 대시보드와 권한 구분.
1단계 — 인증 및 기초 데이터/화면
Supabase Auth 연동, 사용자/매장/권한 데이터모델, 로그인/리다이렉트/기초 대시보드 UI 설계
2단계 — 발주·매출 CRUD, 권한별 대시보드
발주/매출 입력·CRUD, HQ/지역관리자/가맹점주 대시보드 상태 관리, 권한 필터링·보기
3단계 — 정산/변경이력, 테스트 및 마감로직
정산/변경이력 테이블 및 화면, 마감(locked) 처리 및 변경이력, 전체 내역 통합, QA 및 보안 규칙 강화
견적 참고 · 외주 견적 시 프랜차이즈/다점포 경험 여부와 Supabase 실전 경험, Next.js App Router 패턴 활용 능력 여부에 따라 투입공수 차이 있음. MVP이지만 데이터보안 및 권한로직 경험자 필요.
랜딩페이지 및 로그인 /
LoginForm · RoleRedirect
상태: 로그인 상태, 권한별 리다이렉트
본사 대시보드 /hq/dashboard
StoreListOverview · OrderStatusSummary · SalesSummary · SettlementSummary
상태: 전체 점포 및 현황 데이터, 보기/필터 기준(기간 등)
지역 관리자 대시보드 /rm/dashboard
MyStoresOverview · RegionOrderList · RegionSalesSummary · RegionSettlementSummary
상태: 담당 점포 현황, 보기/필터 기준 상태
가맹점주용 발주 작성/조회 /orders
OrderForm · OrderHistoryList
상태: 신규 발주 입력 상태, 기존 발주 내역(상태별)
일매출 입력 화면 /sales
SalesInputForm · SalesHistoryList
상태: 신규 입력/수정 모드, 일자별 입력 내역
정산 내역 및 변경 이력 /settlements
SettlementList · SettlementChangeHistory
상태: 정산 편집/마감 여부, 변경이력 보기
Users
Stores
Orders
Sales
Settlements
SettlementChanges
### 핵심 API/서버액션 계약
| 메서드 | 경로 | 인증 | 입력 | 출력 | 비고 |
| ------ | ---- | ---- | ---- | ---- | ---- |
| POST | /api/auth/login | 없음 (Supabase Auth) | email, password | JWT 토큰 | Supabase Auth 사용 |
| POST | /api/orders | 로그인 필요 | {store_id, order_date, details} | created Order 객체 | 발주 생성 (점주/직원) |
| GET | /api/orders?store_id= | 로그인 필요 | store_id (선택), 상태 (QUERY) | Order[] | 가맹점별/상태별 발주 리스트 |
| PATCH | /api/orders/:id/status | 로그인 필요 (권한 체크) | status(확인/확정), updated_by | 변경 Order 객체 | 지역관리자/본사만 가능 |
| POST | /api/sales | 로그인 필요 | {store_id, date, amount} | created Sales 객체 | 일매출 보고 (점주/직원) |
| GET | /api/sales?store_id= | 로그인 필요 | store_id/date(옵션) | Sales[] | 매출조회 (권한에 따라 제한) |나머지 11줄은 실제 결과물에서 확인할 수 있습니다
### 핵심 의사결정 및 리스크 대응 - Supabase Auth만 사용, 자체 세션/인증 토큰 미구현(=보안 문제 최소화) - 모든 쓰기/수정 작업은 Next.js 서버액션/api route로 래핑. 클라이언트에서 직접 DB mutation 불가(보안 1차 차단) - Supabase Row Level Security(RLS) 필수 적용: role(역할)·assigned_store_id로 권한별 row 접근 통제 → 미구현시 정보 노출 리스크. - 서비스 키(Secret key)는 서버 전용(api route, getServerSideProps 등), 브라우저 client에는 노출 금지(노출시 전체 DB 오픈 위험) - 환경변수(.env.local) 관리와 Vercel 환경변수 일관성 → 누락시 배포 오류, 지역관리자 권한 오설정 위험 - 네이티브 앱, SMS/푸시 알림/결제 등 외주 기능은 오버스펙이므로 MVP 배제(요구사항 creep 방지) - 단일 region_id 등 권한구조 단순화, 차후 multi role 겸직 발생시 RLS rule/클라이언트 접근 제한 추가 필요. - 모든 이력 SettlementChanges로 감사추적(log) 구현(분쟁·이견 대비)
나머지 3줄은 실제 결과물에서 확인할 수 있습니다
### QA 수용 테스트 체크리스트 - [ ] 권한별 회원 로그인 및 내 정보 조회 (점주/직원/지역관리자/본사) - [ ] 점주가 발주 생성 시 정상 등록/조회/내점 매장만 노출됨 - [ ] 점주 발주 입력 후 지역관리자가 상태 변경(확인) 가능, 자신의 지역점포만 목록/수정 가능 - [ ] 본사가 발주 확정 시 상태 변경 및 모든 단계별 히스토리 반영 - [ ] 점주/직원이 일매출 등록 시 본인 매장만 입력/수정 - [ ] 지역관리자는 담당 점포 매출만 열람/관리 - [ ] 본사 대시보드는 전체 매장 발주, 매출, 정산 내역을 정상 조회/수정 가능 - [ ] 정산 마감 후(Mar 1~31→closed) 더 이상 금액 수정 불가, 불가시 적절 에러 메시지 노출
나머지 7줄은 실제 결과물에서 확인할 수 있습니다
M0환경 기초 작업
M1핵심 데이터 조회 화면 구현
M2Supabase 연동 및 인증기반 데이터 제공
M3전역 데이터 관리 및 API 연결 개선
핵심이 동작하는 결과물로 먼저 만들어 확인하실 수 있도록 검토해 드립니다. 검증된 전문가에게 직접 의뢰할 수도 있습니다.
이 자료로 저희가 먼저 만들어 확인시켜드리거나, 개발자에게 그대로 전달할 수 있습니다.