PHP-разработчик

PHP-разработчик

Костанай, улица С. Мауленова

Описание вакансии

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) практическое мини-задание по очереди/синхронизации (по желанию — можно показать свой код вместо теста).

Навыки
  • PHP
  • JavaScript
  • SQL
  • Обучение и развитие
  • Веб-программирование
  • REST
Посмотреть контакты работодателя

Адрес

Похожие вакансии

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию