Перейти к основному содержимому

Обзор

Архитектура 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): Позволяет развертывать и управлять микросервисами в изолированных средах, обеспечивая легкость в настройке и управлении.
  • Виртуальные машины: Альтернативный способ развертывания для тех, кто предпочитает традиционные подходы к виртуализации.