Разработка мобильного приложения для ресторана (электронное меню)
Электронное меню — это не PDF на экране. Это приложение, которое заменяет ламинированные карты и при этом обновляется мгновенно: поменялась цена на стейк, выключили позицию из-за отсутствия ингредиента, добавили новый сезонный раздел — всё это без перепечатки и без ожидания курьера с новыми карточками.
Ключевые требования к реализации
Работа без интернета. Ресторан — не лучшее место для стабильного Wi-Fi на каждом планшете. Приложение должно работать полностью офлайн: меню хранится локально, обновляется при наличии соединения. Для Flutter — Hive или Drift для локального хранения, фоновая синхронизация через WorkManager-аналог (workmanager пакет).
Быстрый старт. Гость садится за стол, берёт планшет. Приложение должно показать меню мгновенно — без сплэш-экрана на 3 секунды и без спиннера. Кешированные данные → мгновенный рендер → фоновое обновление.
Фотографии блюд. Это самое тяжёлое для рендеринга. 80-120 позиций с фото — cached_network_image с disk cache, WebP на сервере, lazy loading через SliverList. На экране карточки блюда — полноэкранное фото с Hero-анимацией.
Функциональность CMS-панели
Всё меню управляется через веб-панель администратора: категории, позиции, фото, описания, цены, аллергены, КБЖУ, флаги «новинка» / «хит» / «нет в наличии». Переключение «нет в наличии» — в одно нажатие, без редактирования позиции.
Мультиязычность меню (если ресторан принимает туристов) — через Laravel Translatable, в панели переключаем язык и вводим перевод.
Стек: Flutter 3.x для планшетного приложения (оптимизировано под landscape-ориентацию и touch на большом экране), Laravel 10 + PostgreSQL, S3 для медиа, React-панель управления.
QR-меню как дополнительный канал: генерируем QR-код с ссылкой на веб-версию меню — гость сканирует своим смартфоном, видит то же меню в браузере без установки приложения.
Сроки
Планшетное приложение электронного меню с офлайн-режимом и CMS-панелью — от 5 до 8 недель. Стоимость рассчитывается индивидуально.







