Descriere
Schedule înlocuiește vechiul sistem de orar și deservește cele 9 facultăți ale ULBS. Administratorii construiesc orarul într-un editor grafic cu drag-and-drop și verificare automată a conflictelor, iar studenții și cadrele didactice îl consultă public, fără autentificare. Aplicația gestionează și sesiunile de examene și înregistrează prezența prin coduri QR. Datele sunt expuse printr-un API REST documentat, folosit de alte aplicații Code4ULBS.
Funcționalități cheie
- Editor de orar cu drag-and-drop și detectarea conflictelor de săli, profesori și grupe
- Orar public: căutare după specializare, grupă, profesor sau sală
- Planificarea examenelor și a sesiunilor
- Prezență prin coduri QR dinamice și raportare
- Import și export (Excel, CSV, PDF, iCalendar)
- API REST cu documentație OpenAPI
Screenshots
Tehnologii
Frontend
Backend
Date
Infrastructură
Arhitectură
Arhitectură multi-bază de date: fiecare facultate are propria bază, cu o structură standardizată, iar API-ul selectează baza după codul facultății.
Diagrama este generată din cod PlantUML: arch-schedule.puml.
Deployment
- Mediu de producție și mediu de staging administrat prin Coolify.
- Imagini Docker pentru API și frontend, definite în
docker-compose. - Documentația API (Swagger) este publicată împreună cu aplicația.
Detalii
Roluri și utilizatori
- Student și cadru didactic (consultare publică)
- Administrator de facultate
- Cadru didactic (generare cod QR de prezență)
Integrări
- Google Workspace (autentificare)
- ULBS Connect (prezență, orar)
- Plata cu ora (orar profesori)
- UMS
Autentificare și securitate
Citirea orarului este publică. Administrarea și generarea codurilor de prezență necesită autentificare Google Workspace; API-ul folosește token-uri și limitare de rată.
Calitate și testare
- Documentație OpenAPI generată automat
- Audit al modificărilor
- Teste automate și CI/CD în GitHub Actions
Cum rulezi local
- API:
cd api,composer install,cp .env.example .env,php artisan key:generate,php artisan migrate,php artisan serve - Frontend:
cd frontend/schedule-app,npm install,npm run dev
Responsabili
- Cantemir Mihu — Responsabil
Contributori
Mulțumim tuturor celor care au contribuit la Schedule.
- Cantemir Mihu

