Спроектировать архитектуру ИС и разработать прототип .NET+PostgreSQL

Цена договорная
10 июня 2022, 22:23 • 7 откликов • 63 просмотра
Есть функционирующая "живая" корпоративная ИС, реализованная на платформе .NET Framework и MS SQL Server. Необходимо частично (а в перспективе полностью) перенести ИС на платформу .NET и СУБД PostgreSQL для потенциальной возможности внесения в реестр отечественного ПО. С ИС работает порядка 16 000 пользователей (одновременно - порядка 400-500).

Работа разбита на несколько этапов.
Первый этап - проектирование и разработка прототипа инфраструктурной части ИС. В результате должно стать понятно, как будут реализованы (сейчас это всё поддерживается):

- аутентификация (сейчас по ActiveDirectory, сохранение пользователя в сессии, в Cookies);
- наличие "открытой" части, доступной без аутентификации;
- авторизация (сейчас самописное разграничение прав - частично на уровне приложения, частично на уровне СУБД, частично "по ролям", частично "по правам");
- обработку исключений;
- логирование (сейчас NLog);
- доступ к БД (PostgreSQL), передача пользователя в контексте соединения (или другой механизм разграничения прав на уровне строк);
- взаимодействие с БД (сейчас EntityFramework, надо EntityFrameworkCore);
- физическая схема БД в одном из case-средствах, поддерживающих кодогенерацию для PostgreSQL (сейчас ErWin);
- навигация по приложению (сейчас меню в левой части (которое зависит от контекста страницы), "хлебные крошки" (через MvcSiteMapProvider, который для .NET не реализован);
- вывод спиского представления, сортировка, фильтрация, вывод форм редактирования (в том числе модальных), валидация (сейчас не используются какие-то фреймворки; есть самописное решение, которое частично работает в режиме полной перегрузки страницы, частично - через ajax);
- подключение к проекту css + javascript через BundleConfig;
- отправка пользователю уведомлений (сейчас реализовано через добавление в Response кода JavaScript, в одно месте есть SignalR);
- аудит (сейчас Z.EntityFramework);
- реализация отчётности (сейчас через RDLC-файлы и элемент управления rsweb:ReportViewer в страницах aspx).

Прочие основные задействованные сейчас технологии: Bootstrap, JQuery (+ плагины), Select2, X.PagedList, NLog, AutoMapper (+ много всяких мелочей)

Текущие решения в целом рабочие и можно ориентироваться на них, но не все поддерживается в .NET. Готовы рассмотреть улучшение архитектуры решения.
Необходимо ознакомиться (готов предоставить фрагменты исходного кода) с текущими возможностями решения и предложить (возможно, выработать решение в форме диалога) архитектуру решения на .NET Core. В результате - проект, который выполняет все указанные выше функции.
Заказчик - основной разработчик ИС и готов на активный диалог для выработки проектных решений. Далее хотелось бы продолжить сотрудничество для выполнения более рутинных операций по переносу модулей ИС.
Оплата этапа - по договорённости (присылайте свои ожидания за этап + сроки, либо стоимость за час). Скорее всего, потребуется несколько очных встреч. Возможен вариант принятия в штат организации, г. Москва (был бы плюсом, так как даёт дополнительные гарантии заказчику).

Потенциальному исполнителю необходимо предоставить примеры своих (или при работе в команде) решений, которые поддерживают указанные выше функциональные возможности с не меньшим объёмом пользователей.