Skip to content

otuskotlin/202402-ok-marketplace

Repository files navigation

202402-ok-marketplace

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

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

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

Макет фронта

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

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

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

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

  1. Модуль 1: Введение в Kotlin
    1. m1l1-first - Вводное занятие, создание первой программы на Kotlin
    2. m1l2-basic - Основные конструкции Kotlin
    3. m1l3-func - Функциональные элементы Kotlin
    4. m1l4-oop - Объектно-ориентированное программирование
    5. m1l5-dsl - Предметно ориентированные языки (DSL)
  2. Модуль 2: Расширенные возможности Kotlin
    1. m2l1-coroutines - Асинхронное и многопоточное программирование с корутинами
    2. m2l2-flows - Асинхронное и многопоточное программирование с Flow
    3. m2l3-kmp - Kotlin Multiplatform
    4. m2l4 - Интероперабельность Котлин с другими языками
      1. m2l4-1-interop - Kotlin JS/Kotlin Native
      2. m2l4-2-jni - Kotlin JVM - Native (JNI)
    5. m2l5-gradle - Расширенные возможности Gradle, Kotlin DSL

Плагины

Плагины Gradle сборки проекта

  1. build-plugin Модуль с плагинами
  2. BuildPluginJvm Плагин для сборки проектов JVM
  3. BuildPluginMultiplarform Плагин для сборки мультиплатформенных проектов

Проектные модули

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

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

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

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

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

  1. ok-marketplace-app-spring - Приложение на Spring Framework
  2. ok-marketplace-app-ktor - Приложение на Ktor
  3. ok-marketplace-app-rabbit - Микросервис на RabbitMQ
  4. ok-marketplace-app-kafka - Микросервис на Kafka

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

  1. ok-marketplace-stubs - Стабы для ответов сервиса
  2. ok-marketplace-biz - Модуль бизнес-логики приложения: обслуживание стабов, валидация, работа с БД

Библиотеки

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

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

Тестирование

Сквозные/интеграционные тесты

  1. ok-marketplace-e2e-be - Сквозные/интеграционные тесты для бэкенда системы

About

Otus Kotlin Marketplace 2024-02

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages