پروژهٔ دوویتا با یک هفته کشف نیاز آغاز شد؛ ما بهجای پرسش از صاحب رستوران، یک شیفت کامل کنار کارکنان آشپزخانه و صندوق ایستادیم. این مشاهدهٔ میدانی نشان داد گلوگاه اصلی، هماهنگی میان میز، آشپزخانه و صندوق است؛ بنابراین محصول حول یک جریان سفارش بلادرنگ طراحی شد، نه صرفاً یک منوی دیجیتال.
از نظر فنی، هستهٔ سامانه را با Nuxt برای پنل مدیریت و یک API مبتنی بر Node ساختیم و برای بهروزرسانی زندهٔ وضعیت سفارشها از WebSocket استفاده کردیم. نمایشگر آشپزخانه بهمحض ثبت سفارش روی میز آن را میبیند و هر تغییر وضعیت بدون رفرش به صندوق منعکس میشود؛ این کاهش رفتوآمد، خطای انسانی را بهشکل محسوسی پایین آورد.
چالش جدی، کارکرد در شرایط قطع اینترنت بود. ما لایهای آفلایناول با IndexedDB ساختیم تا سفارشها بهصورت محلی ثبت و پس از بازگشت اتصال همگامسازی شوند. تعارضهای احتمالی با مهر زمانی و قاعدهٔ «آخرین نوشته برنده است» در سطح فیلد حل میشدند تا هیچ سفارشی گم نشود.
تحویل بهصورت تدریجی انجام شد؛ ابتدا یک شعبه بهعنوان خلبان، سپس بازخوردگیری دو هفتهای و در نهایت گسترش به همهٔ شعب. مهمترین درس این بود که آموزش کارکنان بهاندازهٔ خود نرمافزار اهمیت دارد؛ ما ویدئوهای کوتاه آموزشی و یک حالت تمرینی در خود اپلیکیشن گنجاندیم تا کارمند تازه بدون ریسک یاد بگیرد.