68.51K

Презентация_защита

1.

justbases;
Г А П ОУ С О « Е МК » · Е К А ТЕ Р И Н Б У Р Г · 2 0 2 6
ДИПЛОМНЫЙ ПРОЕКТ
EMK OLYMP
Разработка
веб-платформы
олимпиады по БД
СТУДЕНТ
Чекунов Алексей Артёмович, гр. ИП-211к
РУКОВОДИТЕЛЬ
Софьина Наталья Александровна
С П Е Ц И АЛ Ь Н О С Т Ь
09.02.07 Информационные системы и программирование
веб-платформа
дистанционной
олимпиады по
базам данных

01 / 14

2.

justbases;
01 · АНАЛИЗ
02 / 14
АНАЛИТИЧЕСКАЯ ЧАСТЬ
Зачем понадобилась
платформа
1
Олимпиаду обслуживали два
разрозненных сайта на разных
стеках — с дублированием
функций и ручной проверкой
решений.
Разрозненность
Два сайта, два стека — единого сценария нет.
2
Нет интерактива
ER и SQL выполнялись вне платформы, проверка
вручную.
3
Международный формат
Участники из РФ, Сербии и Беларуси — нужен один
инструмент.
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

3.

justbases;
01 · АНАЛИЗ
03 / 14
АНАЛИТИЧЕСКАЯ ЧАСТЬ
Цель и задачи
ЗАДАЧИ
ЦЕЛЬ
Разработать единую вебплатформу олимпиады —
объединить функции
действующих сайтов и
расширить их интерактивом и
автоматизацией.
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
1
Анализ предметной области и действующих сайтов
2
Проектирование архитектуры и базы данных
3
Дизайн-система и адаптивный интерфейс
4
Сценарий: заявки → модерация → задания → рейтинг
5
ER-конструктор и SQL-песочница с автопроверкой
6
Кабинеты, сертификаты, админ-панель
7
Развёртывание на сервере и тестирование
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

4.

justbases;
01 · АНАЛИЗ
04 / 14
АНАЛИТИЧЕСКАЯ ЧАСТЬ
Что добавляет платформа
Сайт 1
Сайт 2
Платформа
Кабинеты и админка



Модерация заявок



Адаптивный интерфейс



ER-конструктор



SQL-песочница с автопроверкой



Рейтинг и PDF-сертификаты



Единый сценарий и дизайн-система



ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

5.

justbases;
01 · АНАЛИЗ
05 / 14
ПРЕДМЕТНАЯ ОБЛАСТЬ
Три направления олимпиады
01
02
03
Проектирование БД
Создание дампа БД
Запросы и логика
Схема и импорт ER-диаграммы в
клиент-серверную СУБД.
Формирование дампа
спроектированной базы
средствами СУБД.
query · procedure · view · trigger —
реализация и автопроверка.
ER-конструктор
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
экспорт дампа
SQL-песочница
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

6.

justbases;
02 · ПРОЕКТ
06 / 14
ПРОЕКТНАЯ ЧАСТЬ
Архитектура системы
Клиент · браузер
HTML5 / CSS3
Ванильный JS (ES6+)
sql.js (WASM)
CodeMirror
jsPDF
HTTPS · REST · WebSocket
Сервер · Node.js 22 + Express
Маршруты /api
Middleware (helmet, JWT)
WebSocket /ws
Бизнес-логика
Раздача статики
SQL (prepared)
Данные · node:sqlite
10 связанных таблиц
миграции
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
WAL-журнал
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

7.

justbases;
03 · РЕАЛИЗАЦИЯ
07 / 14
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
Модель базы данных
users
applications
olympiads
tasks
submissions
id · email · role
fio · direction ·
status
name · dates · status
olympiadId ·
schemaSql
userId · taskId ·
verdict
results
content
news
notifications
reset_tokens
userId · totalPoints
collection · data
(CMS)
title · body
userId · body ·
readAt
token · expiresAt
10 связанных таблиц · целостность по внешним ключам (FK) · модуль node:sqlite
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

