Задача
Система продаж магазина автозапчастей должна была продолжать работать, даже когда пропадает интернет, а данные потом должны были попадать на центральный сервер. Кроме того, приложение должно было работать на узбекском языке в латинице и кириллице, а также на русском, а через Telegram нужно было вести продажи и доставку.
Решение
UFLEX построил систему из сервера и десктопного приложения. У приложения есть своя локальная база: оно работает и без интернета, а когда связь восстанавливается, данные синхронизируются с сервером. Приложение обновляется автоматически, поэтому новую версию не нужно вручную ставить на каждый компьютер. Язык интерфейса можно выбрать: латиница, кириллица или русский.
Telegram-бот работает на ролях: каждый пользователь видит возможности, которые соответствуют его роли. Через бота ведутся продажи и доставка, а поиск поддерживает запросы на кириллице.
В итоге продажи в магазине не зависят от интернета, а все данные всё равно собираются в одной центральной базе.
Состав системы
- Сервер — с центральной базой данных
- Десктопное приложение — офлайн-режим, локальная база и синхронизация, автообновление
- Telegram-бот — роли, продажи, доставка, поиск на кириллице
- Три языка интерфейса — латиница, кириллица, русский
Технологии
- Fastify + TypeScript — сервер
- Tauri + React — десктопное приложение
- SQLite — локальная база в приложении
- PostgreSQL — база данных на сервере