AnkiStep
Команда: Ольга Бачище – тимлид, Николай Стойко, Екатерина Черницына, Даниил Шушаков
Автоматическая генерация флеш-карт для повторения материала из пройденного курса на Stepik в формат Anki.
Для многих студентов актуальна такая проблема: пройденный материал быстро забывается без регулярных повторений, а создавать карточки вручную долго и сложно. Кроме того, подобных решений для образовательных платформ раньше не было.
Команда использовала открытые API Anki и Stepik, само приложение получает данные и конвертирует их в нужный формат. Приложение реализовывали на Python. В итоге у ребят получилась консольная утилита, с помощью которой можно авторизоваться на Stepik, просмотреть курсы пользователя, выбрать и конвертировать необходимый курс в набор Anki-карт, который сразу сохраняется в приватный репозиторий пользователя в Anki.
Репозиторий VIPER
Команда: Антон Суркис – тимлид, Владислав Арефьев, Даниил Зинченко, Евгений Свирин
Vim для картинок. Редактор графики с принципиально отличающимся от альтернатив интерфейсом, который целиком управляется с клавиатуры.
Команда написала клиентское приложение, используя C++ и
SFML. Их редактор поддерживает палитру из 36 цветов, небольшие (помещающиеся на экран) изображения, выделение прямоугольником, эллипсом или линией, а также замену цвета по выделению. В дальнейших планах — рефакторинг и добавление новых возможностей, а также исследование интерфейсов.
Репозиторий NewSqool
Команда: Андрей Егорычев — тимлид, Эридан Доморацкий, Алексей Воробьев, Илья Иванцов
Новый интерфейс для контестного сервера
Sqool, который помогает изучать SQL.
Команда написала бэк-прокси на NestJS, фронт на React/TS с использованием библиотек PrimeReact, Prism и Axios и расширение для браузера на Chrome Extension Platform V3.
Ребята полностью повторили функционал оригинального сайта, переписав его на современный фреймворк. Они переработали дизайн для улучшения удобства использования, добавили подсветку синтаксиса, удобное отображение схемы БД. Кроме того этот вариант сайта полностью совместим с существующим бэкендом контестного сервера, что позволяет с минимальными трудозатратами интегрировать его в продакшн. Для упрощения входа через старый сайт используется расширение Chrome, совместимое с большинством современных браузеров. В планах команды перенести сайт на существующий контестный сервер, добавить автодополнение кода и смену темы (светлая/темная).
Репозиторий Полуавтоматический счетчик
Команда: Сергей Кузиванов — тимлид, Светлана Розанова, Динар Шакуров, Дмитрий Чучин, Игорь Шакиров
Android-приложение, которое упрощает алгоритм передачи показаний потребления ресурсов с домовых/квартирных счетчиков.
Ребята использовали Java/Kotlin для программирования Android-приложения, Flask для написания сервера для распознавания показаний на счетчиках, а с помощью SpringBoot развернули Selenium на втором сервере.
У команды получилось приложение с очень полезным функционалом. Через него можно авторизоваться в личном кабинете сайта подачи показаний Нижегородской области, сделать фото счетчиков, а приложение само распознает показания и заполнит нужные графы. Пользователю остается только нажать кнопку «Отправить».
Репозиторий Psycho
Команда: Григорий Райкин — тимлид, Илья Колегов, Семен Абакумов, Маргарита Лазарева, Ильсияр Фаттахова
Менеджер задач, ориентированный на парадигму планирования, которую студенты используют на занятиях по Soft skills и эмоциональному интеллекту. Позволяет рационально организовать свои цели и задачи.
Недавно на занятиях по Soft Skills первокурсники разбирали тему тайм-менеджмента, но оказалось, что ни одно из существующих приложений в точности не реализует рассмотренный метод планирования. Поэтому команда решила такое приложение написать. Для фронтенда они использовали React JS, для бэкенда – Python Django и базу данных Sqlite3.
В итоге у ребят получится прототип сервиса, реализующий базовую функциональность менеджера целей и задач, а также несколько уникальных фич: группировку задач по «горизонтам планирования» и приоритизацию по матрице Эйзенхауэра.
Репозиторий Student.Manager
Команда: Николай Сикачин — тимлид, Дмитрий Патока, Павел Самсонов, Егор Овчинников
Система, которая агрегирует информацию о курсах, заданиях и успеваемости студентов из разных источников: гугл-таблиц и wiki программы. Также в ней реализовано управление со стороны кураторов.
Студентам программы не хватало подобного сервиса для учебы. Также иногда у преподавателей возникали проблемы с доступом к wiki, а кураторам было трудно агрегировать текущую статистику из множества таблиц каждый месяц.
При реализации проект разбили на несколько компонентов:
- Основа в виде веб-сервиса, реализованного на платформе ASP.NET Core 6 вместе с отдельной библиотекой для взаимодействия и парсинга информации из Google Таблиц на C#.
- Для работы с методами и авторизацией для API wiki команда выделила отдельный сервис, написанный на PHP+Lumen.
- В качестве основного клиента системы выбрали наиболее удобное решение для бэкенд разработчиков – телеграмм бота, который был реализован на Java+Spring.
В результате команда реализовала такую функциональность: получение индивидуальной информации по предметам студента и его оценки, возможность добавления ссылки на wiki для преподавателей, возможность создавать общую выгрузку баллов по всем предметам для кураторов. Также ребята работали над добавление файла из бота на wiki, но они не успели реализовать эту фичу до конца хакатона.
Репозиторий Overleaf extension
Команда: Юлия Косенко — тимлид, Анеля Дусаева, Дмитрий Карагодин, Илья Галиев, Артем Лазарев
Расширение для браузера, которое позволяет быстро отправлять письма с домашними заданиями с сайта Overleaf в формате PDF.
Это еще один проект, облегчающий жизнь студентам «Разработки программного обеспечения». Многие ребята выполняют домашнюю работу в онлайн-редакторе Latex — Overleaf. Но отправка сгенерированного файла преподавателю осуществляется через отдельный почтовый клиент и связана с рутинными операциями: выбор получателя, вставка файла, редактирование текста письма и темы. Предложенное расширение для браузера позволяет автоматизировать этот процесс: настрой один раз, пользуйся до конца семестра.
При его реализации команда использовала Java для написания сервера, отвечающего за отправку писем, svelte для фронтенда и просто JS для некоторых скриптов, которые, например, отвечали за получение и отправку файла в формате pdf на локальный сервер.
В конце хакатона команда представила работающее расширение, с помощью которого можно настроить почты преподавателей и шаблоны текстов, используемые в письмах (тему и тело письма) с поддержкой двух плейсхолдеров, представляющихся автоматически: ФИО отправляющего и номер домашнего задания. Отправка писем реализована с почт Gmail и Yandex.
Репозиторий Maniac_q
Команда: Константин Гамора — тимлид, Илья Асадуллин, Александр Ивашкявичус, Иван Назаров
Движок для игры Quoridor с возможностью игры с ботом на движке.
Работая над проектом, команда использовала plain C++ и CMake. Они реализовали консольное представлены игры Quoridor, игру с ботом и предложение лучшего хода. К сожалению, изначально ребята выбрали неоптимальный алгоритм, отвечающий за ходы бота, и не спели исправить этот момент до конца хакатона.
Репозиторий