Назад до портфоліо
Вебзастосунок / IDE

Online Compiler

Браузерна IDE для редагування, запуску й налагодження коду з інтерактивною консоллю та симуляцією Arduino й ESP32.

ТИПКомерційний проєкт
Online Compiler — знімок проєкту 1
01 / Про проєкт

Про проєкт

Online Compiler — браузерна IDE з власним серверним рушієм виконання програм. Код запускається сервером і локальними Docker-образами, а не передається до Judge0 чи Piston. Monaco Editor відповідає за редагування, xterm.js і WebSocket — за інтерактивну консоль із реальним PTY.

Окрім текстового коду, середовище охоплює Scratch 3 і Blockly, приклади програм, налагодження та симуляцію мікроконтролерів. Arduino Uno емулюється у браузері, а сценарії ESP32 використовують QEMU. У наданій версії портфоліо описані підтримка 41 мови, відладчики для 7 мов і бібліотека перевірених сніпетів.

02 / Задача

Задача

Об’єднати редагування, виконання, введення в консоль та налагодження в одному браузерному середовищі з власним рушієм.

03 / Що реалізовано

Що реалізовано

Monaco Editor, кілька файлів і бібліотека прикладів програм.

Справжній інтерактивний термінал: stdin, Ctrl+C та Ctrl+D.

Власне виконання коду та Docker-оточення для мов програмування.

Відладчики та автоматична перевірка еталонних сніпетів.

Blockly, Scratch 3, сцена та спрайти для візуального програмування.

Симуляція Arduino / ESP32 та CI-перевірки середовища.

04 / Технології

Технології

PythonDjangoPostgreSQLWebSocketMonaco Editorxterm.jsDocker

Архітектура та роль технологій

Python
Обробка даних, автоматизація та серверні компоненти.
Django
Серверні маршрути, моделі даних і логіка вебзастосунку.
PostgreSQL
Реляційне зберігання пов’язаних даних і транзакційна узгодженість.
WebSocket
Двосторонній обмін подіями без постійного опитування сервера.
Monaco Editor
Редактор коду всередині браузерного середовища.
xterm.js
Інтерфейс інтерактивного термінала в браузері.
Docker
Відтворювані середовища й контейнерний запуск компонентів.
05 / Як це працює

Як це працює

  1. Вибрати мову, приклад або блокове середовище.
  2. Написати програму та запустити власний рушій.
  3. Взаємодіяти з консоллю чи дослідити виконання у відладчику.
НАСТУПНИЙ КРОК

Є задача? Знайдемо рішення.

Розкажіть, що потрібно зробити. Уточнимо деталі та запропонуємо наступний крок.

Обговорити проєкт