입출고를 기록하면 안전재고 기준으로 발주 시점과 발주서를 만들어주는 매장 운영 도구
무엇을 만드나?
MVP 기획 · 19,000원
PRD·기능정의·화면목록·DB·API 계약까지, 개발자에게 바로 넘기는 기획서.
샘플은 여기까지 공개합니다
파일 다운로드와 전문(全文) 복사는 실제 결과물에서만 제공됩니다. 내 아이디어를 입력하면 같은 형식의 결과물을 받아볼 수 있습니다.
이 서비스는 매장 사장님과 직원이 함께 쓰는 단순한 재고·발주 기록 웹앱입니다. 입고/출고를 클릭만으로 기록하고, 발주 내역 및 안전재고 현황을 실시간에 가깝게 확인할 수 있습니다. 기록된 정보가 남아 다음 발주나 재고파악 시 반복되는 고민을 줄여줍니다.
소상공인 매장의 재고와 발주를 간편하게 관리할 수 있는 웹 기반 도구입니다. 매장에서 발생하는 입고/출고 내역을 손쉽게 기록하고, 안전재고 설정 및 발주 시점 알림과 발주서 관리 기능을 제공합니다. 직원이 여러 명이라도 사용자별로 내역을 추적할 수 있습니다.
목표
비목표(1차 제외)
재고 입고·출고 기록
“나는 매장 직원 또는 사장님으로, 매번 입고/출고가 발생할 때 쉽게 내역을 기록해 실제 재고를 신속히 관리하고 싶다.”
안전재고 설정보고 및 알림
“나는 사장님으로, 품목별 안전재고 수량을 설정하고, 부족 위험이 발생하는 품목을 한눈에 보고싶다.”
발주서 생성 및 발주 이력 관리
“나는 사장님 또는 담당 직원으로, 거래처별 발주서 작성과 내역을 손쉽게 기록, 조회하고 싶다.”
다중 사용자 및 권한 관리
“나는 사장님으로, 매장 직원별 계정을 관리하고, 직원이 기록한 이력도 함께 확인하고 싶다.”
재고 대시보드 요약
“나는 사장님 또는 직원으로, 전체 재고 현황과 입고/출고 내역, 위험 품목을 한눈에 보고싶다.”
단일 매장 재고·발주 관리의 필수 기능을 MVP로 구현하며, 모바일 앱·실시간 동기화 등 고도화 요소는 후순위로 둠.
1단계 — 인증·핵심 데이터 CRUD
Supabase Auth 기반 로그인/회원가입, 사용자(사장님/직원) 데이터 모델, 품목/재고/입출고 기록 CRUD, 초기 대시보드
2단계 — 발주 및 안전재고 기능
발주서 생성·발주 이력, 안전재고 설정 및 저재고 대시보드 경고, 거래처별 관리, 마감된 입출고 내역 조회 UI 개선
3단계 — 마이너 기능·배포·피드백
사용자 목록, 계정 초대, UI polishing, 보안·권한 점검, Vercel 배포 및 필드 피드백 반영
견적 참고 · - 실시간 동기화/알림, 모바일앱은 범위 제외. - 외부 결제/정산, 자동 발주, 거래처 통합 등은 추가 확장에서 논의. - Supabase 제한사항(SERVICE KEY 미노출, Auth 사용 등) 엄수 필요.
랜딩/로그인 페이지 /
LoginForm · SignUpLink
상태: email, password, loading, error
대시보드(재고 요약) /dashboard
StockSummary · RecentTransactions · SafetyStockWarningList
상태: inventorySummary, recentStockTransactions, lowStockItems, userRole
입고/출고 기록 화면 /transactions
TransactionList · TransactionForm
상태: transactionType, selectedItem, quantity, transactions, formStatus
품목 관리/안전재고 설정 화면 /inventory-items
ItemList · ItemForm · SafetyStockForm
상태: items, selectedItem, editMode, safetyStockQuantity, formStatus
발주서 목록 및 작성 화면 /purchase-orders
PurchaseOrderList · PurchaseOrderForm · OrderDetailList
상태: orders, selectedOrder, orderFormItems, formStatus
사용자 관리 (optional, MVP 내부 구현용) /users
UserList · InviteUserForm
상태: users, inviteEmail, role, formStatus
Users
InventoryItems
StockTransactions
PurchaseOrders
PurchaseOrderDetails
### API/서버액션 스펙 (핵심)
각 API 엔드포인트/서버액션은 인증(로그인) 필요. Supabase Auth JWT 사용.
| 메서드 | 경로 | 입력 | 출력 | 비고 |
|--------|-------------------------------|---------------------------------|------------------|-----------------|
| POST | /api/inventory | { name, unit, safety_stock_quantity } | item 객체 | 신규 품목 등록 |
| GET | /api/inventory | - | [item, ...] | 품목 리스트 |
| POST | /api/stock-transaction | { item_id, type (입고/출고), quantity } | transaction 객체 | 입/출고 기록 등록|
| GET | /api/stock-transaction | ?item_id | [transaction,...]| 입/출고 내역 조회 |나머지 74줄은 실제 결과물에서 확인할 수 있습니다
### 의사결정 및 리스크 대응 1. **인증: Supabase Auth만 사용** - 리스크: 인증 우회/취약점은 RLS(행 수준 보안)으로 2중 방어 2. **실시간 동기화, 모바일 네이티브, 자동 추천 등 NON-MVP 기능은 제외** - 범위 넘는 과설계 방지, 오해 문제는 명확히 문서화/기획서에 표기 3. **환경변수/시크릿 관리** - 하드코딩 금지, .env 및 Vercel 환경설정에만 입력, README 및 체크리스트 포함 4. **DB writes: 서버/보안규칙으로 강제** - Client DB 쓰기 시도 불가, 서버(Next.js API Route/Server Action)이나 Supabase 정책만 사용
나머지 4줄은 실제 결과물에서 확인할 수 있습니다
### 수용 테스트/QA 체크리스트 #### 1. 일반 시나리오 - [ ] 로그인하지 않으면 어떠한 데이터도 볼 수 없고, 서버 액션/API가 모두 거부됨 - [ ] 재고 품목 등록/조회/수정이 순조롭고, 사용자가 등록한 품목만 확인 가능 - [ ] 입고 기록 등록 시 해당 품목 재고가 증가, 출고시 감소(음수 안됨) - [ ] 입출고 기록에 사용자, 시점, 품목이 남음(감사추적 가능) - [ ] 안전재고 이하 품목이 별도 표시됨 - [ ] 발주서 생성시 모든 입력값(거래처/수량 등)이 정확히 반영되어 저장됨 - [ ] 발주이력조회에서 거래처/날짜 등 필터링이 기대대로 작동
나머지 9줄은 실제 결과물에서 확인할 수 있습니다
M0DB 스키마/보안/시드 구축
M1기본 UI 환경/프레임워크 세팅
M2공통 컴포넌트/대시보드 화면 제작
M3Supabase 연동 및 인증 UI 골격
M4핵심 기능별 화면/APIs 추가
이 문서는 개발자에게 그대로 전달할 수 있는 기획서입니다.