Skip to content

wursta/otus_kotlin

Repository files navigation

Учебный проект по Kotlin

Учебный проект курса https://otus.ru/lessons/kotlin/
Поток курса 2023-02.

Описание

В данном учебном проекте реализуется один из микросервисов для сервиса/мобильного приложения по учёту финансов (расходы) и получению статистики.

Общие задачи приложения (общая идея):

  • Интеграция с разными банками для автоматического учёта доходов/расходов в приложении (предполагаем, что банки распологают API для оповещения приложения о совершаемых транзакциях)
  • Категоризация доходов/расходов из разных источников (банковские карты, наличные)
  • Аналитика расходов (за месяц, квартал, год...)
  • Уведомления о регулярных платежах

В учебном проекте будет реализован микросервис по:

  • CRUD для банковских карт
  • CRUD для расходов
  • Аналитика расходов за промежуток времени с группировкой по категориям

Визуальное представление фронтенда

Макет приложения

Документация

  1. Маркетинг
    1. Заинтересанты
    2. Целевая аудитория
    3. Конкурентный анализ
    4. Анализ экономики
    5. Пользовательские истории
  2. DevOps
    1. Схема инфраструктуры
    2. Схема мониторинга
  3. Тестирование
    1. Тестирование пользовательских историй
  4. Архитектура
    1. Архитектурная диаграмма
    2. Схема интеграции
    3. Описание API

Структура проекта

Название Описание
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 для продовского окружения

About

Учебный проект по Kotlin

Topics

Resources

Stars

Watchers

Forks

Languages