Image

Розробка інтерактивної платформи для навчання програмуванню з використанням Docker-контейнеризації

Навчальний заклад: Одеський ліцей № 72 Одеської міської ради

Автор: Поправка Богдан Сергійович

Відділення: Інформаційні технології

Секція: Програмна інженерія

Область: Одеська

Опис:

Розроблено інтерактивну платформу для навчання програмуванню, що використовує Docker-контейнеризацію для безпечного виконання коду. Підтримується 22 варіанти мов програмування, включаючи Python, Java, C++, Rust, Kotlin та Assembler, для деяких створено індивідуальні образи. Завдяки ізоляції контейнерів забезпечується безпека виконання коду, запобігаючи несанкціонованому доступу та потенційним загрозам для серверної інфраструктури. Серверна частина платформи побудована на Java Spring і працює за принципами REST API, що забезпечує ефективну обробку запитів та взаємодію з базою даних MySQL через JPA. Клієнтська частина реалізована на Vue.js, що дозволяє створити адаптивний веб-інтерфейс із динамічним оновленням даних без перезавантаження сторінки. Для передачі результатів тестування рішення в режимі реального часу використовується SSE (Server-Sent Events). Функціонал включає систему авторизації на основі токенів, керування сесіями, створення та тестування задач, механізм автоматизованого оцінювання розв’язків, а також систему рейтингів. Реалізовано обмеження ресурсів для кожного виконання коду, що запобігає надмірному навантаженню на сервер. Платформа створена для користувачів різного рівня підготовки та може використовуватися як для самостійного навчання, так і для організації освітніх процесів у навчальних закладах чи тренувальних змагань з програмування.