Учебный проект курса Kotlin Backend Developer. Marketplace -- это площадка, на которой пользователи выставляют предложения и потребности. Задача площадки -- предоставить наиболее подходящие варианты в обоих случаях: для предложения -- набор вариантов с потребностями, для потребностей -- набор вариантов с предложениями.
Считаем, что целевая аудитория учебного сервиса -- это средние и крупные предприятия, желающие (а) продать свою высокотехнологичную продукцию или (б) найти поставщиков для ее производства.
-
Высококвалифицированный инженер среднего или высшего звена, который ищет поставщиков компонентов для разрабатываемого продукта.
-
Мужчина от 30 до 50 лет
-
С высшим образованием
-
С критическим складом ума, со склонностью сопоставлять цифры, технические характеристики и не ведется на броскую рекламу
-
Как правило женат, имеет детей (как маленьких, так и взрослых), обеспечен, имеет жилье и автомобиль
Можно выделить несколько сегментов пользователей
-
Высококвалифицированный и опытный сотрудник отдела продаж, знающий как продукт, так и технические детали
-
Мужчина от 30 до 50 лет
-
С высшим образованием, знает технологические нюансы продаваемой продукции и как эта продукция используется
-
Знаком лично с большинством клиентов, большая часть всех продаж через личные контакты
-
-
Начинающий или низкоквалифицированный продажник
-
Молодой мужчина до 30-35 лет
-
Без высшего образование или без опыта работы в соответствующей отрасли
-
Делает продажи посредством холодных звонков
-
и т.д.
-
-
И т.д.
Модули, которые используются как фронтендом, так и бэкендом
-
ok-marketplace-mp-common
-- Базовые общие модули для фронтенда и бэкенда: валидация, тестирование -
ok-marketplace-mp-transport-mp
-- Транспортные модели для API на базе Kotlin Multiplatform для коммуникации между бэкендом и фронтендом -
ok-marketplace-mp-pipelines
-- Библиотека с DSL для шаблона проектирования Chain of Responsibility -
ok-marketplace-mp-pipelines-validation
-- Расширениеok-marketplace-mp-pipelines
для валидации
Небольшоая демонстрация фронтенда на базе Kotlin React.
-
ok-marketplace-fe-common
-- Общие классы для компонентов фронтенд-приложения. Прежде всего, внутренние модели -
ok-marketplace-fe-mappers-mp
-- Маперы для конвертации данных из транспортных моделей на базе Kotlin Multiplatform во внутренние модели и обратно -
ok-marketplace-fe-app-kreact
-- Фронтенд-приложение на Kotlin-React
Инфраструктурные модули, несущие в себе либо общие объявления для других модулей, либо бизнес-логику, которая не зависит от конкретных реализаций хранилища, фреймворков и пр.
-
ok-marketplace-be-common
-- Общие классы для компонентов бэкенд-приложения. Прежде всего, внутренние модели и интерфейсы -
ok-marketplace-be-mappers-mp
-- Маперы для конвертации данных из транспортных моделей на базе Kotlin Multiplatform во внутренние модели и обратно -
ok-marketplace-be-business-logic
-- Модуль бизнес-логики на базеok-marketplace-mp-pipelines
. Вся логика обработки запросов находится здесь
Модули демонстрируют использование различных фреймворков для приложения Маркетплейса
-
ok-marketplace-be-app-spring
-- Бэкенд-приложение на базе фреймвока Spring Boot с использованием библиотеки Spring-Fu -
ok-marketplace-be-app-ktor
-- Бэкенд-приложение на базе фреймвока Kotlin KTOR -
ok-marketplace-be-app-kotless
-- Бэкенд-приложение на базе фреймвока Kotlin Kotless с демонстрацией возможностей бессерверных вычислений в Amazon Web Services (AWS)
Модули реализуют персистентное хранилище в бэкенд-проекте Маркетплейса
-
ok-marketplace-be-repository-inmemory
-- Репозитарий in-memory-базы данных. Используется для тестирования бизнес-логики и интеграции. -
ok-marketplace-be-repository-sql
-- Репозитарий базы данных с использованием SQL. В проекте используется PostgreSQL. -
ok-marketplace-be-repository-cassandra
-- Репозитарий базы данных Cassandra. -
ok-marketplace-be-repository-dynamodb
-- Репозитарий базы данных AWS DynamoDB. -
ok-marketplace-be-repository-tests
-- Модуль для общих автоматических тестов различных версий репозиатрия