Pizza Pazzo
Собствена система за онлайн поръчки на действаща пицария, работеща от 2012 г.: двуезично меню, количка, checkout, клиентски профили, админ панел и Android приложение за кухнята.

01 · Проблем
С какво е започнало
Поръчките се приемат по телефон и се записват на ръка. Менюто е статично и всяка промяна на цена изисква намеса. Няма собствен канал, през който клиентът да поръча сам.
Целите на проекта:
- Собствен канал за онлайн поръчки, независим от marketplace платформа
- Меню, което екипът обновява сам, без разработчик
- Поръчката да стига до кухнята без ръчно преписване
02 · Решение
Какво предложихме
Next.js платформа с дигитално меню, количка и checkout, сървърна проверка на цените, клиентски профили, админ панел за поръчки и отчети, и отделно Android приложение за кухнята с печат на бонове по Bluetooth.
03 · Изпълнение
Какво конкретно е изградено
- Двуезичен публичен сайт BG/EN (BG без префикс, EN на /en — старите URL адреси не се променят)
- Дигитално меню: 98 продукта в 10 категории, с варианти по размер
- Продуктови страници, категорийни страници, популярни продукти, галерия, контакти
- Количка и checkout с доставка и плащане в брой при доставка
- Сървърна валидация на цените (клиентът не може да подмени сума)
- Регистрация, вход, клиентски профил, адреси и история на поръчките
- Роли и защитени маршрути (customer / staff / admin / super_admin)
- Седем статуса на поръчката: очаква потвърждение, прието, приготвя се, готово, в доставка, доставено, отказано
- Админ панел: живи поръчки, приемане и отказ с време, продукти, категории, варианти, меню, настройки
- Отчети в админ панела и работни смени
- Редактируеми от админа данни на ресторанта и работно време
- Транзакционни имейли през Resend
- Шаблони за печат на поръчка за 80 mm термален принтер
- Android приложение за кухнята с печат по Bluetooth
04 · Трудната част
Кое беше сложното и как е решено
Двуезичността трябваше да влезе преди количката. Сайтът pizzapazzo.bg се индексира от 2012 г. — префиксиране на българските адреси щеше да пренасочи всеки съществуващ URL и да изхвърли натрупаното SEO.
BG остана без езиков префикс, EN мина на /en. Текстовете на менюто се пазят като двойка {bg, en} в данните, а езикът се резолвва в един data слой — UI компонентите не знаят, че съществуват преводи. Два речника със 354 ключа са типизирани, така че сгрешен ключ е грешка при компилация, а отделна проверка спира разминаване между двата езика.
05 · Резултат
Проверими резултати
- Продукти в менюто
- 98 в 10 категории
- Варианти и размери
- 84
- Статуси на поръчката
- 7
- Роли за достъп
- 4 (CUSTOMER, STAFF, ADMIN, SUPER_ADMIN)
- Езици
- BG / EN
- i18n ключове
- 354, синхронни между двата речника
- TypeScript
- strict, 0 грешки
- Проверка на цените
- на сървъра
- Печат
- 80 mm термален принтер по Bluetooth
Какво вече може бизнесът:
- Клиентът може да поръча сам, с доставка до адрес
- Екипът приема или отказва поръчка и задава време за изпълнение
- Поръчката минава през ясни статуси до доставяне
- Менюто, цените, вариантите и продуктите се управляват от админ панела
- Кухнята вижда поръчката на отделно устройство и я печата
- Собственикът вижда отчети за поръчките по период и смяна
Техническа валидация:
- TypeScript type check без грешки
- Успешен production build
- Проверка за синхронност на двата езикови речника
- Smoke скрипт за пътя количка → checkout → поръчка
Точен статус на проекта
Системата е разработена и технически валидирана. Пускането в реална среда (хостинг, домейн, реални снимки, потвърдени алергени) към момента не е финализирано. В текущата версия клиентският checkout поддържа доставка с плащане в брой; вземането от място е реализирано в кухненския печат, но още не е пуснато в клиентския път. Картовите плащания и интеграцията с Microinvest не са внедрени.