Skip to content

Учебный проект компании Otus по курсу "Backend-разработчик на Kotlin". Поток 202012

License

Notifications You must be signed in to change notification settings

otuskotlin/202012-otuskotlin-marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

202012-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. И т.д.

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

Общие модули для фронтенда и бэкенда

Модули, которые используются как фронтендом, так и бэкендом

  1. ok-marketplace-mp-common -- Базовые общие модули для фронтенда и бэкенда: валидация, тестирование

  2. ok-marketplace-mp-transport-mp -- Транспортные модели для API на базе Kotlin Multiplatform для коммуникации между бэкендом и фронтендом

  3. ok-marketplace-mp-pipelines -- Библиотека с DSL для шаблона проектирования Chain of Responsibility

  4. ok-marketplace-mp-pipelines-validation -- Расширение ok-marketplace-mp-pipelines для валидации

Модули фронтенда

Небольшоая демонстрация фронтенда на базе Kotlin React.

  1. ok-marketplace-fe-common -- Общие классы для компонентов фронтенд-приложения. Прежде всего, внутренние модели

  2. ok-marketplace-fe-mappers-mp -- Маперы для конвертации данных из транспортных моделей на базе Kotlin Multiplatform во внутренние модели и обратно

  3. ok-marketplace-fe-app-kreact -- Фронтенд-приложение на Kotlin-React

Общие модули бэкенда

Инфраструктурные модули, несущие в себе либо общие объявления для других модулей, либо бизнес-логику, которая не зависит от конкретных реализаций хранилища, фреймворков и пр.

  1. ok-marketplace-be-common -- Общие классы для компонентов бэкенд-приложения. Прежде всего, внутренние модели и интерфейсы

  2. ok-marketplace-be-mappers-mp -- Маперы для конвертации данных из транспортных моделей на базе Kotlin Multiplatform во внутренние модели и обратно

  3. ok-marketplace-be-business-logic -- Модуль бизнес-логики на базе ok-marketplace-mp-pipelines. Вся логика обработки запросов находится здесь

Модули приложений (фреймворки)

Модули демонстрируют использование различных фреймворков для приложения Маркетплейса

  1. ok-marketplace-be-app-spring -- Бэкенд-приложение на базе фреймвока Spring Boot с использованием библиотеки Spring-Fu

  2. ok-marketplace-be-app-ktor -- Бэкенд-приложение на базе фреймвока Kotlin KTOR

  3. ok-marketplace-be-app-kotless -- Бэкенд-приложение на базе фреймвока Kotlin Kotless с демонстрацией возможностей бессерверных вычислений в Amazon Web Services (AWS)

Модули баз данных

Модули реализуют персистентное хранилище в бэкенд-проекте Маркетплейса

  1. ok-marketplace-be-repository-inmemory -- Репозитарий in-memory-базы данных. Используется для тестирования бизнес-логики и интеграции.

  2. ok-marketplace-be-repository-sql -- Репозитарий базы данных с использованием SQL. В проекте используется PostgreSQL.

  3. ok-marketplace-be-repository-cassandra -- Репозитарий базы данных Cassandra.

  4. ok-marketplace-be-repository-dynamodb -- Репозитарий базы данных AWS DynamoDB.

  5. ok-marketplace-be-repository-tests -- Модуль для общих автоматических тестов различных версий репозиатрия

About

Учебный проект компании Otus по курсу "Backend-разработчик на Kotlin". Поток 202012

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages