Descriere
Gradis (Grila de evaluare a Activității Didactice și Științifice) este sistemul prin care cadrele didactice își raportează contribuțiile: articole, cărți, citări, proiecte, conferințe, brevete și activități didactice. Contribuțiile sunt validate, punctate automat pe baza grilelor universității și exportate în formatele cerute de raportările instituționale.
Funcționalități cheie
- Peste 20 de tipuri de contribuții (articole, cărți, citări, proiecte, brevete, comisii etc.)
- Import după DOI și în masă din BibTeX; import de citări din surse externe
- Calcul de punctaje prin reguli configurabile, stocate în baza de date
- Flux de validare cu istoric complet al modificărilor
- Statistici pe departamente și facultăți; export Excel și PDF
- Server MCP pentru integrarea cu instrumente AI
Screenshots
Tehnologii
Backend
Frontend
Date
Calitate
Arhitectură
Toate contribuțiile moștenesc o entitate de bază comună; punctajele sunt calculate de scripturi CEL (Common Expression Language) păstrate în baza de date, deci regulile pot fi schimbate fără redeploy.
Diagrama este generată din cod PlantUML: arch-gradis.puml.
Deployment
- Producție pe servere ale universității: backend ca serviciu
systemd, frontend servit de Nginx. - Mediu de staging separat (gradis.staging.ulbsibiu.ro, administrat prin Coolify); pipeline-uri GitHub Actions rulează testele, construiesc artefactul și reîncarcă serviciul.
- Backup automat al bazei de date de două ori pe zi, cu retenție de 30 de zile.
- Teste E2E zilnice și teste de performanță săptămânale.
Detalii
Roluri și utilizatori
- Profesor
- Secretar
- Validator
- Administrator
Integrări
- Google (autentificare)
- Crossref și OpenAlex (metadate)
- Web of Science și Scopus (citări)
- Google Scholar
Autentificare și securitate
Autentificare Google OAuth2 cu conturi @ulbsibiu.ro; roluri stocate în aplicație, istoric al modificărilor la nivel de entitate, impersonare controlată pentru administratori.
Calitate și testare
- Teste unitare și de integrare în backend
- E2E zilnic cu Playwright
- Analiză statică (Semgrep) și formatare (Spotless)
- Documentație de utilizator în limba română
Cum rulezi local
- Bază de date:
cd backend,docker compose -f db-compose.yaml up -d - Backend:
./gradlew bootRun(port 8080) - Frontend:
cd frontend,npm install,npm run dev(port 5173)
Susținut de
Responsabili
- Antoniu Pitic — Responsabil
Contributori
Mulțumim tuturor celor care au contribuit la Gradis.
- Antoniu Pitic




