evgnep / 202202-ok-marketplace

Учебный проект "Маркетплейс" потока 2022-02

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

202202-ok-marketplace

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

Учебный маркетинг приложения

Считаем, что целевая аудитория учебного сервиса -- это средние и крупные предприятия, желающие (а) продать свою высокотехнологичную продукцию или (б) найти поставщиков для ее производства.

Гипотетический портрет пользователя для службы Потребностей

  1. Высококвалифицированный инженер среднего или высшего звена, который ищет поставщиков компонентов для разрабатываемого продукта.
  2. Мужчина от 30 до 50 лет
  3. С высшим образованием
  4. С критическим складом ума, со склонностью сопоставлять цифры, технические характеристики и не ведется на броскую рекламу
  5. Как правило женат, имеет детей (как маленьких, так и взрослых), обеспечен, имеет жилье и автомобиль

Гипотетический портрет пользователя для службы Предложений

Можно выделить несколько сегментов пользователей

  1. Высококвалифицированный и опытный сотрудник отдела продаж, знающий как продукт, так и технические детали
    1. Мужчина от 30 до 50 лет
    2. С высшим образованием, знает технологические нюансы продаваемой продукции и как эта продукция используется
    3. Знаком лично с большинством клиентов, большая часть всех продаж через личные контакты
  2. Начинающий или низкоквалифицированный продажник
    1. Молодой мужчина до 30-35 лет
    2. Без высшего образование или без опыта работы в соответствующей отрасли
    3. Делает продажи посредством холодных звонков
    4. и т.д.
  3. И т.д.

Описание MVP

Функции (эндпониты)

  1. CRUDS (create, read, update, delete, search) для объявлений (ad)
  2. ad.offers (опционально)

Описание сущности ad

  1. Info
    1. Title
    2. Description
    3. Owner
    4. Visibility
  2. DealSide: Demand/Proposal
  3. ProductType (гаечный ключ, ...)
  4. IPropertyValues - интерфейс, описывающий различные реализации продуктов
    1. Болты - учебный пример
      1. Длина
      2. Толщина
      3. Резьба
      4. Форма

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

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

  1. m1l1-hello-world - Вводное занятие, создание первой программы на Kotlin
  2. m1l4-dsl - Предметно ориентированные языки (DSL)
  3. m1l5-coroutines - Асинхронное и многопоточное программирование с корутинами
  4. m1l7-multiplatform - Kotlin Multiplatform и интероперабельность с JVM, JS
  5. m2l2-testing - Тестирование проекта, TDD, MDD

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

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

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

  1. ok-marketplace-services - Сервис. Служит оберткой для модуля бизнес-логики. Подключается всеми фреймворками (модулями *-app-*)
  2. ok-marketplace-app-spring - Приложение на Spring Framework
  3. ok-marketplace-app-ktor - Приложение на Ktor JVM
  4. ok-marketplace-app-ktor-native - Приложение на Ktor Native
  5. ok-marketplace-app-ktor-common - Общая логика для Ktor JVM и Ktor Native
  6. ok-marketplace-app-knative - Скрипты запуска приложения в KNative

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

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

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

About

Учебный проект "Маркетплейс" потока 2022-02

License:MIT License


Languages

Language:Kotlin 99.3%Language:Shell 0.7%