Разработка приложения на ASP.NET Core (full stack)

Вячеслав6 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
14.08.2020

Создать программное обеспечение для валидации таблиц с помощью ASP.NET Core.

В программном обеспечении необходимо реализовать следующий функционал:

1. Пользователь сможет осуществлять процедуру регистрации/входа по электронной почте и паролю, а

также осуществлять смену пароля.

2. Будет реализована панель администратора, где можно будет, добавлять новые ограничения

для значений столбцов, добавлять новые типы данных, давать пользователям доступ

к панели администратора, изменять текущие формы созданных таблиц, иметь

доступ к информации о лицензии и её длительности, возможность ввода кода

для продления лицензии, настройки для подключения к outlook, в том

числе и максимальный объём файлов для передачи.

3. Зарегистрированный пользователь сможет создавать/ изменять форму таблицы, которую ему необходимо получить.

Форма будет включать в себя: имя таблицы, дату создания, дату изменения,

сроки отправки (например, до какого то числа или еженедельно по дню

недели), список электронных адресов для отправки результатов, список

электронных адресов пользователей (которые имеют доступ к данной

таблице), названия столбцов, их типы, ограничения значений для столбца,

их описание, индикатор обязательного заполнения столбца, пароль для

таблицы и индикатор для доступности по паролю.

Будет реализовано хранение данной информации в базе данных с сохранением ссылки на таблицу.

Примеры ограничения столбцов: столбец типа целое число: больше 0, столбец типа дата: после 1 июня 2020, столбец типа строка: кг, шт или литр.

4. Зарегистрированный пользователь, если ему был предоставлен доступ к

форме таблицы, сможет зайти по ссылке на страницу с параметрами таблицы,

импортировать свою таблицу, если её вес не больше максимального, в

форматах «.xlsx», «.csv»,«.xls», изменять значения таблицы внутри

приложения, совершать простые операции между строками таблицы и

использовать фильтры по значению ячеек внутри приложения, проверять

таблицу на правильность заполнения в соответствии с формой, отправлять

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

создании, скачивать текущую таблицу в формате «.xlsx», с пометками о

неправильно заполненных ячейках таблицы. При переходе по ссылке на

страницу таблицы, пользователь также сможет заполнять данную таблицу

внутри приложения, без осуществления импорта своей таблицы.

При импорте таблицы, будут импортироваться все поля таблицы, далее, при

проверке правильности заполнения, будет указано, что столбцы «лишние», если они

отсутствуют в форме таблицы и будет возможность их удалить внутри приложения.

Также при наведении на заголовков полей, которые указаны в форме таблицы, будет

высвечиваться их описание.

После проверки правильности таблицы возможно будет вывести только строки с ошибочными значениями.

Между строками таблицы ограничиться операциями какой нибудь библиотеки на js, например, я находил https://github.com/SheetJS/sheetjs можно и какую нибудь другую использовать.

Если встроенных операций в библиотеке нет, то сначала можем обойтись и без них. Но надо будет реализовать именно подсветку ошибок + какое то их выделение, если человек скачивает таблицу. Реализовать фильтр, чтобы показать

только строки с ошибками. Реализовывать, чтобы столбцы можно было делать уже или шире, чтобы если было очень длинное поле, то его можно было сделать уже.

Думаю, что все кнопки, "скачать таблицу", загрузить, проверить, отправить стоит сделать в панели слева, а саму таблицу справа.

5. Незарегистрированный пользователь может получить доступ к таблице по

ссылке и паролю, если указано, что возможен доступ по паролю. Функционал

работы с таблицей будет таким же, как п. 4.

6. Если зарегистрированный пользователь входит на страницу таблицы по

паролю, то он автоматически получает к ней доступ и далее сможет

переходить в неё без пароля.

7. Зарегистрированный пользователь сможет увидеть все доступные ему таблицы в виде списка.

8. Зарегистрированный пользователь сможет увидеть все созданные им таблицы в виде списка.

9. Будет реализовано меню для перемещения между описанным выше

функционалом. Вероятнее всего оно будет расположено сверху, где будут

пункты у зарегистрированного пользователя "Создать", "Отправить",

"Доступные таблицы", а справа email и переход в личный кабинет. Для

незарегистрированных пользователей будет "Отправить" и "Регистрация", а

справа "Войти". Оформление можно сделать с помощью библиотеки bootstrap или тп.

10. Сделать блокировку функционала, если нет лицензии. Пока что реализовать возможность пользоваться приложением 60 дней,

как trial версия, дальше оно блокируется. Самую лицензию пока что разрабатывать не надо.

Также заключим договор, шаблон прикрепил. Т.з. будет в соответствии с текущим, оплата по безопасной сделке.

Заявки фрилансеров