История и планы развития e-commerce платформы Ensi

История

2019
2019
  • Разработка описания предметной области e-commerce и составление библиотеки существующих на рынке решений в рамках внутреннего проекта λ
  • Участие в архитектурном проектировании и разработке сервисов маркетплейса Leroy Merlin Market с использованием собственных наработок Greensight
  • Старт разработки нишевого маркетплейса с использованием собственного набора архитектурных и программных решений Greensight
  • Собственные решения собраны в один продукт с рабочим названием Greensight Ecom Platform (GEP)
  • 31 декабря Greensight становится резидентом Технопарка Сколково с продуктом Greensight Ecom Platform (GEP)
2020 Q3
2020 Q3
  • Проработка концепции платформы
  • Разработка методологического подхода по сбору требований в e-commerce и анализ сервисов
  • Разработка первых версий функциональных заданий на сервисы (PIM, Offers, Feed, Logistics…)
  • Зарождение платформы путем создания канонических репозиториев в Gitlab
  • Внедрение Design First подхода к разработке API
  • Переход на автогенерируемые API клиенты используя openapi-generator.tech
  • Фронт админки на Vuejs + php
2020 Q4
2020 Q4
  • Появление Ensi Backend Service Skeleton
  • Стайлгайды для PHP и Laravel
  • Рефакторинг работы с файлами в платформе. Внедрение Imgproxy
  • Появление Ensi Api Design Guide
  • Оформлены процессы бэкпортирования багфиксов и фич из внедрений
2021 Q1
2021 Q1
  • Переработка всех backend сервисов Ensi под структуру Ensi Backend Service Skeleton и требования Ensi Api Design Guide
  • Появление процесса Ensi Friday
  • Группировка сервисов Ensi по доменам
  • Перенос документации по платформе в Confluece, появление процесса копирования документации в новый проект
  • Разделение фронта админки на admin-gui-backend для сбора данных из разных сервисов и admin-gui-frontend для интерфейса
  • Перенос фронта на другой стек — React + Webpack + Greensight Design System + Typescript
  • Разработка нового стиля административных интерфейсов
2021 Q2
2021 Q2
  • Переход PHP 8.0
  • Инфраструктурный пакет для сохранения истории изменений
  • Внедрение Cursor пагинации* во все сервисы
  • Переход платформы на UTC
  • Новый административный интерфейс, как отдельное приложение на React
  • Старт публикаций функциональных заданий на сайте платформы ensi.tech
  • Разработка схем bpmn процессов в сервисах платформы
  • Разработка административных интерфейсов отдельных сервисов
  • Ensi Lowcode: внедрение конструкторов статусных моделей на основе событий
2021 Q3
2021 Q3
  • Завершение процесса перехода на Kubernetes
  • Докеризация сервисов под локальную разработку
  • Переход платформы к opensource
  • Внедрение Apache Kafka
  • Переход фронта на более стабильное и поддерживаемое ядро — Next.js
  • Старт разработки базовых ER-диаграмм по сущностям сервисов
  • Разработаны и опубликованы последние функциональные задания на сервис
Self-hosted APM
Локальная система мониторинга работающих приложений
Cursor Pagination
Высокопроизводительный способ разбиения на страницы, часто используемый для больших наборов данных, бесконечной прокрутки и API-интерфейсов.
End-to-end автотесты
Автотестирование, эмулирующее пользовательское поведение
Service Mesh
Выделенный настраиваемый уровень инфраструктуры для облегчения связи между сервисами или микросервисами

План работ

2021 Q4
2021 Q4
  • Автотесты на уровне сервисов
  • Self-hosted APM *
  • Обновление до Postgres 14
  • Переход на Laravel Octane (Swoole или Roadrunner)
  • Переход фронта от глобального стейта Redux на React Query (fetching, caching, synchronizing and updating server state api)
  • Публикация всех разработанных ER-диаграмм
2022 Q1
2022 Q1
  • End-to-end автотесты *
  • Service Mesh *
  • Обновление до PHP 8.1
  • Обновление до Laravel 9
  • Полноценное внедрение статического анализа в Backend сервисы (psalm/phpstan и т д)
  • Редизайн фронта, доработка логики UX
  • Переход от Formik к React Hook Form
  • Адаптив административных интерфейсов
  • Ensi Lowcode: внедрение конструктора административных интерфейсов
2022 Q2
2022 Q2
  • Kubernetes без ceph
  • Замена swagger-ui на более удобный аналог
  • Потенциально GRPC (либо вместо REST, либо дополнительно к REST)
  • Расширение стэка используемых БД в Ensi
  • Добавление unit-тестов во фронтенд
  • Ensi Lowcode: внедрение конструкторов статусных моделей на основе событий
2022 Q3
2022 Q3
  • Ensi Lowcode: внедрение конструкторов статусных моделей на основе событий