← Lucrări pentru clienți

Studiu de caz · Client: Teach for Romania · 2025-2026

Edu-Start: profesorii măsoară cum progresează elevii, nu doar ce note iau.

O platformă pentru profesorii Teach for Romania din școlile vulnerabile. Evaluează elevii pe trei direcții, competențe socio-emoționale (SEL), citire (LIT) și matematică (NUM), la începutul, la mijlocul și la sfârșitul anului. Rapoartele arată progresul pe elev, clasă și generație de profesori.

Client
Teach for Romania
Rol
Reconstrucție completă: platformă, site, integrare
Perioadă
2025 - 2026
Stare
În producție, pe dev.edu-start.ro
Problema
Vechea platformă măsura doar competențele socio-emoționale. Programul avea nevoie și de citire și matematică, în același loc.
Ce am construit
O platformă de evaluare SEL, LIT și NUM, cu chestionare editabile din admin, rapoarte pe elev, clasă și generație și integrare cu un partener extern.
Rezultatul
În producție pe dev.edu-start.ro, pentru profesorii Teach for Romania.
dev.edu-start.ro
Site-ul Edu-Start: Împărtășim opinii și experiențe din educație
  • 3 domenii evaluate: SEL, LIT, NUM
  • 3 momente pe an: T0, Ti, T1
  • 18.056 școli în nomenclatorul importat
  • 41 de mii de linii de cod scrise pentru proiect

Numărate în codul proiectului și în structura bazei de date de test, pe 5 noiembrie 2026. Școlile vin din nomenclatorul național, importat din CSV.

01 · Problema

Ce nu se vede în catalog.

Teach for Romania trimite profesori în școli din comunități vulnerabile. Acolo, progresul unui copil nu se vede doar în note: contează dacă reușește să-și gestioneze emoțiile, dacă înțelege ce citește, dacă se descurcă la calcule simple.

Vechea platformă Edu-Start măsura doar partea socio-emoțională. Programul avea nevoie de toate trei domeniile în același loc, cu rapoarte pe care un tutore să le poată folosi pentru o generație întreagă de profesori.

02 · Ce face

Evaluare la început, la mijloc și la final de an.

Profesorul își creează clasa, adaugă elevii și completează chestionarele SEL și LIT la fiecare etapă: T0 la început, Ti la mijloc, T1 la final. Răspunsurile se salvează automat ca ciornă, cu procentul de completare, iar scorurile se calculează pe capitole. Rezultatele la matematică (NUM) vin automat de la un partener extern.

Tutorii văd toate clasele profesorilor pe care îi coordonează. Administratorii Teach for Romania pornesc și opresc modulele pentru fiecare generație și exportă datele.

Pagina LIT - Literație (citire) de pe noul site Edu-Start
Pagina despre evaluarea citirii (LIT): comprehensiune și acuratețe, măsurate între etape.

03 · Cum circulă datele

De la nomenclatorul școlilor la raportul pe generație.

  1. 01

    Nomenclator

    • 42 de județe, 7.467 de localități
    • 18.056 de școli, cu cod SIIIR
    • Import din CSV, din admin
  2. 02

    Oameni și clase

    • Profesori, tutori, mentori
    • Generații și clase
    • Elevi adăugați de profesor
  3. 03

    Evaluări

    • Chestionare SEL și LIT pe etape
    • Salvare automată ca ciornă
    • Scor pe capitole
  4. 04

    Rapoarte

    • Pe elev, clasă, profesor, generație
    • Grafice cu Chart.js
    • Export PDF și CSV

Rezultatele NUM intră separat, de la partenerul extern, prin webhook-uri semnate.

04 · Decizia principală

Chestionarele sunt conținut, nu cod.

Fiecare instrument de evaluare e un articol în WordPress, cu structura descrisă în câmpuri ACF: capitole, întrebări, variante, scoruri. Există variante pe niveluri, de exemplu pentru primar mic, primar mare și gimnaziu, și pe etape.

