Dev // разработка сайтов, ботов
4 subscribers
42 photos
3 links
Контакт для связи: @FandDes
Download Telegram
Всем привет!
Решил выйти на связь, чтобы похвастаться проектами :)

В этот раз делал сайт для Волгоградской компании "ЦРТИ" (выкладывается с очень большим запозданием)

Было сделано:
▶️ Главная страница сайта
▶️ Галерея
▶️ Админ-панель для обработки заявок

🌐 Сам сайт: https://crtiaero.ru/

И как обычно что-то мог упустить)

Для заказа разработки вашего сайта обращайтесь по контактам в описании канала :)
❤1
Приветствую всех.

Сегодня у нас была сделана CRM для операторов кофейных автоматов

Функционал:
Пользовательская часть:
▶️ Отправка отчётов об обслуживании кофейного аппарата
▶️ Просмотр статистики
▶️ Возможность добавить график обслуживания
▶️ Возможность отправить заявку на склад для выдачи конкретных товаров
Админ-панель:
▶️ Просмотр статистики
▶️ Создание/редактирование новых пользователей
▶️ Просмотр заявок для выдачи со склада
▶️ Просмотр отчётов операторов
▶️ Возможность отправить задачу операторам
▶️ Просмотр и добавление графика обслуживания
▶️ Система уведомлений (рассылка сообщений операторам)
▶️ Настройка и рассчёт зарплаты
▶️ Система оповещений в телеграмм канал

Так же админка предусматривает разделение ролей (владелец, администратор и т.д) и для каждой роли доступны свои функции.

В общем как-то так

Для заказа разработки вашего сайта обращайтесь по контактам в описании канала :)
👍1
Что у нас здесь? А это же новый сайт - crm, для ресторанов доставки)

FrontEnd у нас сделан на современном React
BackEnd как обычно на FastAPI

Важно, это не точечный сайт для одной компании, а платформа, которая подойдёт почти любому ресторану!

Функционал (много букв):
## ЧАСТЬ 1. Сайт для клиентов (публичная часть)

### Оформление и брендинг (white-label)

- Персонализируемая тема: акцент, фон, поверхности, текст, скругления, свечение — через админку.
- 4 готовых пресета: Классика (тёмный + лайм), Неон, Минимализм, Светлый (лавандовый Soft UI с фиолетовым акцентом).
- Мгновенное применение темы без «мигания» при загрузке (boot.js + кэш настроек в localStorage).
- Два логотипа: основной (для тёмного фона) и альтернативный (для светлого) — автопереключение по теме.
- Favicon из админки (PNG, ICO, SVG).
- Слоган, короткое описание, соцсети в футере (Telegram, VK, WhatsApp, Instagram, Max) — иконки с подсказками при наведении.

### Главная страница

- Слайдер акций и баннеров (заголовок, подзаголовок, CTA, изображение, градиент, тег). Если баннеров нет — hero-блок с названием, слоганом и описанием бренда.
- Полоска промо-блоков под баннером (доставка, бонусы, промокод и др.) — редактируется в админке, иконка + заголовок + текст + опциональный код.
- Меню по категориям с навигацией по разделам.
- Карточки блюд: фото, название, описание, вес, цена, бейджи; модификаторы (группы опций) через модалку.
- Избранное — сердечко на карточке блюда (для авторизованных клиентов).
- Поиск по меню (название, описание, вес) — фильтрация в реальном времени.
- Прелоадер меню на медленных соединениях.
- Баннер «Сейчас не работаем» — по расписанию из админки, с контрастным текстом на любой теме.
- Адаптивный дизайн, поддержка светлой и тёмной темы.

### Корзина и оформление заказа

- Добавление/удаление блюд, изменение количества, учёт модификаторов.
- Расчёт суммы, стоимости доставки, прогресс до бесплатной доставки.
- Checkout-модалка:
  - выбор адреса доставки (сохранённые адреса или новый);
  - карта для указания точки;
  - геокодинг (подсказки адресов, обратное геокодирование);
  - проверка попадания в зону доставки (полигоны на карте);
  - расчёт минимального заказа и стоимости доставки по зоне;
  - промокоды (% или фикс, лимит использований, только на первый заказ);
  - бонусные баллы (списание до N% от суммы);
  - количество приборов;
  - как можно скорее / ко времени — предзаказ со слотами доставки;
  - превью ETA (ориентировочное время доставки);
  - способы оплаты (включаются в админке):
    - наличными курьеру;
    - картой курьеру;
    - картой онлайн через ЮKassa (редирект, webhook, чек 54-ФЗ).

