Skip to content

psvm-dev/HelloWorldBffKtor

Repository files navigation

HelloWorldBffKtor

Многомодульный проект на Kotlin с использованием Ktor, демонстрирующий создание бэкенда для фронтенда (BFF) с интеграцией внешних API.

Особенности проекта

  • Многомодульная архитектура

    • core - базовые компоненты и репозитории
    • services - сервисные слои приложения
    • mobile - модуль для мобильного приложения
    • web - модуль для веб-приложения с интеграцией внешнего API
  • Интеграция с внешним API

    • Реализован клиент для работы с API Cat Facts
    • Использование Ktor Client для HTTP-запросов
    • Сериализация/десериализация JSON с помощью kotlinx.serialization
  • Тестирование

    • Модульные тесты для клиента внешнего API с использованием MockEngine
    • Интеграционные тесты для эндпоинтов с использованием Ktor Test
    • Использование Mockito для мокирования зависимостей
    • Использование Koin для внедрения зависимостей в тестах
  • CI/CD

    • Настроен GitLab CI/CD пайплайн
    • Этапы сборки и тестирования
    • Кэширование зависимостей для ускорения сборки
    • Артефакты сборки и отчеты о тестировании
  • Документация API

    • Интеграция Swagger UI для документирования API
    • OpenAPI спецификация в YAML формате
    • Доступ к документации через эндпоинт /swagger

Технологический стек

  • Язык программирования: Kotlin 1.9.22
  • Фреймворк: Ktor 2.3.7
  • Внедрение зависимостей: Koin 3.5.3
  • Сериализация: kotlinx.serialization 1.6.2
  • Логирование: Logback
  • Тестирование: JUnit 5, Kotest, Mockito
  • Сборка: Gradle 8.5
  • Документация API: Swagger/OpenAPI 3.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages