Система контроля выбросов от предприятия
Сегодня мы хотим поделиться деталями нашего проекта NewEra, а именно уделить ваше внимание самому процессу разработки с нуля. Данная разработка относится к области Экологии. NewEra позволяет минимизировать выбросы вредных веществ в атмосферу как от одного устройства, так и от предприятия в целом.
Цель проекта: разработать с нуля веб-приложение для расчета текущих выбросов вредных веществ предприятием в атмосфера, а также для разработки рекомендаций и перечня действий, которое предприятие должно предпринять для минимизации рассчитанных выбросов.
Этапы процесса создания веб-приложения разделим на 3 подэтапа.
Анализ и подготовка
1.1. Анализ области распространения данного приложения, анализ рынка и анализ использования приложения.
1.2. Обсуждение с заказчиком технического задания
1.3. Создание интегрированных промежутков и MVP версии продукта
1.4. Описание технического задания, создание флоу приложения в mirro
1.5. Проектирование структуры приложения
1.6. Набор команды разработки (2 фронтенд разработчика, 2 бекенд разработчика, тестировщик, дизайнер, проджект менеджер, бизнес аналитик).
1.7. Построение процессов внутри команды разработки. Было принято решение воспользоваться фреймворком p3express. А сам процесс разработки выстроить в режиме light scrum с двухнедельными спринтами. Это сочетание позволило нам распределить бэклог задач согласно плана MVP.
1.8. Построение диаграмм (вариантов использования, классов и типов данных, sequence, component)
1.9. Заполнение брифа на разработку дизайна. Передача задания в дизайн разработку. Создание мокапов для тестирования дизайн моделей на фокус группе. Передача дизайн проекта на утверждение.
То есть на выходе этого этапа мы получаем готовые требования к проекту, команду, дизайн-проект, структуру приложения, документацию. Вся необходимая подготовка к процессу разработки завершена. Можно начинать непосредственно разработку бэкенд, фронтед части и тестирование.
2. Процесс разработки
2.1. Создание окружений для разработки. Было принято решение использовать 4-х ярусную архитектуру, каскадов ярусов DTMP. Окружения развернули на связки GitLab CI/CD + AWS ECS
2.2. Бекенд часть:
- Построение DTO приложения
- Создание API документации
- Создание базы данных и хранение в ней данных приложения
- Подключение сервиса для хранение статики
- Подключение Аутентификационного сервиса
- Создание сервиса для работы с данными о предприятии и выбросах в атмосферу
- Интегрирование stripe plan для биллинга в приложении
- Подключение балансира
- Написание интеграционных тестов
- Запуск нагрузочных тестов
Технологии: AWS dynamodb, AWS App Sync, Node JS, Stripe billing
2.3. Фронтенд:
- Создание компонентной библиотеки
- Создание инфраструктуры приложения
- Подключение к идентификационному сервису
- Разработка основного дашборда, на котором указаны выбросы загрязняющих веществ в атмосферу.
- Построение графиков и диаграмм
- Разработка карты предприятий, на которой указаны основные подразделения, на которых происходят выбросы.
- Просмотр выбросов от конкретного завода
- Разработка рекомендаций по регулированию выбросов завода
- Внедрение систем оплаты подписок на использование системы контроля выбросов
- Написание Unit тестов для фронтенд части
Технологии: React JS, React charts, Apollo client, Stripe billing, AWS Cognito
2.4. Написание авто тестов для приложения, тестирование задач вовремя, а также риск тестирования после этапа разработки.
Результатом данного этапа является готовое веб-приложение с необходимым функционалом для успешной работы и ведения бизнеса. Готовая система контроля выбросов прошла тестирование. Версия без ошибок готова к передачи заказчику.
3. Завершение процесса разработки и поддержка
3.1. Подготовка релизной версии приложения, SEO аудит, оптимизация, подключение DNS.
3.2. Релиз продакшн версии проекта, проведение анонса в соц сетях и рекламной компании.
3.3. Передача заказчику всех ключей, аккаунтов от продакшн версии
3.4 Поддержка приложения
3.5. Разработка плана для дальнейшего развития проекта (обновления, добавление функционала, улучшение показателей аналитики)
В результате проведенной работы, приложение готово, передано заказчику. Наша команда готова продолжать работу над поддержкой приложения, а также его развитием. Текущая версия уже приносит заказчику доход. Но при оптимизации, добавлении функционала можно повышать доход от пользования системой контроля выбросов в атмосферу.