Proiectarea și implementarea unui sistem informatic pentru gestiunea activităților didactice într-o instituție de învățământ superior
Acest proiect reprezintă o soluție completă pentru digitalizarea și automatizarea proceselor administrative din instituțiile de învățământ superior, oferind o platformă centralizată pentru gestionarea cursurilor, studenților, profesorilor și activităților academice.
Importanța Proiectului
Sistemul modern de gestiune academică facilitează comunicarea eficientă între studenți și profesori, reduce sarcina administrativă și oferă transparență în procesul educațional.
Scop și Obiective
Scopul Principal
Dezvoltarea unui sistem informatic modern care să centralizeze și să automatizeze procesele didactice, administrative și de comunicare dintr-o instituție de învățământ superior.
Obiective Specifice
- • Implementarea unui sistem de autentificare și autorizare pentru diferite roluri (studenți, profesori, administratori)
- • Dezvoltarea modulului de gestionare a cursurilor și programelor de studiu
- • Crearea sistemului de catalog electronic și gestionare note
- • Implementarea funcționalității de gestionare orar și prezență
- • Dezvoltarea sistemului de materiale didactice și resurse educaționale
Arhitectura Sistemului
Sistemul este construit pe baza unei arhitecturi în 3 straturi (three-tier architecture), implementată folosind principiile DevOps pentru automatizare și deployment continuu.
// Arhitectura în 3 straturi 1. Stratul de Prezentare (Frontend) - HTML5, Tailwind CSS - JavaScript vanilla / jQuery - Responsive design pentru mobile și desktop 2. Stratul de Logică (Backend) - PHP 8.x cu arhitectură MVC - API RESTful pentru comunicare - Validare și procesare date 3. Stratul de Date (Database) - MySQL 8.0 - Stored procedures și triggers - Backup automat zilnic
Principii DevOps Implementate
- Version Control: Git pentru gestionarea codului sursă
- CI/CD: Pipeline automat pentru testare și deployment
- Containerization: Docker pentru medii izolate și consistente
- Monitoring: Sistem de logging și monitorizare performanță
Stack Tehnologic
Frontend
- • HTML5 - Structură semantică
- • Tailwind CSS - Styling modern și responsive
- • JavaScript ES6+ - Interactivitate client-side
- • Phosphor Icons - Set de iconuri
Backend
- • PHP 8.x - Limbaj server-side
- • MySQL 8.0 - Bază de date relațională
- • API REST - Comunicare standardizată
- • JSON - Format de transfer date
Securitate
- • Password Hashing (bcrypt)
- • Session Management
- • SQL Injection Prevention
- • XSS Protection
DevOps
- • Git - Control versiuni
- • Docker - Containerizare
- • Apache/Nginx - Web server
- • Composer - Dependency management
Schema Bază de Date
Baza de date este structurată pentru a suporta toate funcționalitățile sistemului, cu relații clare între entități și indexare optimizată.
-- Tabele Principale CREATE TABLE utilizatori ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(255) UNIQUE NOT NULL, parola VARCHAR(255) NOT NULL, rol ENUM('student', 'profesor', 'admin'), data_creare TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE cursuri ( id INT PRIMARY KEY AUTO_INCREMENT, nume VARCHAR(255) NOT NULL, cod VARCHAR(50) UNIQUE, credite INT, profesor_id INT, FOREIGN KEY (profesor_id) REFERENCES utilizatori(id) ); CREATE TABLE note ( id INT PRIMARY KEY AUTO_INCREMENT, student_id INT, curs_id INT, nota DECIMAL(4,2), data DATE, FOREIGN KEY (student_id) REFERENCES utilizatori(id), FOREIGN KEY (curs_id) REFERENCES cursuri(id) );
Relații între Tabele
Schema include 12 tabele principale cu relații one-to-many și many-to-many, implementate prin tabele de legătură pentru cursuri-studenți, prezență, teme și materiale didactice.
Documentație API
API-ul RESTful oferă endpoint-uri pentru toate operațiunile CRUD necesare, cu autentificare prin token și validare completă a datelor.
/api/cursuri
Returnează lista tuturor cursurilor disponibile
Response:
{"status": "success", "data": [...]}
/api/note
Adaugă o notă nouă pentru un student
Request Body:
{"student_id": 123, "curs_id": 45, "nota": 9.5}
/api/utilizatori/{id}
Actualizează informațiile unui utilizator
/api/cursuri/{id}
Șterge un curs din sistem
Ghid de Instalare
# 1. Clonare repository git clone https://github.com/username/sistem-gestiune-didactica.git cd sistem-gestiune-didactica # 2. Instalare dependențe PHP composer install # 3. Configurare bază de date cp .env.example .env # Editați .env cu credențialele bazei de date # 4. Creare bază de date mysql -u root -p CREATE DATABASE gestiune_didactica; EXIT; # 5. Import schema mysql -u root -p gestiune_didactica < database/schema.sql # 6. Start server local php -S localhost:8000
Cerințe de Sistem
- • PHP 8.0 sau mai recent
- • MySQL 8.0 sau mai recent
- • Apache 2.4+ sau Nginx
- • Composer pentru gestionarea dependențelor
Funcționalități Implementate
Modul Studenți
- • Înscriere la cursuri și gestionare orar personal
- • Vizualizare note și situație academică în timp real
- • Descărcare materiale didactice și resurse de curs
- • Trimitere teme și proiecte online
- • Notificări pentru evenimente și deadline-uri importante
Modul Profesori
- • Gestionare cursuri și programe de studiu
- • Catalog electronic pentru introducere și modificare note
- • Monitorizare prezență studenți
- • Upload materiale didactice și anunțuri
- • Gestionare teme și evaluări
Modul Administrativ
- • Gestionare utilizatori (studenți, profesori, administratori)
- • Configurare programe de studiu și planuri de învățământ
- • Generare rapoarte și statistici academice
- • Planificare orar și alocare săli
- • Arhivă academică și backup date
Ghid de Utilizare
Autentificare în Sistem
- Accesați pagina principală a sistemului
- Introduceți emailul institutional și parola
- Selectați rolul corespunzător (Student/Profesor/Administrator)
- Click pe butonul "Autentificare"
Vizualizare Note (Student)
- După autentificare, navigați la secțiunea "Notele Mele"
- Veți vedea lista completă a cursurilor și notelor obținute
- Puteți filtra după semestru sau an academic
- Exportați situația academică în format PDF
Introducere Note (Profesor)
- Accesați "Catalog" din meniul principal
- Selectați cursul și grupa dorită
- Click pe numele studentului pentru adăugare notă
- Introduceți nota și observații (opțional)
- Salvați modificările
Analiza Cerințelor
Cerințe Funcționale
- CF1: Sistemul trebuie să permită autentificarea utilizatorilor pe bază de email și parolă, cu suport pentru recuperare parolă
- CF2: Studenții trebuie să poată vizualiza cursurile disponibile și să se înscrie la acestea
- CF3: Profesorii trebuie să poată introduce și modifica note pentru studenții înscriși la cursurile lor
- CF4: Sistemul trebuie să genereze automat situația academică pentru fiecare student
- CF5: Administratorii trebuie să poată gestiona utilizatori, cursuri și să genereze rapoarte
Cerințe Non-Funcționale
- CNF1: Performanță: Timpul de răspuns pentru operații CRUD < 2 secunde
- CNF2: Securitate: Parole criptate cu bcrypt, protecție împotriva SQL injection și XSS
- CNF3: Disponibilitate: Uptime de minim 99% cu backup zilnic automat
- CNF4: Scalabilitate: Suport pentru minimum 5000 utilizatori concurenți
- CNF5: Usability: Interfață intuitivă, responsive, compatibilă cu toate browserele moderne
Cazuri de Utilizare
UC1: Înscriere Student la Curs
Actor principal: Student
Precondiții: Studentul este autentificat în sistem
Flux principal:
- Studentul accesează lista cursurilor disponibile
- Sistemul afișează cursurile pentru care studentul îndeplinește condițiile
- Studentul selectează un curs și apasă "Înscrie-te"
- Sistemul verifică disponibilitatea locurilor
- Sistemul confirmă înscrierea și actualizează orarul studentului
UC2: Introducere Note de către Profesor
Actor principal: Profesor
Precondiții: Profesorul este autentificat și are cursuri alocate
Flux principal:
- Profesorul accesează catalogul electronic
- Selectează cursul și grupa dorită
- Sistemul afișează lista studenților înscriși
- Profesorul introduce nota pentru fiecare student
- Sistemul validează notele (1-10) și salvează modificările
- Studenții primesc notificare despre notele noi
UC3: Generare Raport Academic
Actor principal: Administrator
Precondiții: Administrator autentificat cu permisiuni complete
Flux principal:
- Administratorul accesează modulul de rapoarte
- Selectează tipul de raport (studenți, note, prezență)
- Alege criteriile de filtrare (an, semestru, programă)
- Sistemul generează raportul în format PDF/Excel
- Raportul poate fi descărcat sau trimis prin email
Testare și Validare
Metodologii de Testare
Unit Testing
Testare individuală a funcțiilor și metodelor PHP cu PHPUnit pentru validare logică
Integration Testing
Testare interacțiuni între module (API + Database) pentru consistență date
UI Testing
Testare interfață utilizator pe multiple dispozitive și browsere
Security Testing
Testare vulnerabilități (SQL injection, XSS, CSRF) și penetration testing
Rezultate Testare
Analiză Performanță
Metrici de Performanță
Optimizări Implementate
- Caching la nivel de aplicație pentru queries frecvente
- Indexare optimizată a tabelelor de bază de date
- Compresie GZIP pentru transfer date
- Lazy loading pentru imagini și resurse statice
- Connection pooling pentru gestionare eficientă a conexiunilor DB
Concluzii
Sistemul informatic dezvoltat pentru gestiunea activităților didactice reprezintă o soluție completă și modernă pentru digitalizarea proceselor educaționale dintr-o instituție de învățământ superior. Prin implementarea unei arhitecturi în 3 straturi și aplicarea principiilor DevOps, am reușit să creăm o platformă robustă, scalabilă și ușor de întreținut.
Obiective Realizate
- Implementare completă a sistemului de autentificare și autorizare multi-rol
- Dezvoltarea modulelor funcționale pentru studenți, profesori și administratori
- Creare catalog electronic cu funcționalitate completă de gestionare note
- Implementare API RESTful pentru integrări viitoare
- Atingerea țintelor de performanță și securitate stabilite
Contribuții și Inovații
- • Interfață modernă și intuitivă, inspirată din design patterns Apple
- • Arhitectură modulară care facilitează extinderea cu noi funcționalități
- • Implementare principii DevOps pentru deployment rapid și fiabil
- • Sistem de notificări în timp real pentru evenimente importante
Limitări Identificate
- • Lipsa integrării cu sisteme externe (bibliotecă, cămin)
- • Functionalitatea offline limitată
- • Suport pentru plăți online nu este implementat
Dezvoltare Viitoare
Pe Termen Scurt (3-6 luni)
- • Implementare aplicație mobilă nativă (iOS și Android)
- • Adăugare modul de comunicare în timp real (chat, video conferencing)
- • Integrare cu platforme de e-learning (Moodle, Canvas)
- • Sistem de backup automat în cloud
- • Notificări push pentru evenimente importante
Pe Termen Mediu (6-12 luni)
- • Implementare modul de inteligență artificială pentru recomandări personalizate
- • Sistem de analiză predictivă pentru identificarea studenților în dificultate
- • Portal dedicat părinților pentru monitorizare progres
- • Integrare cu sisteme de plată online pentru taxe
- • Dashboard analitic avansat cu vizualizări interactive
Pe Termen Lung (12+ luni)
- • Dezvoltare ecosistem complet (bibliotecă digitală, cămin, cantină)
- • Implementare blockchain pentru certificate și diplome digitale
- • Sistem de gamification pentru motivarea studenților
- • Platformă de colaborare între instituții (transfer credite, mobilități)
- • Integrare cu piața muncii pentru oportunități de carieră
Viziune de Viitor
Sistemul are potențialul de a deveni o platformă centralizată pentru întregul ecosistem academic, facilitând nu doar gestiunea administrativă, ci și colaborarea, inovația și îmbunătățirea continuă a procesului educațional. Prin adoptarea tehnologiilor emergente (AI, blockchain, IoT), putem transforma complet experiența educațională în mediul digital.