staff:courses:no_sql_introduction:course_work:topics
Содержание
Темы для ИДЗ
Из чего складывается сложность:
- Доступность датасета
- Необходимость использовать несколько датасетов
- Необходимость использовать СУБД не совсем по назначению
- Алгоритмы
Темы в порядке возрастания субъективной сложности. Поле «Комментарий» содержит отправную точку для формулировки окончательного задания.
Помимо задания, для каждой ИДЗ требуется реализовать массовый импорт-экспорт данных.
№ | Название | Предлагаемая СУБД | Набор данных/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 | датасет , но можно и другой источник | Задача - сделать базу данных на базе открытого датасета, где можно ставить диагнозы по набору симптомов, составлять перечнь анализов, оценивать риски и тд. |
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 доступа к хранилищу данных
- Должно присутствовать решение задач хранения/анализа/представления/агрегации/импорта и экспорта данных
- Дополнительный плюс, если есть связь с существующим проектом и/или бакалаврской работой
- Информация об аналогах
Источники данных
Помимо ранее упомянутых датасетов, можно также использовать для своей темы:
- Выгрузка данных OSM