← Toate proiectele

Plata cu ora

Declarațiile de plată cu ora, de la completare la PDF aprobat

În producțiev1.0.0
Deschide aplicațiaStagingrepo: code4ulbs/platacuora (privat)

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

Screenshots

Lista de ore
Lista de ore
Configurarea semestrului
Configurarea semestrului

Tehnologii

Frontend

Angular 20Angular MaterialNgRxRxJSTypeScript

Backend

Node.jsExpress 5MongoosePassport (Google OAuth)Puppeteer (generare PDF)Nodemailer

Date

MongoDB 7

Calitate

Karma / JasmineJest + SupertestESLint + PrettierHusky

Arhitectură

Diagrama de arhitectură Plata cu ora

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

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

Responsabili

Contributori

Lista contributorilor se completează în curând.