FARFOR.ERP
by SMENA
Краткая история разработки FARFOR
Veikab — Ноябрь 2014 - Март 2015
Разработка и запуск проекта, сопровождение и масштабирование системы
3 сервера в архитектуре
Сайт, ERP, База данных
Формирование и проектирование инструментов отчетности
Ядро системы, маркетинг
Быстрое прототипирование и внедрение бизнес фич
ERP
Облачная вычислительная система фарфора, позволяет различным участникам процесса участвовать в совместном труде. Архитектура решения EXTjs + Python/Django Backend.
Сайт
Первая версия сайта, корзина, бонусная система
Бонусная система
Основная фишка проекта
Rebranch — Апрель 2015 - Март 2016
Разработка и запуск проекта, сопровождение и масштабирование системы
5 серверов в архитектуре, 3 человека в команде
Сайт, ERP, База данных, технические сервисы,
Новая корзина, api для корзины и рефакторинг процесса оформления заказа
Ввод в экспулатацию, реализация на Reactjs, backend реализован на Django
Мобильная версия сайта на Reactjs
Разработка полноценного api для мобильной версии сайта, проектирование интерфейса, ввод в эксплуатацию. Оптимизация работы и структурирование работы маркетинга
Api для приложений
При реализации мобильной версии сайта была подготовлена документация и произведена интеграция с командой по разработке приложения, разработчикам были переданы интерфейсы и апи для разработки.
Рост системы
Процесс развития системы это эволюция через итерации.
Разработка планшетного api
Разработка интеграции существующей системы и планештного апи, реализация прототипа системы фиксации сотрудников.
Геймификация сайта
Фишка для сайта: слот-машина, печеньки с предсказанием, конструктор сетов, проведение нескольких лотерей
Сайт - Farfor.ru
Информационный сайт, распределитель пользователей по городам, информационная прослойка для распределения пользователей по сайту. Реализован на Reactjs, интерактивная карта с городами.
Интеграция с различными системами
SMENA — Апрель 2016 - Март 2017
Масштабирование системы, стабилизация процессов и микросервисная архитектура
8 Серверов в архитектуре, 7 человек в команде
Кластер базы данных (Mysql + Replica), Фронтенд кластер, микросервисы. Постоянная работа над реструктуризацией + разработка и запуск новых сервисов.
Шина данных и оптимизация ядра системы
Rabbitmq, планшетное апи, связанные сервисы
Оптимизация работы сайта
Скорость работы стабилизирована в районе 150мс, для мозга реакция реагирования ~200мс.
Сайт, Мобильная версия, Мобильные версии API для приложений
Запущена промоверсия "Выборы 2016" с помощью которой можно было проголосовать на сайте фарфора. Интересный опыт работы в потоке, хочется побольше таких идей.
Wserv - сервис по определению звонившего, Работа с атс - код звонка, история звонков, автоподтвердждение роботом
Реализована замена приводящего к падению скрипта определения номера телефона в ERP. Был реализован демон, который слушает телефонию и говорит какой клиент звонит оператору в данный момент и интерактивно позволяет получить расширенную информацию, например, отправить промокод.
Elasticsearch
Внедрение новых технологий позволило увеличить скорость работы ERP до 200 мс. Раньше из-за роста системы поиск по фильтру заказов мог достигать до 20с.
Оптимизация ERP - EXTjs
Оптимизация работы приложения в браузере до 10 раз, введение стандартов и практик в разработку
Devops + Agile
Реорганизована структура выгрузок кода на продакшн, подготовлена тестовая платформа которая позволяет тестировать на узкой аудитории новые фичи и изменения конфигураций. Стабилизация системы и реорганизация внутренних технических процессов в команде
Мониторинг Zabbix, Ошибки Sentry, работа с логами ELK, NEW RELIC
Благодаря удобным инструментам разработки процесс внедрения новых идей упрощается и делает это контроллируемым. Зачастую приходится искать компромисс между качеством и скоростью, мы понимаем что сейчас важна именно конкретная реализация.
Рост количества заказов. Мы преодолели два с половиной миллиона заказов.
14 февраля 2017 было оформлено 10000 заказов.
Задачи
Формирование самостоятельных команд, внедрения и планирование этапа эксплуатации продуктов
Должен быть систематизирован прошлый опыт, и фиксация точных целей развития бизнеса. Выявление ценностей системы
Нагрузочное тестирование, автоматизированное тестирование механизмов безопаности
Автоматизация билдов, быстрая доставка кода на продакшн, кластеризация ресурсов под каждый город
Запуск продукта farfor.space — движок фарфора, его интеллектуальная собственность
Процесс формирование команды - обмен знаниями, это можно сделать главной мыслью программы. Тот кто разрабатывает, должен инфицировать других. Имидж компании можно укреплять за счет экспериментальных и благотворительных проектов.

