Skip to content
dragosgatanPublic

About

O platformă de informatică modernă cu accent pe experiența utilizatorului și integrarea nativă a limbajului Python. Built for InfoEducatie 2026.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

ReInfo

CI License: MIT

Platformă modernă de programare competitivă pentru elevi și profesori din România. Construită pentru InfoEducație 2026 (Secțiunea Software Educațional).

Note

For now, the backend is no longer hosted due to costs, the frontend is still up, though I might shut it down.

All data is backed up and I might host it on my own server again in the future.

Funcționalități

  • Probleme - catalog cu filtrare, editor Monaco, judecată automată prin Piston, verdicte detaliate per test
  • Probleme AI - tip de problemă dataset/ML, submisie predicții evaluate prin metrici (accuracy, F1, RMSE, MAE), acces prin CLI
  • Concursuri - timer, clasament live prin WebSocket, tipuri: concurs / test de clasă
  • CTF - provocări de securitate pe categorii (web, crypto, pwn, reverse, forensics, OSINT, diverse), hint-uri, scoreboard
  • Duele 1v1 - sistem Elo, matchmaking automat, invitații directe, resign/remiză
  • Învățare - lecții Markdown + LaTeX, exerciții interactive, chatbot AI per lecție
  • Hărți de parcurs - trasee de învățare tip skill-tree, cu progres per nod
  • Pregătire - trasee structurate de pregătire pentru fiecare olimpiadă
  • Clase - spații profesor–elevi cu anunțuri, teme, chat live și mesaje directe
  • Proiecte - teme deschise atribuite de profesori, submisie prin link GitHub, notare
  • Social - profiluri publice cu heatmap activitate, prietenii, notificări în timp real
  • Admin - panou de administrare: utilizatori, statistici, monitorizare platformă
  • CLI - client de linie de comandă (nepublicat încă pe PyPI, instalabil din cli/) pentru submisii, scaffolding și acces la seturi de date AI
  • i18n - română (implicit), engleză, maghiară; navigare cu tastatura; WCAG AA; responsive

Pornire rapidă

Cerințe: Docker Engine 24+, Docker Compose v2.

git clone https://github.com/dragosgatan/reinfo.git
cd reinfo
docker compose up --build
Serviciu URL
Interfață http://localhost:3000
API Swagger http://localhost:8000/api/docs
# Prima pornire - aplică migrațiile dacă nu rulează automat
docker compose exec backend alembic upgrade head

Instalare detaliată → docs/INSTALL.md


Architecture

graph TB
    Browser <-->|"HTTP + WebSocket"| FE["Next.js :3000"]
    FE <-->|"REST /api/*"| BE["FastAPI :8000"]
    FE <-->|"WS /ws/*"| BE
    BE <-->|"SQLAlchemy async"| DB[("PostgreSQL :5432")]
    BE <-->|".in/.out"| FS[("data/")]
    WK["Worker (judger)"] <-->|"SELECT FOR UPDATE SKIP LOCKED"| DB
    WK <-->|"POST /execute"| PS["Piston :2000"]
    WK -->|"NOTIFY"| DB
    DB -.->|"LISTEN"| BE
Loading

Cross-process sync uses PostgreSQL NOTIFY/LISTEN.


Tech Stack

Component Technology
Backend FastAPI 0.115 + Python 3.11, SQLAlchemy 2.0 async, Alembic
Database PostgreSQL 16 (ACID, NOTIFY/LISTEN, SKIP LOCKED)
Code execution Piston (self-hosted Docker sandbox)
Frontend Next.js 14 App Router + TypeScript, Tailwind CSS + shadcn/ui
Editor Monaco Editor
Auth HTTP-only cookies + itsdangerous
Real-time WebSocket + PostgreSQL NOTIFY
i18n next-intl
AI OpenRouter (DeepSeek), per-user rate limiting + email verification + ip rate limiting + response caching
CLI Click (Python); PyPI package

License

MIT © 2026 Dragos Gatan

About

O platformă de informatică modernă cu accent pe experiența utilizatorului și integrarea nativă a limbajului Python. Built for InfoEducatie 2026.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Contributors

Languages