Обзор
Архитектура Visary основана на микросервисном подходе, что обеспечивает гибкость, масштабируемость и устойчивость системы. Серверная часть разработана на .NET Core, что позволяет создавать высокопроизводительные и кросс-платформенные приложения, а фронтенд построен на Vue.js, что способствует созданию интерактивных и отзывчивых пользовательских интерфейсов.
Архитектура, концепции и технологии
Микросервисное решение
- Каждый компонент системы является независимым микросервисом, что позволяет развивать и масштабировать систему по мере необходимости.
Масштабируемость
- Платформа поддерживает горизонтальное и вертикальное масштабирование, что позволяет эффективно обрабатывать увеличенные нагрузки.
SCRUM - управление проектами
- SCRUM используется для организации процесса разработки с регулярными спринтами, отзывами команды и заказчика, а также итеративным улучшением системы. Каждый спринт направлен на выпуск релиза или функциональных доработок.
- Команда разделена на роли: Product Owner, Scrum Master и разработчики, что позволяет управлять задачами и приоритизировать их по бизнес-ценности.
DDD - предметно-ориентированное проектирование
- В основе разработки лежит Domain-Driven Design (DDD), где каждый микросервис соответствует определенной бизнес-доменной логике.
- Бизнес-области (bounded contexts) четко определены и изолированы друг от друга, что упрощает поддержку и развитие системы.
- Агрегаты и сущности используются для четкого описания и взаимодействия бизнес-объектов, а также для сохранения логики в пределах контекста.
CI/CD - Полная автоматизация разработки и доставки
- Использование GitLab CI/CD позволяет автоматизировать процесс сборки, тестирования и развертывания приложений, что обеспечивает высокую скорость и надежность обновлений.
Использование AI в разработке
- Описание эпиков и задач: AI анализирует общие требования и автоматически генерирует структуры эпиков и задач, предлагая детализированные описания на основе исторических данных и типичных сценариев.
- Встроенные ассистенты в IDE: В IDE разработчиков внедрены AI-ассистенты, которые помогают в написании кода, исправлении ошибок и рекомендациях по улучшению производительности.
- Тестирование: AI автоматизирует написание и выполнение тестов, генерируя тестовые сценарии на основе анализа кода и его истории изменений.
- Написание документации: AI помогает в создании технической документации, автоматически генерируя её на основе кода, комментариев разработчиков и истории изменений системы.
Гибкость развертывания
- Контейнеризация на базе Docker и оркестратор (например, Kubernetes): Позволяет развертывать и управлять микросервисами в изолированных средах, обеспечивая легкость в настройке и управлении.
- Вирту альные машины: Альтернативный способ развертывания для тех, кто предпочитает традиционные подходы к виртуализации.