Descriere
Aplicația permite profesorilor să creeze examene structurate (text, cod și imagini), să genereze variante amestecate, să le previzualizeze și să le tipărească. Un modul de recunoaștere optică a marcajelor (OMR) citește foile de răspuns scanate pentru corectarea automată.
Funcționalități cheie
- Editor de examene cu blocuri de text, cod (Monaco) și imagini
- Generare de variante amestecate și previzualizare pentru tipărire
- Corectare automată din foi scanate (modul OMR)
- Interfață în română și engleză
Screenshots
Capturile de ecran se adaugă în curând.
Tehnologii
Frontend
React 19Vite 7TypeScriptreact-router 7i18nextMonaco editor
Backend
Python 3.11+FastAPISQLAlchemy 2Alembic
Date
PostgreSQL 16
OMR
PythonPillow
Calitate
pytestVitestCypressruff / pylint / pyrightESLint
Arhitectură
Backend modular (auth, exams, users), cu migrări Alembic rulate automat la pornire. Modulul OMR este deocamdată independent de API.
Diagrama este generată din cod PlantUML: arch-exams.puml.
Deployment
- Docker Compose (PostgreSQL, backend, frontend) pentru dezvoltare și staging; staging administrat prin Coolify.
- Teste de backend pe fiecare pull request și zilnic; teste E2E Cypress zilnice pe runner self-hosted.
Detalii
Roluri și utilizatori
- Profesor / examinator
Integrări
- Google (autentificare OIDC)
Autentificare și securitate
Google OIDC în backend; sesiune cu cookie și protecție CSRF, cu limitare de rată pe rutele sensibile.
Calitate și testare
- Teste unitare backend și frontend
- E2E Cypress zilnic
- Linting și verificare de tipuri
- Documentație de dezvoltare în repository
Cum rulezi local
cp .env.example .env, apoidocker compose up --build -d- Teste:
npm test,npm run test:e2e
Responsabili
Responsabilii se completează în curând.
Contributori
Lista contributorilor se completează în curând.