Nova
CRM-система для медицинских представителей AstraZeneca
Задача проекта — разработка специализированной CRM-системы Nova для медицинских представителей компании AstraZeneca.
Система предназначена для управления взаимоотношениями с ключевыми клиентами, планирования визитов, проведения опросов и показа презентаций. Цель проекта — создать интуитивно понятную и масштабируемую платформу, обеспечивающую надежные инструменты для повышения оперативности и адаптивности в условиях постоянно изменяющегося рынка.
Цели и задачи
Анализ требований и создание структуры
Обеспечение высокой производительности, масштабируемости и интеграции с бизнес-процессами AstraZeneca.
Разработка ключевой функциональности
Создание модулей взаимодействия с клиентами, написание бизнес-логики и пользовательского интерфейса.
Оптимизация работы системы
Рефакторинг кода, оптимизация запросов к базе данных и улучшение алгоритмов обработки данных.
Процесс работы
- Исследования
- Проведение анализа требований, разработка архитектуры и планирование этапов разработки.
- Разработка
- Внедрение модулей и функциональностей системы, включая интерфейс и бизнес-логику.
- Тестирование
- Проведение тестирования для выявления и исправления ошибок.
- Оптимизация
- Оптимизация производительности системы и улучшение алгоритмов обработки данных.
Функциональные модули
Календарь
- Отображение событий и связанных клиентов в секциях «День» и «Неделя».
- Добавление, редактирование и удаление событий.
Клиенты
- Отображение списка всех и целевых клиентов в виде подгружающейся таблицы.
- Фильтрация и сортировка списка клиентов.
Карточка Клиента
История взаимодействия
Отображение действий клиента (опросы, визиты, отправки email и т.д.), фильтрация и сортировка.
Опросы
Просмотр доступных и пройденных опросов, возможность открытия для просмотра данных ответов.
Экран прохождения опроса
Отображение опроса, выбор ответа (одиночный ответ, мультиответ, ввод текста и т.д.), сохранение результатов.
Создание Визита
Вкладка «Информация»
Ввод основной информации по визиту (клиент, место работы, тип визита, дата и т.д.), выбор препаратов и темы визита.
Общие действия
Сохранение, удаление, завершение, отправка запроса на изменение, запрос медицинской информации, показ презентаций.
Экран отправки e-mail
Отображение доступных шаблонов email, отправка с предварительным просмотром содержимого письма.
Двойные визиты
Список двойных визитов, детальная информация по двойным визитам (вкладки «Информация» и «ФОС»).
Цикловые планы
- Секция плана на цикл: информация о цикле, цели по визитам и препаратам.
- Секция детализации: поиск по клиентам, продуктам и каналу, отображение таблицы клиентов и значений цикловых планов.
Синхронизация
- Приложение работает с локальной БД, синхронизация данных между клиентом и сервером (полная и частичная синхронизация).
- Получение и отправка сущностей, их маппинг и запись в БД.
Технологии и инструменты
Языки программирования и фреймворки
Dart / Flutter
Dart / Flutter
State Management
BloC, Control, Provider
BloC, Control, Provider
База данных и управление данными
SQLite и ORM Drift
SQLite и ORM Drift
Network
Собственное решение на основе Dart HTTP
Собственное решение на основе Dart HTTP
UI
ScreenUtil
ScreenUtil