Skip to content

otuskotlin/202105-otuskotlin-marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

202105-otuskotlin-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. ok-m1l1 - Вводное занятие, создание первой программы на Kotlin
  2. ok-m1l3-oop - Объектно-ориентированное программирование
  3. ok-m1l4 - Предметно ориентированные языки (DSL)
  4. ok-m1l5 - Асинхронное и многопоточное программирование с корутинами
  5. ok-m1l6-flows-and-channels - Асинхронное и многопоточное программирование с каналами
  6. ok-m1l7-kmp - Kotlin Multiplatform и интероперабельность с JVM, JS
  7. ok-m2l2-testing - Тестирование проекта, TDD, MDD

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

  1. specs - описание API в форме OpenAPI-спецификаций
  2. ok-marketplace-be-transport-openapi - подпроект для генерации транспортных моделей для бэкенда из спецификаций OpenAPI
  3. ok-marketplace-be-transport-mapping-openapi - мапинг OpenAPI транспортных моделей во внутренние модели
  4. ok-marketplace-mp-transport-mp - подпроект с транспортными моделями на Kotlin Multiplatform
  5. ok-marketplace-be-transport-mapping-openapi - мапинг KMP транспортных моделей во тренние модели

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

  1. ok-marketplace-be-service-openapi - Сервис для OpenAPI-реализации. Предназначен для унификации вызовов бизнес-логики при использовании разных транспортных моделей
  2. ok-marketplace-be-app-spring - Приложение на Spring Framework
  3. ok-marketplace-be-app-ktor - Приложение на Ktor
  4. ok-marketplace-be-app-serverless - Бессерверное приложение для AWS
  5. ok-marketplace-be-app-rabbit - Микросервис на RabbitMQ
  6. ok-marketplace-be-app-kafka - Микросервис на Kafka

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

  1. ok-marketplace-be-stubs - Стабы для ответов сервиса
  2. ok-marketplace-mp-common-cor - Библиотека для реализации шаблона Цепочка обязанностей
  3. ok-marketplace-be-common-validation - Библиотека для валидации

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

  1. ok-marketplace-be-repo-test - Базовые тесты для репозиториев всех баз данных
  2. ok-marketplace-be-repo-inmemory - Репозиторий на базе EhCache для тестирования
  3. ok-marketplace-be-repo-sql - Репозиторий на базе PostgreSQL
  4. ok-marketplace-be-repo-cassandra - Репозиторий на базе Cassandra
  5. ok-marketplace-be-repo-dynamo - Репозиторий на базе AWS Dynamo

About

Учебный проект группы 2021-05 курса "Backend разработка на Kotlin"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages