staff:courses:no_sql_introduction:course_work:topics
Содержание
Темы для ИДЗ
Темы размечены по сложности (простые и сложные). Для простых тем дедлайны раньше, но задания проще. Для сложных тем задания сложнее, но и дедлайны позднее.
Помимо задания, для каждой ИДЗ требуется реализовать массовый импорт-экспорт данных.
Темы 2026
| № | Название | Сложность | Предлагаемая СУБД | Набор данных/API | Комментарий | |
|---|---|---|---|---|---|---|
| 1 | ИС для театральных декораций | Сложная | MongoDB | Синтетические данные | Задача - сделать веб-приложение для хранения, поиска и редактирования информации о театральных декорациях с учетом их специфики. | |
| 2 | БД актеров | Простая | MongoDB | Синтетические данные. Для понимания сути проблемы - посмотрите в открытом доступе видео визитки актеров и их страницы на сайте театров. | Задача - создать каталог профилей актеров со всевозможной дополнительной информацией + поиск + редактирование. | |
| 3 | ИС для ателье | Сложная | MongoDB | Синтетические данные | Задача - создать веб-приложение для ателье, где будут роли заказчиков, работников, руководства. В приложение должна быть возможность создать заказ, трекать его выполнение, хранить всю промежуточную информацию, подводить статистику, считать финансы. | |
| 4 | Хранилище изображений с CRUD | Простая | MongoDB | Синтетические данные | Задача - реализуйте веб-приложение с REST интерфейсом для CRUD изображений. В веб-интерфейсе реализуйте возможность поиска изображений по метаданным, датам, данным самого изображения. Храните все логи . | |
| 5 | БД биометрии СКУД для университета (голос, лица, логи, доступы) | Сложная | MongoDB | Синтетические данные | Задача - реализовать веб-приложение для хранения биометрии, для контроля доступа и логгирования всех связанных событий. | |
| 6 | Система записи на самостоятельную работу в комп классе | Простая | ArangoDB | Синтетические данные | Реализуйте приложение для записи на самостоятельную работу в один из Н компьютерных классов. | |
| 7 | БД для наблюдений за животными | Простая | Neo4j | Синтетические данные | Задача - создать веб-приложение, в котором можно делится своими наблюдениями за животными (фото, видео, отметки на карте, лайки, комментарии ….). | |
| 8 | ИС анализа диссертаций в открытом доступе | Сложная | ArangoDB | https://vak.gisnauka.ru/adverts-list/advert | Задача - реализовать приложение, которое принимает на вход тексты диссертаций и авторефератов, а также метаданные о защите / авторе / специальности и тд. Приложение должно парсить тексты, разделяя их на характерные компоненты (элементы введения, список литературы, размеры глав и тд). Предоставлять поиск и стат анализ по данным | |
| 9 | Система для распределения студентов по практикам | Простая | Neo4j | ЛК партнера | Задача - давайте сделаем ЛК-партнера 2.0 с очень умными рекомендациями, навыками (и их подтверждением) студентов, структурированными вакансиями (практиками), аналитикой и поиском. | |
| 10 | Бакенд для gps mmorpg | Сложная | Neo4j | MH | Давайте сделаем наш ответ Mystery Hike (но с упором на бакенд и БД). | |
| 11 | ИС для бесконечных крестиков-ноликов. | Сложная | MongoDB | Синтетические данные | Сделать платформу для запуска пользовательских программ-ботов, сохранять сами решения, логи запусков, состояние поля, подводить статистику. | |
| 12 | Веб-приложение для дыхательных упражнений. | Простая | ArangoDb | Хранить каталог упражнений, отдельные карточки и визуализацию каждого. Режим выполнения упражнения - визуализировать все фазы. Пользователи, комментарии, статистика, отзывы, профили. | ||
| 13 | Каталог персонажей вселенной Властелина колец | Простая | Neo4j | Хранить в виде графа данные по всем персонажам, предметам, временам, локациям и тд из вселенной ВК. Предоставлять поиск, аналитику, аггрегацию данных | ||
| 14 | Построитель маршрутов для раскраски карты города. | Сложная | Neo4j | MH | В некоторых GPS MMORPG вы закрашиваете карту, просто перемещаясь по городу (вы на карте представляете круг фиксированного диаметра). Задача - сделать веб-приложение, которое принимает на вход открытые данные OSM и растровую карту текущей закраски. На выходе необходимо построить несколько адекватных маршрутов, чтобы минимумом усилий закрасить область. | |
| 15 | ИС для симуляции уборки снега. | Сложная | Neo4j | OSM | В интерфейсе приложения задаются координаты стоянок уборочной техники, снегоплавильных полигонов, станций тех обслуживания. В качестве карты выступают реальные OSM данные Санкт-Петербурга. Приложение проводит расчет лучших маршрутов для техники с учетом различных ограничений (пробки и доступность улиц, ресурс и вероятность поломки техники), считает статистику. Приложение хранит результаты моделирования, расстановку объектов на картах и другую информацию. | |
| 16 | Анализатор графов вызова для программ на С. | Сложная | Neo4j | Синтетические данные | Необходимо составить теоретический граф (с точки зрения исходника) - какие функции будут и как вызваны, сопоставить его с фактическим (запустив программу в callgrind). Провести анализ получившегося совпадения. | |
| 17 | Анализатор отчетов в docx. | Сложная | Neo4j | Синтетические данные | Необходимо сделать веб прилоежние, которое анализирует учебные отчеты с точки зрения структуры (превращает их в деревья предложений, слов), а также вычисляет различные статистики, находит между разными работами пересечения. | |
| 18 | Инструмент для класстеризации данных прокторинга. | Сложная | MongoDB | Синтетические данные (надо записать самому) | На входе у нас логи moodle, списки действий пользователей на веб странице, статистика распознавания лиц / OCR на скринкастах …. Сервис должен уметь хранить эти разнородные наборы, объединять их по признакам сессий и принадлежности к студенту, а также фильтровать различными способами, аггрегировать. САмое главное - должны быть реализованы н алгоритмов кластеризации, чтобы строить и визуализировать кластеры среди сессий, находить аномальные. | |
| 19 | Инструмент для кластеризации логов apache | Простая | MongoDB | Синтетические данные | Задача - создать систему для хранения логов Apache (всех видов логов), поиска, группировки и обработки + применение различных методов кластеризации (с сохранением в БД данных каждой попытки кластеризации). | |
| 20 | Веб приложение для управление группой наземных роботов. | Сложная | MongoDB | Синтетические данные | Нужно сделать приложение, решающее задачу хранения информации о Н группах роботов. Храним как метаданные самой группы, так и метаданные конкретных роботов, их координаты, траектории, бинарные данные (кадры с камеры), храним текущие задания для группы, логи. Визуализируем положение на карте. | |
| 21 | Каталог ВУЗов для поступающих - специальности, факультеты, условия, баллы, калькуляторы поступления и аналитика | Простая | MongoDB | etu.ru | Готовим наш ответ вузопедии. | |
| 22 | Родословное древо дворянских фамилий / царей / королей | Простая | Neo4j | https://imperialhouse.ru/rus/imperialhouse/succession/tree.html | Делаем визуализатор и анализатор родословных деревьев для дворян и правителей. | |
| 23 | Сервис для электронных таблиц и форм | Сложная | ArangoDB | Синтетические данные | Давайте замахнемся на создание нашего ответа GoogleSheets | Forms. Реализуем в простом виде создание / представление / редактирование / анализ таблиц и форм. |
| 24 | Приложение-стенд для производительных (и продвинутых) 3d-индексов - хранеение и обработка облаков точек | Сложная | MongoDB | Синтетические данные | Задача - сделать веб приложение, которое хранит данные о тестовых облаках точек, разных алгоритмах построения индексов, запусках экспериментов, а также позволяет все это анализировать, искать, аггрегировать. | |
| 25 | CRM для кадровиков - вакансии, отклики, кандидаты, задания, собеседования | Простая | Neo4j | Синтетические данные | Задача - сделать веб-приложение для кадровиков, которое поможет в найме сотрудников (обработка откликов, соискатели, собеседования и их статусы, кто когда и что спросил, личные данные … .). | |
| 26 | Простые отметки на карте - грибные места, координаты участков, отметки на карте, маршруты | Простая | MongoDB | OSM | Задача - реализовать веб-приложение, в котором можно делать простые заметки на карте. Отмечать интересные места, зоны, маршруты и тд. Искать и анализировать их, соотносить с объектами на карте. | |
| 27 | Сервис по вывозу мусора (Приложение одновременно для курьеров и клиентов) | Простая | ArangoDB | OSM | Задача - реализовать веб-приложение с ролями курьер, клиент, администратор, где был бы реализован сервис по вывозу бытового мусора. Трекинг событий, финансов, действий, аналитика. | |
| 28 | Тренажёр для планирования задач в разработке ПО | Сложная | Neo4j | Синтетические данные | на входе задачи в беспорядке с оценками времени и примерными отношениями порядка, на входе надо составить граф выполнения, прикинуть оценки времени по срокам + учесть табель календарь | |
| 29 | Веб-приложение для игры hotseat, хранения партий и тестирования ботов для круговых шахмат | Простая | MongoDB | Синтетические данные | Задача - веб-приложение для игры в круговые шахматы. Хранение партий, статистики, акккаунты, подключение ботов и их тестирование. | |
| 30 | Каталог народных примет и их накладка на архив наблюдений погоды | Сложная | ArangoDB | Новости Gismeteo? | На сайте Gismeteo каждый день публикуют новость про дату в народном календаре и там каждый раз есть различные приметы, некоторые из которых можно верифицировать. Задача - сделать веб приложение, которое собирает подобные приметы (и структурирует их), собирает погодные наблюдения, составляет отчеты по проверке и адекватности той или другой приметы. | |
| 31 | Анализ коммитов репозиториев пакетов Linux. | Сложная | MongoDB | Repology и данные git | В repology есть данные, но они не очень хорошие. У некоторых дистрибутивов все пакеты лежат в одном репозитории - Homebrew (core, cask), nixpgks, Guix, Gentoo, Void, FreeBSD, AUR (https://github.com/archlinux/aur). У некоторых - по одному git-репозиторию на пакет, давайте проанализируем Arch (https://gitlab.archlinux.org/archlinux/packaging/packages), Debian (https://salsa.debian.org/debian/), Alt Linux (https://git.altlinux.org/gears/). Там есть защита от парсинга, я думаю, надо попробовать взять список проектов из дампа repology (https://dumps.repology.org/) и склонировать все репозитории по одному. Учтите, что репозиториев много | |
| 32 | Информационная система центра полиграфических услуг | Простой | Neo4j | Синтетические данные | Задача - сделать сервис для обеспечения работы центра полиграфии (печать, сканирование, ризография). Роли: клиенты, сотрудники, администраторы. | |
| 33 | Аггрегатор информации о микроклимате в большом помещении (см пример с занятия по Influx - мониторинг микроклимата в ВУЗе) | Сложный | InfluxDb | etu.ru | Задача - сделать сервис, где будут собираться и анализироваться данные о микроклимате для большой группы строенией со сложной структурой (на примере ЛЭТИ). Нужны визуализации как по отдельным помещениям, так и по этажам, корпусам, а также страницы самих отдельных единиц, страницы статистики. | |
| 34 | Информационная система компании по производству и монтажу кухонных гарнитуров | Сложный | MongoDB | Синтетические данные | Задача - сделать сервис для бизнеса, который занимается уборкой. Основной акцент - прототип системы управления производством (заказы, раскрой, рабочие часы, логистика). | |
| 35 | Сервис выбора земельных участков для купли-продажи | Сложный | MongoDB | https://egrp365.org/map/?id=g3c6CO , avito.ru | Задача - создать сервис, в котором можно просматривать и визуализировать объявления о купле-продаже участков. Для участков необходимо составлять аналитику с точки зрения их привлекательности или наоборот - негативных факторов для покупки. |
Своя тема
- Интересный, содержательный и нужный пользователям сценарий использования
- Должен быть понятный, достаточный и доступный источник данных - публичный датасет, публичное api доступа к хранилищу данных
- Должно присутствовать решение задач хранения/анализа/представления/агрегации/импорта и экспорта данных
- Дополнительный плюс, если есть связь с существующим проектом и/или бакалаврской работой
- Информация об аналогах
Источники данных
Помимо ранее упомянутых датасетов, можно также использовать для своей темы:
- Выгрузка данных OSM
staff/courses/no_sql_introduction/course_work/topics.txt · Последнее изменение: — mark