Упор на пользовательский опыт в мобильных приложениях, вовлечение через этот канал связи
Все это необходимо в грамотном проектировании, фиксации текущего опыта и определения следующих шагов
Android команда
С одним хорошим разработчиком, мы можем реализовать новое приложение с офигенным дизайном и прокачать этот канал через эффективный маркетинг.
Первостепенные цели
1
Редизайн сайта
Сайт нуждается в обновление технического дизайна, в улучшении взаимодействия с пользователем, техническая сторона процесса - отделение сайта от ERP. Рост нагрузки на сайт постоянно растет, необходимо разработка высокоустойчивого сайта с запасом прочности - приведение сайта к одной версии (сейчас десктоп и мобильная версия используют разные бекенд)
2
Разделение сайта и ERP
Компоненты системы должны быть независимы друг от друга
3
Микросервис маркетинга
Сейчас все завязано на сложном маркетинге, архитектурные решения устарели и нуждаются в переосмыслении. Маркетинг должен быть упрощен, настроено логирование процессов принятия решения.
Проекты и идеи в разработке
Android команда
Переработка основного приложения, выстраивание маркетинга и рекламы для приложения. График релизов, результаты, уровень SLA.
* ПО для курьеров
* ПО для управляющих
* ПО для планшетов на кухне?
Команда интерфейса и технического дизайна
Необходимо формирование комплексного редизайна пользовательского опыта, со стороны бизнес проектирования процессов - визуаилизации статусов процессов.
Команда разработки сайта
Разработка сайта и других решений требует знаний последних тенденций фронтенд-разработки, без использования высоких стандартов мы бы не получили те результаты, которые сейчас работают в существующей системе.
Printdoc 2.0
Замена сервиса печати документов на более стабильную версию, вынос печати в отдельный от erp системы со своими показателями SLA.
Команда аналитики - нейросети и bigdata
Хакатон на тему разработки персонализированной системы рекомандаций в области меню магазина
Разработка чат бота для VK, Telegram
Автоматизация заказа через бота социальной сети
Часть 2 - образовательный проект и отбор лучших кадров
SMENASCHOOL2
За 2016 год мы забрали в команду 3х студентов из #smenaschool, я чувствую мощный потенциал в этой теме. В разработке проект школы номер два, в которой мы совместим поиск разработчиков и менеджеров проектов в компанию. Можно забрать к себе до 4х стажеров и проектировать с ними несложные сайты и сервисы
Конференция ufapython и технические митапы в университах, PR и работа со СМИ
UFAPYTHON
Развитие локального сообщества необходимо для развития программирования, необходимо выступать с инициативами и привлекать молодежь.
Команда разработки Farfor
периода 2015 - 2017
Константин Чернышков
Директор Rebranch, Технический директор SMENA, руководитель проекта
Руководитель технической части проекта
Сергей Дубинин
Тимлид, ведущий разработчик,
преподаватель #smenaschool
Тимлид компании, работаю с ним в команде с 2011 года
Василий Субботин
Разработчик, выпускник #smenaschool, организатор #smenaschool2
Разработка backend-сервиса доставлятор, разработка интеграции с elasticsearch, организатор и преподаватель новой школы #smenaschool2
Руслан Сайфуллин
Техническая поддержка, Backend-разработчик, организатор #smenaschool
Работает с января 2016 года. Отвечает за процессы работопособности, активно участвует в разработке и поддержке проекта.
Динар Гиндуллин
Разработчик, выпускник #smenaschool
Ирина Шерстюкова
Стажер проект менеджера, выпускник #smenaschool, тестировщик
Григорий
Верстка интерфейсов, преподаватель школы #smenaschool мини курс по верстке и javascript
Олег Гумеров
Технический писатель, менеджер проекта
Альфия Мавлютова
Тестировщик
Внесли свой вклад
Рустам Саяргалиев
Backend разработчик, Германия
Рефакторинг ядра системы, внедрения яндекс кассы
Наиль Хуннафин
Backend разработчик, Яндекс
Захантил из ufanet.ru, сейчас работает в Яндексе. Разработка алиасов, разработка конструктора сетов, оптимизация сайта
Тимур Даукаев
Backend-frontend-разработчик, преподаватель #smenaschool
Разработка мобильной версии, система авторизации, вся логика, программирование основного сайта farfor.ru. Реструктуризация маркетинга, запуск системы смс оформления.
Билал Сиразитдинов
Backend-разработчик
Разработка сервиса wserv, разработка функционала турбо-режима, разработка функционала для мобильной версии сайта.
Антон Массалимов
Frontend-разработчик
Верстка новой корзины, разработка мобильной версии сайта
Сергей Гайнетдинов
Backend-разработчик
Разработка базы знаний, интеграция с роботом и атс
Ильнар Гиниятуллин
Backend-разработчик
Техническая поддержка, разработка функционала
Марина Рахимова
Дизайнер мобильной версии и других подсистем сайта
Разработка сервиса для приложения и мобильной версии сайта, слот машина, других интерфейсов
FARFOR.SPACE — проект, в котором я вижу силу