Аналитическая система для бизнеса
Кабинет продаж и отчётности в реальном времени
1С, сайты и приложения
Код как абордаж: быстро, метко, без жалости к легаси
Примеры наших работ, где важны были скорость, архитектура и результат
Кабинет продаж и отчётности в реальном времени
Задачи, документы и уведомления, в том числе без сети
Обмен между 1С, CRM и внутренними сервисами
Обработка заказов с кешем и мониторингом
React, Next.js, TypeScript, JavaScript, HTML, CSS, Vite, Tailwind
Java, Spring Boot, Kotlin, REST API, GraphQL, PostgreSQL, Redis, RabbitMQ
Kotlin, Jetpack Compose, Android SDK, Room, Retrofit, Firebase, Push, Offline-first
Docker, GitHub Actions, Linux, Nginx, CI/CD, Monitoring, Git, Cloud
Заметки о стеке, интеграциях и мобильных клиентах
Когда технологии помогают набрать скорость, а когда становятся лишним грузом
Стек начинают выбирать не с любимого фреймворка, а с маршрута продукта. Кто им будет пользоваться, как быстро нужно проверить гипотезу, нужна ли интеграция с уже существующими системами — эти вопросы снимают большую часть лишних вариантов.
Для первого релиза важнее предсказуемая разработка и найм, чем техническая экзотика. Популярный стек с понятной документацией и зрелыми библиотеками почти всегда даёт команде больше скорости, чем редкая технология с красивой презентацией.
Если решение нельзя объяснить заказчику в двух предложениях, его стоит ещё раз проверить на необходимость.
Что предусмотреть в обмене между 1С, CRM и внешними сервисами до первого релиза
Интеграция ломается не в момент первого запроса, а когда одна из систем временно недоступна, данные приходят дважды или формат меняется без предупреждения. Поэтому обмен надо строить как отдельный процесс, а не как пару запросов в конце рабочего дня.
У каждого сообщения должен быть идентификатор, журнал попыток и понятный статус. Очередь помогает пережить кратковременные сбои, а повторная отправка не теряет заказ или клиента.
Так команда видит маршрут данных целиком, а не узнаёт о проблеме из сообщения клиента.
Офлайн, push и сценарии, где приложение оправдывает себя
Мобильное приложение имеет смысл, когда пользователь возвращается к продукту регулярно, работает в движении или должен получать своевременный сигнал. Если весь сценарий сводится к редкому заполнению длинной формы, хорошая мобильная веб-версия может быть честнее и дешевле.
Офлайн нужно закладывать заранее: какие данные доступны без сети, как разрешаются конфликты синхронизации и что пользователь увидит, если отправка не прошла.
Приложение должно сокращать путь к действию. Иначе оно становится ещё одной иконкой на рабочем столе.
Важна цель, не толщина ТЗ. Архитектура, интерфейс и backend подчиняются одному: продукт должен работать
НаписатьОпишите задачу и сроки. Ответим с оценкой подхода и первым шагом