Skip to content

Latest commit

 

History

History
88 lines (69 loc) · 6.28 KB

README.md

File metadata and controls

88 lines (69 loc) · 6.28 KB

202306-ok-marketplace

Учебный проект курса Kotlin Backend Developer. Поток курса 2023-06.

Marketplace -- это площадка, на которой пользователи выставляют предложения и потребности. Задача площадки -- предоставить наиболее подходящие варианты в обоих случаях: для предложения -- набор вариантов с потребностями, для потребностей -- набор вариантов с предложениями.

Визуальная схема фронтенда

Макет фронта

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

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

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

Подпроекты для занятий по языку Kotlin

  1. m1l1-quickstart - Вводное занятие, создание первой программы на Kotlin
  2. m1l2-basic - Основные конструкции Kotlin
  3. m1l3-oop - Объектно-ориентированное программирование
  4. m1l4-dsl - Предметно ориентированные языки (DSL)
  5. m1l5-coroutines - Асинхронное и многопоточное программирование с корутинами
  6. m1l6-flows-and-channels - Асинхронное и многопоточное программирование с Flow и каналами
  7. m1l7-kmp - Kotlin Multiplatform и интероперабельность с JVM, JS

Транспортные модели, API

  1. specs - описание API в форме OpenAPI-спецификаций
  2. ok-marketplace-api-v1-jackson - Генерация первой версии транспортных модеелй с Jackson
  3. ok-marketplace-api-v2-kmp - Генерация второй версии транспортных моделей с KMP
  4. ok-marketplace-api-log1 - Генерация первой версии моделей логирования
  5. ok-marketplace-common - модуль с общими классами для модулей проекта. В частности, там располагаются внутренние модели и контекст.
  6. ok-marketplace-mappers-v1 - Мапер между внутренними моделями и моделями API v1
  7. ok-marketplace-mappers-v2 - Мапер между внутренними моделями и моделями API v2
  8. ok-marketplace-mappers-log1 - Мапер между внутренними моделями и моделями логирования первой версии

Фреймворки и транспорты

  1. ok-marketplace-app-spring - Приложение на Spring Framework
  2. ok-marketplace-app-ktor - Приложение на Ktor JVM/Native
  3. ok-marketplace-app-serverless - Приложение для Yandex.Cloud lambda
  4. ok-marketplace-app-rabbit - Микросервис на RabbitMQ
  5. ok-marketplace-app-kafka - Микросервис на Kafka

Мониторинг и логирование

  1. deploy - Инструменты мониторинга и деплоя
  2. ok-marketplace-lib-logging-common - Общие объявления для логирования
  3. ok-marketplace-lib-logging-kermit - Библиотека логирования на базе библиотеки Kermit
  4. ok-marketplace-lib-logging-logback - Библиотека логирования на базе библиотеки Logback

Модули бизнес-логики

  1. ok-marketplace-stubs - Стабы для ответов сервиса
  2. ok-marketplace-lib-cor - Библиотека цепочки обязанностей для бизнес-логики
  3. ok-marketplace-biz - Модуль бизнес-логики приложения
  4. ok-marketplace-lib-konform - Применение библиотеки валидации Konform

(## Хранение, репозитории, базы данных)

  1. ok-marketplace-repo-tests - Базовые тесты для репозиториев всех баз данных
  2. ok-marketplace-repo-in-memory - Репозиторий на базе кэша в памяти для тестирования
  3. ok-marketplace-repo-postgresql - Репозиторий на базе PostgreSQL
  4. ok-marketplace-repo-cassandra - Репозиторий на базе Cassandra
  5. ok-marketplace-repo-gremlin - Репозиторий на базе Apache TinkerPop Gremlin и ArcadeDb