Введение 5
1. Обзор предметной области 6
1.1. Mendeley........................6
1.2 Scopus ...........................7
1.3 Google Scholar ..............7
1.4 eLIBRARY.RU..................7
1.5 Выводы..........................8
2. Используемые технологии 9
2.1 MEAN стек......................9
2.2. MongoDB........................9
2.3. Node.js ...........................9
2.4. express.js.......................9
2.5. npm................................10
2.6. Mongoose ......................10
2.7 passport..........................10
2.8. cheerio............................11
3. Определения и обозначения 12
4. Организация структуры кода серверной части 14
5. Использование базы данных MongoDB 16
5.1. Схема профиля пользователя...........16
5.2. Схема группы.....................................17
6. Разработка API для групп19
6.1 API groups......................20
6.1.1. POST....................20
6.1.2. PUT......................22
6.2 API invite.........................24
6.3 API groupUsers. GET . .25
7. Общий обработчик для небольших запросов 29
8. Импорт списка публикаций из сервиса elibrary 31
8.1. Инициализация переменных.............................32
8.2. Получение общих данных публикаций с первой страницы 32
8.3. Подробный разбор объекта публикации 34
8.4. Выяснение количества страниц списка публикаций 34
8.5 Разбор всех остальных страниц........................35
9. Получение production-версии сервиса с помощью планировщика задач Grunt 36
9.1 Общая настройка................................................36
9.2 Настройка копирования ....................................37
9.3 Настройка css файлов........................................39
9.4 Настройка js........................................................42
Заключение 45
Список литературы 46
Российские научные и научно-педагогические работники,
исследователи и иные творческие деятели — всем им нужно
предъявлять сведения о результатах работы в самых разных
видах, структурах, срезах для рейтингов, конкурсов и т.д.
Структурирование списка при большом количестве
интеллектуальных результатов становится сложной задачей.
Также, стоит заметить, что для разных ситуаций требуется пред-
ставить список о результатах интеллектуальной деятельности в
разных форматах, таких как .xml, .doc и другие.
Основная задача рамочного проекта RADOMS [14] заключается
в том, чтобы хранить список результатов научных достижений
(список публикаций, регистраций, отчетов), и в дальнейшем
обрабатывать и выдавать этот список в разных формах, которые
требуются для разных рейтингов и конкурсов. Иными словами,
должна быть реализована система, в которой имеется клиент, и у
которого есть возможность хранить в базе данных список
результатов своей работы и в дальнейшем осуществлять
необходимую выборку из списка работ и выводить этот список в
самых разных видах, представленных в сервисе.
Целью настоящей работы является реализация серверной
части в рамках проекта по созданию распределенной
информационной системы для управления сведениями о
результатах интеллектуальной деятельности. Конкретные задачи
для достижения указанной цели: разработать структуру
серверной части и структуру БД; написать API для
соответствующей структуры; написать импорт публикаций из
сервиса elibrary; настроить планировщик задач на создание
production-версии сервиса.
В рамках данной бакалаврской работы были достигнуты
следующие результаты:
1 Создана структура серверной части.
2. Разработана структура БД. Созданы три модели: модель
профиля пользователя, модель группы пользователей и
модель публикации.
3. Разработано соответствующее API для работы с этими моделями.
Также было разработано API для страницы администратора.
4. Реализован импорт списка публикаций из сервиса elibrary.
5. Настроен планировщик задач на получение production-версии сервиса.
Также в ходе работы над данным проектом:
• опубликована статья Грибков К.В., Хайдаршин А.М., Суворова
А.В., Тулупьев А.Л. Проект RADOMS: программные
компоненты серверной части // Материалы 6-й всероссийской
научной конференции по проблемам информатики СПИСОК-
2016. (26—29 апреля 2016 г. Санкт-Петербург). СПб.: ВВМ,
2016. С. 463-476;
• принята в печать статья Грибков К.В., Суворова А.В., Тулупьев
А.Л. Проект RADOMS: программные компоненты серверной
части — импорт метаданных из сервиса elibrary, группы
пользователей и операции над ними. // Материалы 7-й
всероссийской научной конференции по проблемам
информатики Санкт-Петербург). СПб.: ВВМ, 2017.
СПИСОК-2017. (26-28 апреля 2017 г.
• направлена заявка на регистрацию системы в РОСПАТЕНТ.