8.

justbases;
02 · ПРОЕКТ
08 / 14
ПРОЕКТНАЯ ЧАСТЬ
Роли и сценарии
Гость
Участник
Администратор
Н Е АВ Т О Р И З О В А Н Н Ы Й
П О С Л Е П Р И Н Я Т И Я З АЯ В К И
О Р Г АН И З АТ О Р И ЖЮ Р И
Просмотр олимпиад, новостей,
правил
Решение заданий: ER, дамп, SQL
Модерация заявок, выдача
доступа
Подача заявки на участие
Отправка ответов
Управление заданиями
Рейтинг и live-турниры
Проверка ответов и результаты
Именной PDF-сертификат
Управление контентом
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

9.

justbases;
02 · ПРОЕКТ
09 / 14
ПРОЕКТНАЯ ЧАСТЬ
Технологический стек
Фронтенд
Бэкенд
Инфраструктура
HTML5 / CSS3
Node.js 22 LTS
Debian + systemd
Ванильный JS (ES6+)
Express
helmet, rate-limit
sql.js (WebAssembly)
node:sqlite
REST API + JSON
CodeMirror
WebSocket (ws)
Git
jsPDF
JWT + bcrypt
дизайн-система
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

10.

justbases;
02 · ПРОЕКТ
10 / 14
ПРОЕКТНАЯ ЧАСТЬ
Ключевой функционал
01
Заявки и модерация
Подача → рассмотрение →
автогенерация логина и пароля.
04
Личные кабинеты
Участник: задания и ответы. Админ:
заявки, задания, итоги.
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
02
ER-конструктор
Визуальная схема и экспорт в DDL
PostgreSQL в браузере.
05
Рейтинг и live
Глобальный рейтинг и live-турниры по
WebSocket.
03
SQL-песочница
Запрос на эталонной БД и серверная
автопроверка результата.
06
Сертификаты
Автогенерация именных PDFсертификатов участников.
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

11.

justbases;
03 · РЕАЛИЗАЦИЯ
11 / 14
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
Серверная автопроверка SQL
server/routes/submission.js
01
function gradeSql(schemaSql, userSql, expectedSql) {
02
03
04
05
06
07
const { DatabaseSync } = require('node:sqlite');
08
09
10
11
const run = (sql) => {
// изоляция: одноразовая база
const mem = new DatabaseSync(':memory:');
try { mem.exec(schemaSql); return mem.prepare(sql).all(); }
finally { mem.close(); }
};
// вердикт = совпали ли результаты участника и эталона
return JSON.stringify(run(userSql))
=== JSON.stringify(run(expectedSql));
}
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

12.

justbases;
03 · РЕАЛИЗАЦИЯ
12 / 14
КАЧЕСТВО РЕШЕНИЯ
Безопасность и эргономика
Безопасность
Эргономика
JWT-авторизация и роли
адаптив: ПК / планшет / телефон
хеширование паролей (bcrypt)
контраст и читаемая типографика
helmet и rate-limit
навигация с клавиатуры
серверная валидация ввода
prefers-reduced-motion
подготовленные SQL-запросы
понятные ошибки форм
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД

13.

justbases;
04 · ИТОГИ
13 / 14
ИТОГИ
Результаты проекта
1
3
10
100%
единая платформа
направления
таблиц БД
адаптивность
вместо двух сайтов
с интерактивом
REST + WebSocket
и автопроверка SQL
ЦЕЛЬ ДОСТИГНУТА
ЕМК · ДИПЛОМНЫЙ ПРОЕКТ · 2026
Платформа разработана и развёрнута на сервере. Развитие: мобильное приложение,
интеграция с СДО, проверка SQL с помощью ИИ, новые языки интерфейса.
ПЛАТФОРМА ОЛИМПИАДЫ ПО БД
English     Русский Rules