# PRD نمونه: سفارش‌گیری کافه

نسخه ۱ — ۲۰۲۶-۱۰-۱۶ — مثال آموزشی خانهٔ ۲۷۱۷

این سند نتیجهٔ یک پروژهٔ مشتری نیست. نام، محصول و داده‌ها را با مسئلهٔ خودت جایگزین کن.

## مسئله و کاربر

مشتری کافه می‌خواهد منو را روی گوشی ببیند و یک سفارش با شمارهٔ پیگیری ثبت کند.
مدیر کافه باید سفارش‌های ثبت‌شده را در پنل مجاز ببیند و وضعیت آماده‌سازی را تغییر دهد.

## مسیر اصلی نسخهٔ اول

۱. نمایش منو از دادهٔ سرور، همراه قیمت و موجودی.
۲. انتخاب محصول و تعداد، حذف از سبد و نمایش جمع.
۳. ثبت سفارش در سرور؛ محاسبهٔ قیمت و بررسی موجودی در سرور.
۴. نمایش شناسهٔ سفارش و وضعیت قابل پیگیری.
۵. نمایش سفارش در پنل مدیریت دارای احراز هویت و مجوز.

## خارج از دامنه

چندشعبه‌ای، باشگاه مشتریان، پیشنهاد هوشمند، ارسال، صدور فاکتور رسمی و پرداخت واقعی در مرحلهٔ اول.
پرداخت فقط پس از تحویل مسیر ثبت سفارش اضافه می‌شود.

## داده‌های حداقلی

- محصول: شناسه، نام، قیمت با واحد صریح، موجودی، فعال/غیرفعال.
- سفارش: شناسه، اقلام و قیمت ثبت‌شده، جمع معتبر، وضعیت، زمان، مالک در صورت نیاز.
- درخواست ثبت: شناسهٔ یکتا برای جلوگیری از سفارش تکراری.
- تلاش پرداخت در مرحلهٔ بعد: شناسهٔ سفارش، شناسهٔ تراکنش سرویس، مبلغ، وضعیت تأیید و وضعیت تحویل.

## معیار پذیرش

- [ ] محصول ناموجود قابل سفارش نیست؛ سرور نیز آن را رد می‌کند.
- [ ] جمع مرورگر و جمع معتبر سرور در سناریوی عادی یکسان‌اند.
- [ ] تغییر قیمت در درخواست مرورگر، مبلغ معتبر سفارش را عوض نمی‌کند.
- [ ] درخواست تکراری با یک شناسه، سفارش تازه نمی‌سازد.
- [ ] پس از راه‌اندازی دوبارهٔ برنامه، سفارش باقی می‌ماند.
- [ ] خطای شبکه سبد را بدون توضیح پاک نمی‌کند و امکان تلاش دوباره وجود دارد.
- [ ] کاربر بدون مجوز نمی‌تواند سفارش‌های پنل را از API بخواند.
- [ ] مسیر اصلی روی گوشی، با دکمه‌ها و پیام‌های قابل فهم اجرا می‌شود.

## قرارداد یک تسک برای ایجنت

هدف: [یک رفتار قابل مشاهده]
ورودی و محدودیت: [فایل PRD، محیط آزمایش، مسیرهای مجاز تغییر]
حالت موفق: [گام‌های کاربر و نتیجه]
حالت‌های خطا: [شبکه، دادهٔ نامعتبر، مجوز، درخواست تکراری]
خارج از دامنه: [تغییراتی که به این تسک تعلق ندارند]
معیار پایان: [نتیجهٔ تست یا بررسی، محدودیت باقی‌مانده، نسخهٔ قابل بازگشت]

## ثبت تحویل

نسخه/Commit:
محیط:
تاریخ:
سناریوی بررسی‌شده:
نتیجه:
موارد آزمایش‌نشده:
محدودیت و قدم بعدی:

راهنما: https://2717.house/blog/build-first-ai-app
