===== Темы для ИДЗ ===== Из чего складывается сложность: - Доступность датасета - Необходимость использовать несколько датасетов - Необходимость использовать СУБД не совсем по назначению - Алгоритмы Темы в порядке возрастания субъективной сложности. Поле "Комментарий" содержит отправную точку для формулировки окончательного задания. Помимо задания, для каждой ИДЗ требуется реализовать [[https://se.moevm.info/doku.php/staff:courses:no_sql_introduction:course_work#%D1%87%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_%D0%BC%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82-%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82 | массовый импорт-экспорт данных]]. ^ № ^ Название ^ Предлагаемая СУБД ^ Набор данных/API ^ Комментарий ^ | 01 | Каталог упражнений йоги | MongoDB | Синтетические данные | Задача - сделать каталог упражнений йоги, с подробным описанием, картинками, классификацией, показаниями и противопоказаниями, отзывами и комментариями. Кроме самого каталога, нужен также многокритериальный поиск по упражнениям и комментариям. | | 02 | Сервис поиска психологов | MongoDB | Синтетические данные | Задача - делаем свой аналог b17. Карточки психологов, модераторов и клиентов. Поиск пользователей, отзывы, интерфейсы модерирования, комментарии. | | 03 | Сервис истории домов СПБ | ArangoDB | Citywalls | Задача - готовим наш вариант Citywalls с большим упором на классификацию, выделение кластеров и визуализацию. | | 04 | Каталог литературных цитат | MongoDB | Классическая литература 19 века :) | Задача - сделать каталог цитат из классики 19 века, для определенности - отечественной. Нужно предоставить карточки цитат, на которых отобразить произведение, автора, персонажа (если это его слова), теги, похожие цитаты. Также нужен поиск по цитатам, авторам, произведениям (многокритериальный). | | 05 | Сервис поиск переименованных в советское время топонимов в СПБ | Neo4j | Citywalls | Задача - выделить из открытых данных именно кейсы переименования, дать по ним поиск и возможность визуализации на карте. | | 06 | Каталог и аггрегатор отзывов на озера РФ | Neo4j | Открытые данные OpenStreetMap | Задача - буквально сделать каталог озер на территории РФ. Карточки озер, поиск, страницы отзывов, профили пользователей. | | 07 | Каталог всех дворов-колодцев СПБ | Neo4j | Открытые данные OpenStreetMap | Задача - составить каталог всех дворов-колодцев в СПБ. Смысл сервиса - дать возможность найти все дворы, а также вести учет персональных достижений (Кто в скольки дворах побывал). Страницы : профиль пользователя, карточка двора, поиск пользователей и дворов, карта. | | 08 | Сервис для организации субботников | ArangoDb | Синтетические данные | Задача - сделать сервис, где можно как самому организовать субботник, так и присоединится к чужому субботнику. В сервисе должны быть помимо стандартных страниц (Профили пользователей, поиск, комментарии, отзывы) также и страницы с персональной и общей статистикой (кто и где участвовал, сколько кв км убрали ...). | | 09 | Приложение для продажи и обмена комнатными растениями | MongoDB | Синтетические данные | Задача - сделать свое avito с базой знаний и фокусом на комнатных растениях. | | 10 | Приложение для ведения домашней библиотеки | MongoDB | Синтетические данные | Представьте, что у вас есть очень много хороших и интересных книг дома, а также еще больше друзей, которые их таскают. Нужно сделать веб сервис, где подобные люди смогут вести свои домашние библиотеки, а также инициировать обмен / как-то фиксировать, кто что и кому отдал. | | 11 | Cервис-сборщик ответов на яндекс-формы и добавление их в таблицы | MongoDB | Синтетические данные | Задача - нужен сервис для выполнения (В большом объеме) утилитарной задачи, а именно, автоматического импорта ответов из яндекс формы в яндекс таблицу (в качестве примера - гугл формы так умеют из коробки). Ваш сервис должен не просто уметь такое делать, но и 1) обеспечивать синхронизацию произвольного количества пар "форма - таблица", 2) вести логи действий (кто и когда какую форму заполнял, как и куда данные пересылались) 3) для пар в системе обеспечивать администрирование. | | 12 | Сервис для indie групп - поиск замен музыкантов, реп.точки, концерты | ArangoDB | Синтетические данные | Задача - сделать веб-сервис, где indie-группы смогут дружить и сотрудничать. Профили групп, музыкантов, реп.точки, объявления, комментарии, рейтинги, статистика. | | 13 | Сервис анализа данных для выдачи кредитов - Профили клиентов, составление рейтингов, прогнозы | MongoDB | Синтетические данные | Задача - давайте пофантазируем о том, что мы большой банк, который выдает кредиты. Разработайте веб-приложение, в котором будут хранится сведения о клиентах банка, со всеми необходимыми полями для того чтобы принять решение. РЕализуйте в простейшей форме алгоритм принятия решений, а также процедуру согласования данных решений. Визуализируйте в сервисе как сотрудников банка, так и клиентов, а также статистику и историю их взаимодействия. | | 14 | Информационная система для пожарных бригад - Вызовы, Бригады, Автомобили, Оборудование, Оценка ущерба, Звонки на горячую линию, Сотрудники (Операторы горячей линии, Пожарные) | Neo4j | Синтетические данные + Открытые данные OpenStreetMap | Задача - создать сервис, где будет хранится вся необходимая информация для работы одного пожарного депо, а также необходимые веб страницы, чтобы с этими данными работать. | | 15 | Сервис аренды инструментов для ремонта | MongoDB | Синтетические данные | Задача - создать сервис для фирмы, которая сдает в аренду различное строительное оборудование (от молотков до катков и эксаваторов). Нужны интерфейсы как для сотрудников, так и для клиентов. | | 16 | Сервис для Тайного Санты | MongoDB | Синтетические данные | Задача - делаем сервис, где несколько независимых групп пользователей могут играть в тайного Санту. | | 17 | Сервис для организации длинных экскурсионных маршрутов по СПБ | Neo4j | Citywalls + Открытые данные OpenStreetMap | Задача - сделать сервис, который сможет составить длинный пешеходный маршрут по замысловатому запросу, а также вести учет пользовательских маршрутов, статистики прохождения этих самых маршрутов. Например, маршрут через все мосты СПб, обход всех площадей центрального района. | | 18 | Сервис-агрегатор для поиска свободных мест на занятиях йоги | MongoDB | Синтетические данные | Задача - сделать сервис, где клиенты смогут видеть общее расписание нескольких центров йоги, а также записыватся в свободные слоты. | | 19 | Сервис управления сетью коммерческих автоматизированных складов | ArangoDb | Синтетические данные | Задача - сделать сервис для бизнеса, который предоставляет услуги аренды ячеек на складах. Нужны интерфейсы для как сотрудников (владелец бизнеса, директор склада, рабочий, системный администратор), так и пользавателей , интерфейсы для оплаты на заглушках. | | 20 | Сервис для организации ремонтов в ВУЗе - сроки, материалы, работы, переселение работников в новые кабинеты, оценка рисков | MongoDB | etu.ru | Задача - сделать веб-сервис для планирования хозяйственных работ в большой, протяженной организации, в которой работает много людей. Основной упор на то, чтобы составлять разнообразные планы - графики, закупки, риски, подготовительные работы. | | 21 | Информационная система клининговой компании | MongoDB | Синтетические данные | Задача - сделать сервис для бизнеса, который занимается уборкой. | | 22 | База данных заболеваний, анализов, симптомов и синдромов (с возможностью логического вывода) | Neo4j | [[https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/DDB/index.html|датасет]] , но можно и другой источник | Задача - сделать базу данных на базе открытого датасета, где можно ставить диагнозы по набору симптомов, составлять перечнь анализов, оценивать риски и тд. | | 23 | Сервис-обертка вокруг google drive (для экспорта и более удобного управления) | MongoDB | Синтетические данные | Задача - сделать сервис, который оборачивает api google drive, чтобы в своей БД зафиксировать все документы, права на них и атрибуты. При этом сервис также должен уметь через api выполнять массовые действия с документами (поиск, изменение прав доступа), а также показывать статистику. | | 24 | Видеохостинг | MongoDB | Синтетические данные | Задача - сделать прототип небольшого видеохостинга, на котором можно размещать короткие ролики. | | 25 | Аггрегатор информации о микроклимате в большом помещении (см пример с занятия по Influx - мониторинг микроклимата в ВУЗе) | InfluxDb | etu.ru | Задача - сделать сервис, где будут собираться и анализироваться данные о микроклимате для большой группы строенией со сложной структурой (на примере ЛЭТИ). Нужны визуализации как по отдельным помещениям, так и по этажам, корпусам, а также страницы самих отдельных единиц, страницы статистики. | | 26 | Информационная система компании по производству и монтажу кухонных гарнитуров | MongoDB | Синтетические данные | Задача - сделать сервис для бизнеса, который занимается уборкой. Основной акцент - прототип системы управления производством (заказы, раскрой, рабочие часы, логистика). | | 27 | Сервис транскрибции видео и аудио | MongoDB | Синтетические данные | Задача - сделать сервис для организации транскрибции видео и аудиоматериалов с помощью некоторой распределенной инфраструктуры (это означает, что ресурсы для транскрибции определяются динамически (администраторами) и система должна уметь планировать обработку входных данных исходя из текущих мощностей). Пользователи - администраторы, пользователи. Необходимые (но не достаточные фичи) - страница отдельного задания, профили пользователей, статистика (для админов, по отдельным серверам транскрибции, по пользователям, по задачам), интерфейсы оплаты на заглушках. Саму транскрибцию делать не обязательно, но если очень хочется - можно использовать whisper.ai | | 28 | Юридические документы | Neo4j | Синтетические данные | Смысл проекта - предоставить интерфейс для хранения, версионирования и анализа (грубого) юридических документов на русском языке. Варианты анализа: разбиение на предложения, абзацы, идентификация пунктов по ключевым словам, поиск формулировок-обязательств / требований ….Необходимые (но не достаточные) фичи - таблица с поиском по документам, страница документа, статистика по документу, общие термины документов | | 29 | Карта транспортной доступности водоемов севера Ленинградской области | Neo4j | Открытые данные OpenStreetMap | Задача в рамках ИДЗ - сделать систему для построения и анализа графа транспортной доступности водоемов (реки, озера, водохранилища) севера ЛО. Необходимые (но не достаточные) фичи - список водоемов, страница визуализации графа , анализ графа (сортировка по доступности, изолированные узлы). | | 30 | Построение маршрутов с учетом плохой парковки | Neo4j | Открытые данные OpenStreetMap | Необходимо взять в качестве демо данных квадрат карты, где находится Петроградский район и для него создать приложение, которое позволит строить маршруты из точки А в точку Б так, чтобы 1) при подъезде к точке Б нужно вести водителя не наикратчайшим путем, а кругами вдоль перспективных для парковки мест 2) при всем этом поездка по маршруту не была супердолгой. Необходимые (но не достаточные) фичи - карта с возможностью задавать точки и выполнять построение маршрута, таблица для визуализации, страница подробной статистики маршрута | ===== Своя тема ===== - **Интересный, содержательный и нужный п**ользователям сценарий использования - Должен быть понятный, достаточный и доступный **источник данных** - публичный датасет, публичное api доступа к хранилищу данных - Должно присутствовать решение задач **хранения/анализа/представления/агрегации/импорта и экспорта** данных - Дополнительный плюс, если есть **связь с существующим проектом** и/или бакалаврской работой - Информация об **аналогах** ==== Источники данных ==== Помимо ранее упомянутых датасетов, можно также использовать для своей темы: - [[https://www.w3.org/wiki/SparqlEndpoints|Список SPARQL-endpoint]] - https://github.com/blog/2298-github-data-ready-for-you-to-explore - http://www.foodpedia.tk/about?lang=ru - http://www.imdb.com/interfaces - https://www.wikidata.org/wiki/Wikidata:Main_Page - Выгрузка данных OSM - https://www.openstreetmap.org/search?query=saint-petersburg#map=10/59.9471/30.2495 - [[https://www.kaggle.com/datasets|Kaggle - каталог наборов данных]] - [[https://datahub.io/|Datahub - каталог наборов данных]]