Заявка на добавление импактной структуры имеет следующие составляющие:
· ФИО заявителя;
· электронный адрес заявителя;
· телефон заявителя;
· описание ударного кратера;
· регион расположения ударного кратера;
· диаметр кратера;
· долгота и широта, на которой располагается кратер;
· возраст импактной структуры.
Для реализации функционала требовалось создать таблицу «Orders» - Заявки (табл. 1) в базе данных приложения.
Таблица 1
Заявки (Orders)
Имя поля | Тип поля | Значение (размер поля) | Ограничение целостности |
ID | Счетчик | Повторения не допускаются | |
ФИО заявителя | Текстовый | До 255 символов | |
Телефон заявителя | Текстовый | До 255 символов | |
Электронный адрес заявителя | Текстовый | До 255 символов | |
Описание кратера | Текстовый | ||
Регион | Текстовый | ||
Диаметр | Число с плавающей точкой | От 0 | |
Долгота | Число с плавающей точкой | От 0 | |
Широта | Число с плавающей точкой | От 0 |
Форма заявки на добавление импактной структуры представляет собой модальное окно на главной странице (рис. 2).
/*скриншот рис. 2*/
Форма разрабатывалась на основе элементов фреймворка Bootstrap [3] для создания интерфейсной части web – приложений, а также технологии AJAX.
РАЗРАБОТКА АДМИНИСТРАТИВНОЙ ПАНЕЛИ
Разработка административной панели для информационной системы «Каталог импактных структур Земли» подразумевает:
· разработку аутентификационного модуля на основе ролей;
· разработку функционала по ведению базы данных;
· разработку функционала по просмотру информации об обновлении каталога, предложенной исследователями с помощью формы на главной странице.
Так как приложение разработано на фреймворке ASP.NET MVC 5 [1, 2]
Разработка аутентификационного модуля на основе ролей подразумевает появление в базе данных 2 новых таблиц:
· «Users» - пользователи (табл. 2);
· «Roles» - роли (табл. 3).
Таблица 2
Пользователи (Users)
Имя поля | Тип поля | Значение (размер поля) | Ограничение целостности |
ID | Счетчик | Повторения не допускаются | |
Электронный адрес | Текстовый | До 255 символов | |
ID роли | Числовой | До 255 символов | |
Хэш пароля | Текстовый | До 255 символов |
Таблица «Users» - пользователи (табл. 3) содержит в себе информацию о пользователях системы, пароль хранится в таблице в виде хэша, полученного путём использования MD5-алгоритма.
Таблица 3
Роли (Roles)
Имя поля | Тип поля | Значение (размер поля) | Ограничение целостности |
ID | Счетчик | Повторения не допускаются | |
Наименование роли | Текстовый | До 255 символов |
В системе определены следующие роли:
· администратор;
· незарегистрированный пользователь.
Каждый пользователей, не имеющий аккаунта является незарегистрированным, поэтому не имеет смысла хранить запись с информацией об этой роли.
Разработка аутентификационного модуля производилась с использованием библиотек, основанных на спецификации OWIN от Microsoft, а также claim-объектов.
OWIN или Open Web Interface for.NET представляет собой спецификацию, определяющую взаимодействие между веб-приложением и веб-сервером [6].
Аутентификация построена на основе cookie. То есть через специальную форму входа (рис. 3) на сервер поступает информация с электронным адресом и паролем, для которого производится расчёт хэша по алгоритму MD5. После этого в таблице пользователей (табл. 3) выполняется поиск пользователя с таким электронным адресом и хэшем, рассчитанным по паролю, введённому пользователем. Если такой пользователь находится, в cookie записывается информация о том, что пользователь прошёл аутентификацию.
/*Рис. 3. Форма входа на сайт*/
После этого с помощью специальных claim – объектов в cookie браузера записывается информация о пользователе. В данном случае в cookie браузера записывается информация о роли пользователя, его электронной почте и его идентификаторе.
Также пользователь - администратор системы на странице с отображением списка структур (рис. 4) имеет возможность добавлять новые, редактировать и удалять структуры.
/*Рис. 4. Вид страницы с отображением списка импактных структур для администратора системы*/
Окно добавления импактной структуры (рис. 5) представляет собой форму, в которую можно внести информацию о версии, наименовании региона, координатах, диаметре и описании кратера.
/*Рис. 5. Окно добавления импактной структуры*/
Окно управления заявками на добавление импактной структуры в систему (рис. 6) отображает информацию о заявках, отсортированных по дате добавления, а также предоставляет возможность удалять заявки, которые добавили незарегистрированные пользователи.
/*Рис. 6. Окно управления заявками на добавление импактных структур*/
После изучения заявки, администратор имеет возможность добавить структуру, предварительно проверим информацию, или обсудить исследование с человеком, который прислал заявку, чтобы убедиться в достоверности информации о структуре.
ЗАКЛЮЧЕНИЕ
В период преддипломной практики была выполнена работа по созданию административной панели для информационной системы «Каталог импактных структур Земли», включающей в себя следующие модули:
· модуль аутентификации;
· модуль управления ведением базы данных;
· модуль управления заявками на добавление структур.
Также был создан интерфейс для оставления заявок на добавление информации об импактных структурах исследователями в этой области.
В результате работы была увеличена размерность базы данных, так как для реализации нового функционала в базу были добавлены новые таблицы.