PYTHON LAB / TECHNOLOGIES
Стек проекта
Технологии, на которых работает эта учебная платформа, и роль каждой из них.
Интерфейс
Страницы курса, личный кабинет и интерактивные задания.
- TypeScript 5.9
- Строгая типизация интерфейса и API-контракта.
- Next.js 16.4React 19.3
- App Router, серверные и клиентские компоненты, маршрутизация и сборка Turbopack.
- Tailwind CSS 4CSS Modules
- Общие стили, изолированные стили компонентов и адаптивные темы.
- TanStack Query 5
- Запросы к API, кэш данных и обновление после действий.
- openapi-fetchopenapi-typescript
- Типизированный HTTP-клиент и генерация типов из OpenAPI.
- Motion 14Lucide React
- Анимации и иконки интерфейса.
- next-themes
- Светлая и тёмная темы.
- Canvas API
- Анимация питона и визуальные элементы учебного интерфейса.
- Feature-Sliced Design
- Слои app, views, widgets, features, entities и shared.
API и сервер
Аккаунты, учебный контент, проверка ответов и прогресс.
- Python 3.14
- Основной язык API и сервиса исполнения кода.
- FastAPI 0.143Uvicorn 0.54
- Асинхронный HTTP API и ASGI-сервер.
- Pydantic 2.14pydantic-settings
- Валидация запросов, схемы ответов и конфигурация приложения.
- OpenAPI
- Общий контракт между сервером и интерфейсом.
- HTTPX
- Асинхронные HTTP-запросы к сервису исполнения.
- email-validatortzdata
- Проверка email и поддержка часовых поясов IANA.
Данные и авторизация
Хранение учебных данных, результатов и сессий.
- PostgreSQL 18.6
- Основная база данных.
- SQLAlchemy 2.1asyncpg
- Асинхронная работа с базой данных, ORM и транзакции.
- Alembic 1.20
- Миграции схемы базы данных.
- PyJWT
- Подписанные токены доступа.
- HttpOnly cookieWeb LocksBroadcastChannel
- Обновление сессий и синхронизация входа и выхода между вкладками.
Исполнение Python
Запуск кода в браузере и серверная проверка заданий.
- Pyodide 314.0.7WebAssembly
- Python runtime для локального запуска в браузере.
- Web Workers
- Исполнение Python отдельно от основного потока интерфейса.
- FastAPI Runner
- Отдельный сервис для проверки кода и ожидаемого вывода.
- DockerDocker-in-Docker 28
- Серверные контейнеры исполнения с лимитами ресурсов и отключённой сетью.
- Python 3.14 slim
- Образ Python для серверных заданий.
Инфраструктура и сборка
Окружение разработки и запуск компонентов проекта.
- Node.js 24+npm 11
- Инструменты frontend, управление пакетами и lock-файлы.
- Docker Compose
- Запуск frontend, API, миграций, PostgreSQL и опциональной песочницы.
- GitHub Actions
- Автоматические проверки и сборка в CI.
- GitPython venvpip
- Контроль версий и изолированное окружение Python.
Качество и тестирование
Проверки логики, типов, интерфейса и доступности.
- Playwright
- Браузерные сценарии и проверки API-клиента.
- axe-core
- Автоматические проверки доступности интерфейса.
- pytestpytest-asyncioHTTPX
- Тестирование API и асинхронной логики.
- ESLint 9eslint-config-nextPrettier
- Проверка и форматирование TypeScript и React.
- React Compiler
- Оптимизация React-компонентов при сборке.
- TypeScript Compiler API
- Проверка границ архитектуры FSD и циклических импортов.