Учебный проект курса Kotlin Backend Developer. Marketplace -- это площадка, на которой пользователи выставляют предложения и потребности. Задача площадки -- предоставить наиболее подходящие варианты в обоих случаях: для предложения -- набор вариантов с потребностями, для потребностей -- набор вариантов с предложениями.
Считаем, что целевая аудитория учебного сервиса -- это средние и крупные предприятия, желающие (а) продать свою высокотехнологичную продукцию или (б) найти поставщиков для ее производства.
- Высококвалифицированный инженер среднего или высшего звена, который ищет поставщиков компонентов для разрабатываемого продукта.
- Мужчина от 30 до 50 лет
- С высшим образованием
- С критическим складом ума, со склонностью сопоставлять цифры, технические характеристики и не ведется на броскую рекламу
- Как правило женат, имеет детей (как маленьких, так и взрослых), обеспечен, имеет жилье и автомобиль
Можно выделить несколько сегментов пользователей
- Высококвалифицированный и опытный сотрудник отдела продаж, знающий как продукт, так и технические детали
- Мужчина от 30 до 50 лет
- С высшим образованием, знает технологические нюансы продаваемой продукции и как эта продукция используется
- Знаком лично с большинством клиентов, большая часть всех продаж через личные контакты
- Начинающий или низкоквалифицированный продажник
- Молодой мужчина до 30-35 лет
- Без высшего образование или без опыта работы в соответствующей отрасли
- Делает продажи посредством холодных звонков
- и т.д.
- И т.д.
- CRUDS (create, read, update, delete, search) для объявлений (ad)
- ad.offers (опционально)
- Info
- Title
- Description
- Owner
- Visibility
- DealSide: Demand/Proposal
- ProductType (гаечный ключ, ...)
- IPropertyValues - интерфейс, описывающий различные реализации продуктов
- Болты - учебный пример
- Длина
- Толщина
- Резьба
- Форма
- Болты - учебный пример
- ok-m1l1 - Вводное занятие, создание первой программы на Kotlin
- ok-m1l3-oop - Объектно-ориентированное программирование
- ok-m1l4 - Предметно ориентированные языки (DSL)
- ok-m1l5 - Асинхронное и многопоточное программирование с корутинами
- ok-m1l6-flows-and-channels - Асинхронное и многопоточное программирование с каналами
- ok-m1l7-kmp - Kotlin Multiplatform и интероперабельность с JVM, JS
- ok-m2l2-testing - Тестирование проекта, TDD, MDD
- specs - описание API в форме OpenAPI-спецификаций
- ok-marketplace-be-transport-openapi - подпроект для генерации транспортных моделей для бэкенда из спецификаций OpenAPI
- ok-marketplace-be-transport-mapping-openapi - мапинг OpenAPI транспортных моделей во внутренние модели
- ok-marketplace-mp-transport-mp - подпроект с транспортными моделями на Kotlin Multiplatform
- ok-marketplace-be-transport-mapping-openapi - мапинг KMP транспортных моделей во тренние модели
- ok-marketplace-be-service-openapi - Сервис для OpenAPI-реализации. Предназначен для унификации вызовов бизнес-логики при использовании разных транспортных моделей
- ok-marketplace-be-app-spring - Приложение на Spring Framework
- ok-marketplace-be-app-ktor - Приложение на Ktor
- ok-marketplace-be-app-serverless - Бессерверное приложение для AWS
- ok-marketplace-be-app-rabbit - Микросервис на RabbitMQ
- ok-marketplace-be-app-kafka - Микросервис на Kafka
- ok-marketplace-be-stubs - Стабы для ответов сервиса
- ok-marketplace-mp-common-cor - Библиотека для реализации шаблона Цепочка обязанностей
- ok-marketplace-be-common-validation - Библиотека для валидации
- ok-marketplace-be-repo-test - Базовые тесты для репозиториев всех баз данных
- ok-marketplace-be-repo-inmemory - Репозиторий на базе EhCache для тестирования
- ok-marketplace-be-repo-sql - Репозиторий на базе PostgreSQL
- ok-marketplace-be-repo-cassandra - Репозиторий на базе Cassandra
- ok-marketplace-be-repo-dynamo - Репозиторий на базе AWS Dynamo