### Авторизация клиентов

- Вход только через Telegram (без пароля на сайте).
- Telegram-бот подтверждает вход (polling / deep link).
- JWT access + refresh tokens.

### Личный кабинет (/profile)

- Профиль (имя, телефон из Telegram).
- День рождения — указание даты (календарь в стиле сайта), раз в год можно изменить.
- История заказов с статусами.
- Повтор заказа — добавление позиций из прошлого заказа в корзину (с учётом доступности блюд).
- Активные заказы с переходом к отслеживанию.
- Бонусный баланс и история начислений/списаний.
- Сохранённые адреса (CRUD, адрес по умолчанию).
- Подключение Web Push-уведомлений.

### Отслеживание заказа (/order/:id)

- Timeline статусов: ожидает оплаты → новый → принят → готовится → готов → в пути → доставлен.
- Автообновление (polling).
- Оплата онлайн: кнопка «Оплатить», возврат с ЮKassa.
- Отзыв после доставки (оценка + текст).

### Информационные страницы

- О нас — контент из SEO-настроек.
- Доставка и оплата — условия, способы оплаты, сроки.
- Программа лояльности — уровни, кешбэк, правила.
- Политика конфиденциальности и Пользовательское соглашение (HTML с санитизацией XSS).
- Страницы 404 и 500.

### SEO и PWA

- Meta-теги, Open Graph, favicon (из админки).
- robots.txt и sitemap.xml с backend.
- Service Worker для push (опционально).
- Юридические документы редактируются в админке.

---

## ЧАСТЬ 2. Админ-панель (/admin)

### Роли и доступ (RBAC)
| Роль | Доступ |
|------|--------|
| Owner (владелец) | Полный доступ ко всему |
| Admin | Меню, категории, акции, промокоды, персонал, dispatch, KDS |
| Manager | Заказы, пользователи, стоп-лист, аналитика, отзывы, KDS |
| Operator | Заказы, чат, бонусы, ручные заказы |
| Courier | Свои доставки |
| Kitchen | KDS (экран кухни), ограниченный API |

Вход персонала: email + пароль (отдельно от клиентов). Роль kitchen изолирована — только KDS, auth и свой профиль.

### Real-time (WebSocket)

- Единое WebSocket-подключение /api/ws для всей админки (по роли — свои каналы).
- Мгновенное обновление заказов, KDS, dispatch, доставок, чата, badge-счётчиков.
- Звуковые уведомления при новых заказах, готовности к отправке, чате, SLA-напоминаниях.
- Резервный polling, если WebSocket недоступен.

### Обзор (Dashboard)

- Новые заказы, заказы в работе, заказов сегодня, выручка сегодня.
- Сравнение с вчера (% изменения заказов и выручки).
- Ссылка на dispatch, если есть заказы «готов».
- Подсказка по роли пользователя.

### Сайт и настройки (Owner)

SEO и сайт:

- Название сайта, meta title/description, OG-image.
- Редактор «О нас», политики, соглашения (rich text + санитизация).
- Управление robots.txt / sitemap.

Настройки магазина:

- Минимальный заказ, стоимость доставки, порог бесплатной доставки, время доставки.
- Контакты (телефон, email), город, центр карты и zoom.
- График работы по дням недели (открытие/закрытие, выходные) — влияет на баннер «не работаем» и текст расписания на сайте.
- Процент списания бонусов (% от суммы заказа).
- Бонус на день рождения — сумма, автоначисление за N дней до ДР.
- Напоминания по времени (SLA) — пороги для статусов «новый», «готовится» и др.; подсветка просроченных заказов (не автоматическая отмена).
- Печать на кухне — ESC/POS-принтер по сети (IP:9100), автопечать при новом заказе, повтор с KDS.
- Включение/выключение способов оплаты.

Персонализация (отдельная вкладка):

- Брендинг: название на сайте, слоган, описание, основной и альтернативный логотип, favicon.
- Соцсети: Telegram, VK, WhatsApp, Instagram, Max — с превью иконок.
- Блоки на главной: CRUD промо-карточек (заголовок, описание, промокод, иконка, порядок, вкл/выкл).
- Тема оформления:
  - 4 пресета одним кликом;
  - ручная настройка акцента, свечения, фона, поверхностей, текста, скругления;
  - живой предпросмотр сайта в боковой панели;
  - сброс к классической теме.

Push-уведомления:

- Правила push по событиям заказа (принят, готовится, курьер в пути, доставлен).
- Каналы: Web Push (сайт) и FCM (Android).

Зоны доставки:

- Интерактивная карта Leaflet (светлая подложка карты в светлой теме).
- Рисование полигонов зон (draw tools).
- Настройка зоны: название, цвет, стоимость доставки, мин. заказ, вкл/выкл.
- Редактирование вершин, очистка полигона, удаление.

### Меню и акции (Owner / Admin)

Категории:

- CRUD (название, slug, порядок).
- Drag-and-drop сортировка.
- Публикация / скрытие.

Блюда:

- CRUD: название, категория, цена, описание, вес, фото.
- Группы модификаторов (обязательные/опциональные опции с наценкой).
- Загрузка фото с конвертацией в WebP (прозрачность сохраняется).
- Статус: в меню / черновик / стоп.

Акции (баннеры слайдера):

- CRUD баннеров для hero-слайдера.
- Заголовок, подзаголовок, CTA, тег, градиент, изображение.

Промокоды:

- Код, тип (% / фикс), значение, срок, лимит использований.
- Флаг «только первый заказ».
- Активация / деактивация.

Стоп-лист (Owner / Manager):

- Быстрое снятие блюд с продажи.
- Массовое включение/выключение стопа.
- Отображается на KDS.

### Клиенты и команда

Персонал (Owner / Admin): CRUD сотрудников, роли, блокировка.

Пользователи (Owner / Manager / Operator): список клиентов с поиском.

Карточка клиента (/admin/users/:id):

- Профиль, баллы, уровень лояльности, статус блокировки.
- Внутренняя заметка (только персонал).
- Адреса, история заказов, операции с бонусами.
- Ручное назначение уровня лояльности.
- Кнопка «Ручной заказ» для клиента.

Лояльность (Owner): уровни (порог суммы, % кешбэка), CRUD, ручное назначение уровня.
Бонусы (Owner / Operator): ручное начисление/списание.

### Заказы и операции

Заказы:

- Пагинация, поиск, фильтр по статусу и дате, сортировка (по дате / по статусу).
- Чипы статусов со счётчиками.
- Детали заказа, смена статуса, назначение курьера, отмена с причиной.
- SLA-подсветка просроченных заказов.
- ETA на карточке заказа.
- Отметка предзаказа (ко времени).
- Ручной заказ — оформление от имени клиента или гостя.
- Звуковые уведомления, badge-счётчики, WebSocket.

Dispatch: заказы «готов» → назначение курьера → «доставляется». Real-time обновление.

KDS (кухня):

- Kanban: новые → приняты → готовятся.
- Таймеры, красная подсветка при SLA / >15 мин.
- Стоп-лист на экране.
- Печать бегунка (ESC/POS) с кнопки.
- Real-time по WebSocket + звук при новом заказе.

Чат: диалоги с клиентами, привязка к заказу, badge непрочитанных, real-time.

Мои доставки (Courier): список назначенных, смена статуса «доставлен».

Глобальный поиск (⌘K): заказы и клиенты по имени, телефону, адресу, ID.

### Аналитика (Owner / Manager)

- Выручка, заказы, среднее время доставки, конверсия.
- Топ блюд (bar chart).
- Экспорт в Excel (.xlsx) за выбранный период.
- Отзывы — модерация (скрытие, ответ персонала).
- Аудит-лог (Owner) — поиск, пагинация, метаданные действий.

### UX админки

- Тёмная тема, sidebar с группами разделов.
- Глобальный поиск по заказам и клиентам.
- Модальные окна, toast-уведомления.
- Адаптивная вёрстка.
- Разные home-страницы по роли (courier → доставки, kitchen → KDS).
- Календарь DatePicker в едином стиле (админка, профиль).

Демо:
Клиентская часть
http://2.26.62.234/

Админ часть и стафф
http://2.26.62.234/admin

Данные для входа стаффа (Почта - пароль):
Владелец: owner@noirkitchen.ru - Owner123!
Админ: admin@noirkitchen.ru - Admin123!
Менеджер: manager@noirkitchen.ru - Manager123!
Оператор: operator@noirkitchen.ru - Operator123!
Курьер: courier@noirkitchen.ru - Courier123!
Кухня: kitchen@noirkitchen.ru - Kitchen123!