Skip to main content

EduCenter Learning Platform

Web-based Linux learning platform with interactive LXD containers, automated exam grading, and structured lesson content.

Production: mvp.zafarsaidov.uz  ·  API: mvp-api.zafarsaidov.uz/docs


What is EduCenter?

EduCenter is a hands-on Linux learning platform where students learn by doing — not just reading. Every lesson can be followed in a live terminal running inside a real Linux container.

Core Features

FeatureDescription
Interactive TerminalsEach student gets a dedicated LXD container (Ubuntu or CentOS)
Structured Lessons3-tier content: Module → Section → Theme with Markdown
Practice LabsGuided lab exercises with automated bash verification
Timed ExamsAuto-graded exams in isolated containers
Progress TrackingDashboard with completion stats and activity timeline
Admin PanelFull CRUD for users, modules, exams, and labs

Architecture at a Glance

Browser (Vue 3 SPA)

├─ HTTPS ──► Nginx Reverse Proxy (77.42.82.4)
│ ├─ /api/* ──► FastAPI Backend (Python 3.11)
│ ├─ /ws/* ──► WebSocket → SSH → LXD Container
│ └─ /* ──► Vue SPA (static files)

FastAPI Backend
├─ PostgreSQL 15 (users, lesson structure, exams, progress)
├─ Redis 7 (sessions, rate limiting)
└─ LXD HTTPS API (container lifecycle, 65.109.236.163:8443)

Roadmap

VersionStatusMilestone
v0.1.0✅ DoneRegister → View lessons → Use sandbox terminal
v0.2.0✅ DoneStart exam → Run bash tasks → Auto-graded score
v0.3.0PlannedInstructor creates content in UI
v0.4.0PlannedCertificates + completion analytics
v0.5.0PlannedAI tutor for current lesson content

Quick Start

git clone git@gitlab.com:zsaidov1988/educenter-platform.git
cd mvp-v2
cp backend/.env.example backend/.env
docker-compose up -d
docker-compose exec backend alembic upgrade head
docker-compose exec backend python -m app.db.init_db

See Local Setup for the full guide.