PHP-разработчик
- Компания: Школа информационных технологий
- Город Казахстан, Костанай, улица С. Мауленова
- Зарплата: от 120000 до 720000 KZT
- Размещено: 2025-09-26 08:36:39
Описание
Flutter-разработчик (Offline-first) — Kost-Kassa
Проект: Kost-Kassa — бесплатная система учёта товаров и кассовых операций для малого бизнеса (KKT/«бесплатный ККМ»), Казахстан.
Компания: Индивидуальный предприниматель «Школа информационных технологий» (Костанай).
Задача вакансии
Усилить офлайн-режим и синхронизацию в мобильном/desktop-клиенте Kost-Kassa: стабильная работа без интернета, моментальная запись операций локально и корректная «умная» доставка данных на сервер при восстановлении связи.
Чем предстоит заниматься
-
Спроектировать и реализовать offline-first архитектуру: локальное хранение (SQLite/Isar/Drift), транзакционные очереди событий, idempotency, повторная отправка.
-
Сделать фоновые задачи синхронизации (WorkManager/Isolates): батчинг, backoff-политики, дифф-синк, контроль конфликта версий.
-
Обеспечить устойчивость кассовых операций в офлайне: пробитие чеков, списание/приход, возвраты, инвентаризация — всё с локальной фиксацией и последующей фискализацией при онлайне.
-
Реализовать разрешение конфликтов (merge-стратегии, optimistic concurrency, ревизии), проверки целостности и аудит-лог.
-
Повысить производительность: быстрый холодный старт, грамотное кэширование справочников (товары/цены/остатки), оптимизация запросов.
-
Улучшить UX для продавца: чёткие статусы «в очереди/синхронизировано/ошибка», офлайн-квитанции, безопасный повтор операции.
-
Интеграции по мере необходимости: динамический QR (Kaspi), печать чеков, сканеры штрих-кодов, эквайринг/ПОС-терминал (по API), авторизация.
-
Покрыть ключевые сценарии тестами (unit+integration), добавить профилирование и метрики стабильности.
Наш стек и контекст
-
Flutter 3.x (Dart), Android (приоритет), Web/PWA — по продуктовым задачам.
-
Локальные БД: SQLite/Drift/Isar (выберем/обоснуем).
-
Синхронизация: REST/HTTP, приоритет очередей, экспоненциальный backoff, контроль версий, журнал операций.
-
CI/CD, Git, code review.
-
Бэкенд: REST API (уточним на собеседовании), JSON, авторизация по токенам.
Требования
-
Коммерческий опыт Flutter/Dart от 1,5–2 лет (или уверенный middle на Android + Flutter опыт).
-
Реальные кейсы офлайн-первого приложения: локальные БД, фоновые задачи, синк при плохой связи.
-
Понимание транзакционности, очередей, идемпотентности, версионирования данных, стратегий разрешения конфликтов.
-
Умение проектировать структуры локальных данных и миграции.
-
Опыт профилирования и оптимизации производительности (Jank, GC, холодный старт).
-
Аккуратный код: SOLID, чистая архитектура, покрытие тестами важных путей.
Будет плюсом
-
Опыт с печатью чеков, сканерами ШК, кассовой техникой, POS-терминалами.
-
Знание фискализации/ОФД в РК, практики защиты персональных данных.
-
Опыт в финансовых/retail продуктах, инвентаризация/учёт.
-
Работа с Web/PWA (офлайн-кэш/Service Worker).
Условия
-
Формат: офис Костанай (предпочтительно). Гибрид/удалённо — обсуждаемо для сильных кандидатов.
-
Занятость: полная.
-
Оформление: официальный договор.
-
Компенсация: от [____ KZT net] до [____ KZT net] на руки — обсуждаем по опыту; быстрый пересмотр по результатам.
-
Процесс: 1) короткое знакомство (15–20 мин), 2) техинтервью (архитектура офлайн-синка), 3) практическое мини-задание по очереди/синхронизации (по желанию — можно показать свой код вместо теста).