Учебный проект курса https://otus.ru/lessons/kotlin/
Поток курса 2023-02.
В данном учебном проекте реализуется один из микросервисов для сервиса/мобильного приложения по учёту финансов (расходы) и получению статистики.
Общие задачи приложения (общая идея):
- Интеграция с разными банками для автоматического учёта доходов/расходов в приложении (предполагаем, что банки распологают API для оповещения приложения о совершаемых транзакциях)
- Категоризация доходов/расходов из разных источников (банковские карты, наличные)
- Аналитика расходов (за месяц, квартал, год...)
- Уведомления о регулярных платежах
В учебном проекте будет реализован микросервис по:
- CRUD для банковских карт
- CRUD для расходов
- Аналитика расходов за промежуток времени с группировкой по категориям
- Маркетинг
- DevOps
- Тестирование
- Архитектура
Название | Описание |
---|---|
m1l1-helloworld | Учебный модуль. Выводит площадь круга по введённому пользователем радиусу |
m1l3-oop | Учебный модуль. Практика по созданию классов и интерфейсов. Unit-тесты. |
m1l3-dsl | Учебный модуль. Практика по созданию DSL для Builder'а SQL запросов. Unit-тесты. Описание DSL |
fm-acceptance | Модуль с приёмочными тестами |
fm-api | Модуль с сериализацией DTO |
fm-common | Модуль с внутренними моделями проекта |
fm-mappers | Модуль с мапперами для превращения из DTO во внутренние модели и обратно |
fm-biz | Модуль с бизнес-логикой приложения |
fm-stubs | Модуль со заглушками для различных транспортов |
fm-app-ktor | Модуль приложения основанный на фреймворке Ktor |
fm-app-kafka | Модуль приложения основанный на Apache Kafka Подробнее |
fm-repo-inmemory | Модуль реализации InMemory репозитория для тестового окружения |
fm-repo-arcadedb | Модуль реализации репозитория на основе ArcadeDb для продовского окружения |