Нюансы проекта и сотрудничества
Проект разбит на части, опубликована первая часть ТЗ
Для выполнения нужен бэкенд программист, со знаниями:
1. ASP.NET Core
2. MS SQL Server
3. REST API
Ссылки на скрины являются частью ТЗ, если что-то не поняли — лучше уточнить. Работать нужно будет в тандеме с программистом по фронтенду в рабочей области ФХ, работа через сейф.
Нужен не перегруженный программист, чтобы не выпадать с оговоренных сроков.
После выполнения первого этапа выдадим следующее ТЗ (откроем персональный проект на ФХ)
Есть основной сайт, к нему добавляем платформу для возможности публиковать контракты на строительные работы (условно маленькая фриланс площадка).
Сайт сделан на ASP.NET Core 3.1 c Razor.
1. Новый функционал должен быть выполнен как REST API для дальнейшего взаимодействия с фронтендом на Vue.
2. База данных - MS SQL Server. Взаимодействие с бэкендом через EntityFramework.
3. Создание новых таблиц, изменение существующих только через миграции EF. Новые таблицы создавать с префиксом Platform (например PlatformContracts, PlatformContractTypes)
4. Подключить Swagger для кодогенерации API, а также подробно описывать методы, возвращаемые типы данных и входные параметры
5. Новый функционал по возможности не должен нарушать работы уже написанного кода.
6. Парсинг Excel сделать с помощью библиотек, которые будут работать на Linux, так как приложение хостится на Ubuntu
ТЗ часть 1
1. Языки сайта платформы: Английский, Португальский, Русский.
2.1. Регистрация (для инфы)
2.1. Есть заказчики (роль)
2.2. Есть исполнители (роль)
3. Заказчик может быть (для инфы)
3.1. Физ. лицо (роль)
3.2. Бригада (может искать подрядчиков, мастеров) (роль)
3.3. Компания (роль)
4. Исполнители (для инфы)
4.1. Физ. лицо (роль)
4.2. Мастер (роль)
4.3. Бригада (роль)
4.4. Компания (роль)
5. Страница все контракты https://prnt.sc/vre7hv - поиск по названию, пагинация, фильтр по статусу контракта
6. Личный кабинет заказчика (админка). Главный экран
6.1. Если у заказчика не было опубликованных строительных контрактов — открываем страницу добавления контракта https://prnt.sc/vrbqj4
6.2. Если есть опубликованный или завершенный контракт — выводим главную с таблицей(ами) https://prnt.sc/vrd9u3
7. Данные и страницы для добавления контракта
7.1. Шаг 1 Базовые данные https://prnt.sc/vrc8bq
7.1.1.Есть возможность скрыть адрес
7.2. Шаг 2 Добавление сметы https://prnt.sc/vrbu36
7.2.1. Пользователь должен добавить описание проекта (задачи)
7.2.2. Загрузить смету в формате excel (если нет в этом формате, загружает в PDF формате)
7.2.3. При загрузке сметы в форматах xls / xlsx необходимо произвести парсинг данных из экселя в таблицы базы данных. Ссылка на пример документа (https://drive.google.com/file/d/14sn1p-g2xYihU-jFcBR0aqra4eS3xkzp/view?usp=sharing)
7.2.4. Предлагаем клиенту заказать создание сметы (это наша услуга, обычная контактная форма)
7.3. Шаг 3 Добавление цены https://prnt.sc/vrbuni
7.3.1 Можно добавлять ориентировочную цену, можно не добавлять
7.3.2. Пользователь выбирает до какой суммы планируемый бюджет проекта https://prnt.sc/vrcxdm
7.4. Шаг 4 Добавление дат стройки https://prnt.sc/vrbuy9
7.5. Шаг 5 соглашение с правилами сервиса https://prnt.sc/vrcykc
7.6. На любом из этапов при редактировании полей происходит автосохранение данных
7.6.1. На этапе 5 есть кнопка сохранить, если еще не готов опубликовать заказ
7.6.2. На каждом шагу есть возможность вернуться назад и редактировать данные (до момента публикации)
8. На таблицах активных/архивных проектов выводим данные https://prnt.sc/vrcb8d
Подробности в ЛС