Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 2.47 KB

README.md

File metadata and controls

44 lines (34 loc) · 2.47 KB

Full stack developer Задание

Сделать одностраничное приложение на React + .NET Core + PostgreSQL. Требуется аккуратно и детально соблюдать требования ниже.

Пользователь заполняет таблицу на веб-странице и вводит даты для пользователей некоторой системы в следующем формате:

UserID Date Registration Date Last Activity 1 [dd.mm.yyyy] [dd.mm.yyyy] 2 [dd.mm.yyyy] [dd.mm.yyyy] ... ... ... 5 [dd.mm.yyyy] [dd.mm.yyyy]

По кнопке Save данные сохраняются в реляционную БД.

По кнопке Calculate рассчитывается и выводится метрика с названием “Rolling Retention 7 day” и рисуется гистограмма распределения длительностей жизней пользователей (длительность жизни - это количество времени в днях от регистрации до последней активности). Rolling Retention X day = (количество пользователей, вернувшихся в систему в X-ый день или позже) / (количество пользователей, установивших приложение X дней назад или раньше) * 100%.

UI-элементы нужно взять тут: https://www.figma.com/file/QiNnIWCBeOGxhmrXN2UILQ/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81-Copy?node-id=0%3A1

Приложение задеплоить любым удобным способом, чтобы был общедоступный URL к нему.

  • Дополнительная задача: Сделать небольшое профилирование в свободном формате и сказать, сколько времени уходит на ключевые операции в задаче (достать из базы, рассчитать, вывести значения).

Пожелания к реализации. Back. Использование EF в качестве ORM и EF миграции Использование атрибутов для валидации входящих данных Использование IServiceProvider в качестве IoC контейнера Многослойная архитектура Context Service Controller