Descriere
Aplicația digitalizează fluxul declarațiilor „plata cu ora”, care înainte circulau ca fișiere Excel prin email sau pe hârtie. Cadrul didactic își completează orele (manual sau prin încărcarea orarului), aplicația generează declarația, validatorul din departament o aprobă sau o respinge, iar la final se descarcă PDF-ul oficial.
Funcționalități cheie
- Listă de ore și calendar lunar, cu zile libere și sărbători
- Generarea declarației și export PDF
- Panou de validare pentru validatori, cu remindere
- Configurarea semestrelor și a perioadelor de vacanță
- Cereri de acces pentru utilizatori externi, aprobate de administratorul universității
- Jurnal de audit
Screenshots
Tehnologii
Frontend
Backend
Date
Calitate
Arhitectură
Backend structurat pe rute, controllere, servicii și modele; declarația PDF se generează dintr-un șablon HTML randat de un browser headless. Clientul pentru API-ul de orar este generat din specificația OpenAPI.
Diagrama este generată din cod PlantUML: arch-platacuora.puml.
Deployment
- Producție: la push pe
main, un runner self-hosted construiește frontendul și actualizează serverul; backendul rulează ca serviciusystemd. - Staging (plata-cu-ora.staging.ulbsibiu.ro): Docker Compose (MongoDB, backend, frontend cu nginx) administrat prin Coolify; doar frontendul este expus.
- Backup zilnic al bazei de date, cu retenție de 7 zile.
- Documentație tehnică publicată cu MkDocs / Backstage TechDocs.
Detalii
Roluri și utilizatori
- Profesor
- Validator
- Administrator de facultate
- Super-administrator (universitate)
Integrări
- Google (autentificare)
- UMS (verificarea utilizatorilor)
- Schedule (orar)
- API de zile libere
- Email (notificări)
Autentificare și securitate
Autentificare Google OAuth. Utilizatorii sunt căutați în UMS; conturile necunoscute intră în starea „în așteptare” până la aprobarea de către super-administrator.
Calitate și testare
- Teste unitare în frontend și backend
- Linting + formatare + hook-uri pre-commit
- Dependabot
- Descriere API în OpenAPI
Cum rulezi local
- Container:
docker compose -f utils/docker-compose.yaml up(MongoDB, backend, frontend) - Manual:
cd backend && npm install && npm run start:dev;cd frontend && npm install && ng serve
Responsabili
- Macarie Breazu — Responsabil
Contributori
Lista contributorilor se completează în curând.

