Skip to content

Общее описание архитектуры решения

Антон Войцишевский edited this page Jun 8, 2019 · 3 revisions

Сервисы

Решение построено из набора микросервисов, взаимодействующих между собой по некоторому протоколу - в основном HTTP. Это позволяет добиться стабильности, более простой и независимой тестируемости. Кроме того, каждый разработчик получает возможность работать над сервисом независимо, сохраняя лишь внешнее API.

Архитектура

Core

Здесь находится бизнес-логика викторины, построенная согласно DDD:

DDD

Task API

Внешнее REST API для работы с задачами и уровнями. Построено на фреймворке ASP.NET Core.

Quiz API

Внешнее REST API для работы с викториной и пользователями. Построено на фреймворке ASP.NET Core.

Quiz Database

Интерфейс для работы с MongoDB: заданиями, пользователями и другой статистикой.

Telegram Bot

Построенный на ASP.NET Core webhook-bot для Telegram.

Telegram users database

Интерфейс для работы с MongoDB: состояниями пользователей и их аутентификационными данными для Quiz API.

Editor

Веб-сервис для редактирования и дизайна уровней викторины. Фронтенд на React JS, бекэнд на ASP.NET Core