Echipa Teach for Romania poate schimba o întrebare sau poate adăuga un instrument nou fără un programator. Răspunsurile se păstrează ca JSON, cu scorurile pe capitole și procentul de completare, așa că rapoartele vechi rămân valide și după ce chestionarul se schimbă.

05 · Integrarea cu partenerul

Construită să suporte căderi de rețea.

Evaluarea la matematică se face pe platforma unui partener. Edu-Start îi trimite profesorii, generațiile și elevii și primește înapoi rezultatele. Nicio parte nu are voie să piardă date dacă cealaltă e căzută.

  1. 01

    Coadă de ieșire

    • Tabel de mesaje cu reîncercări
    • Protecție la duplicate
    • Loturi de 25, la 2 minute
  2. 02

    Identități opace

    • Chei de 26 de caractere, nu ID-uri interne
    • Rezolvare în ambele sensuri
    • Completare pentru datele vechi
  3. 03

    Webhook-uri

    • Semnate HMAC-SHA256
    • Respinse după 5 minute
    • Fiecare apel jurnalizat, cu stare
  4. 04

    Autentificare

    • OAuth2, client credentials
    • 9 rute REST
    • Verificare de sănătate

Partenerul nu primește niciodată ID-urile interne ale elevilor, ci chei opace, generate o singură dată.

06 · Componente

Ce am construit.

01

Panoul pentru profesori

O aplicație în tema WordPress, cu rute proprii.

  • Clase, elevi, evaluări
  • Formulare SEL și LIT cu precompletare și progres
  • Profil cu școlile alese din județ, oraș, școală
  • Notificări în pagină
  • Raport pe elev, cu tab-uri SEL și LIT
02

Panoul pentru tutori și admini

39 de vederi și 22 de fragmente de panou.

  • Generații, cu module pornite pe rând sau în bloc
  • Școli, profesori, tutori, elevi
  • Rapoarte și analiză pe generație
  • Exporturi CSV
  • Documentație pentru utilizatori
03

Pluginul de locații

Datele de referință și structura școlară.

  • Județe, localități pe trei niveluri, școli
  • Import CSV, cu cod SIIIR și regiune
  • Roluri: profesor, tutor, alumni, non-teach
  • Clase, elevi, generații
04

Site-ul de prezentare

În aceeași temă, cu blocuri de pagină editabile.

  • Pagini pentru SEL, LIT și NUM
  • Pagini pentru profesori, școli și programe
  • Blog
  • Construit pe Tailwind, Alpine.js și Flowbite

07 · Metrici

Ce am numărat.

Proiectul nu are istoric git în copia pe care o am, așa că nu public numărul de commit-uri. Nu public cifre de utilizare și nu număr și nu arăt date despre elevi.

  • 18.056școli în nomenclatorul importatmăsurat
  • 7.467localități, pe trei niveluri: județ, oraș sau comună, satmăsurat
  • 42de acțiuni AJAX pentru panouîn cod
  • 9rute REST pentru integrarea cu partenerulîn cod
  • 5 minfereastra în care un webhook semnat e acceptatîn cod
  • ~41klinii de PHP și JavaScript scrise pentru proiectmăsurat

Cât cod

115
fișiere PHP în temă
32k
linii în temă
18
fișiere în pluginul de locații
13
fișiere în pluginul de integrare
9
tabele proprii
39
vederi de panou

08 · Ce am învățat

Ce iau cu mine.

Pune instrumentele în mâna clientului

Cu chestionarele editabile din admin, schimbarea unui instrument nu mai cere un programator. Programul se schimbă de la un an la altul, iar platforma ține pasul fără un nou proiect.

O integrare trebuie să presupună că partenerul cade

Coada cu reîncercări și cheile opace au făcut integrarea plictisitoare, adică exact ce trebuie.

Protejează datele reale și în dezvoltare

Copia locală are un plugin care blochează orice email și doar îl jurnalizează, ca nimeni să nu primească un mesaj de test.

Lucrezi la un program educațional care are nevoie de date?

Construiesc platforme de evaluare și raportare, cu integrări sigure între parteneri. Scrie-mi și vedem dacă se potrivește.