Cere o analiză

Acasă/Proiecte/Agregare Moodle și Teams

Studiu de caz · În producție

Moodle și Teams, adunateîntr‑o singură aplicație

O aplicație web, instalabilă pe telefon, care citește de două ori pe zi platformele unui program de master, arhivează materialele, pune termenele în calendar și trimite notificare pentru fiecare noutate. În două săptămâni măsurate nu a avut nicio execuție eșuată.

0execuții eșuate între 21.10 și 04.11.2026sincronizare Moodle și Teams
≈6 so rulare cu 7 fișiere, 3 termene și 5 activități noi03.11.2026, 19:00
171linkuri verificate la controlul încrucișat, 0 fișiere lipsă16.10.2026
16,9 MiBmemorie ocupată de serverul aplicației0 dependențe npm terțe
Situația

De unde am pornit

Unul dintre noi urmează un program de master și lucrează în ture de câte două săptămâni. Informația era împrăștiată pe 15 cursuri în Moodle, 9 echipe în Microsoft Teams și câteva PDF-uri cu orarul. Nimic nu anunța o temă nouă sau un termen mutat.

Platforma Microsoft a instituției nu permite, fără aprobarea administratorului, citirea calendarului, a mesajelor sau a fișierelor prin API. Prima variantă a aplicației, găzduită în afara serverului nostru, era lentă la autentificare, așa că am mutat-o pe serverul nostru.

Ce am făcut

Soluția

  • un serviciu citește Moodle prin interfața oficială la 07:00 și la 19:00, arhivează fișierele pe materii și creează termenele
  • al doilea serviciu citește Teams dintr-un browser care rulează permanent pe server, doar în regim de citire
  • fiecare noutate ajunge ca notificare push pe telefon
  • aplicația se instalează pe Android și arată ultima pagină și fără internet
  • orarul, termenele și noutățile se sincronizează live între dispozitive
Cum funcționează

De la platformă la notificare

Niciun serviciu nu e expus direct în internet; accesul trece doar printr-un proxy cu TLS.

Teams fără API

Un client propriu, mic, controlează un browser fără interfață și citește doar conținutul paginii.

  • selectori independenți de limba interfeței
  • sesiunea se păstrează și după repornirea serverului

Termene fără dubluri

Un termen trecut de mână și unul găsit automat, la aceeași materie, în aceeași zi și de același tip, devin unul singur.

  • detectarea termenelor mutate
  • fișierele deja arhivate nu se descarcă din nou

Date în siguranță

Baza de date e un fișier cu scriere atomică, deci o oprire bruscă nu o strică.

  • copii zilnice păstrate 14 zile
  • fișierele de curs, în cloudul propriu
Dificultate rezolvată

Sesiunea pierdută

Platforma instituției emite doar cookie-uri de sesiune, care dispar la închiderea browserului. Am lăsat browserul să ruleze permanent, cu profil păstrat și repornire automată în 5 secunde dacă se oprește. După repornirea serverului din 31.10.2026, sesiunea a fost recuperată fără o nouă autentificare.

Pe 20.10.2026 Teams și-a schimbat interfața. Am adăugat un al doilea set de selectori și detectarea cererii de autentificare, iar citirea a mers din nou în aceeași zi.

Rezultate

Ce am măsurat

  • 0 execuții eșuate între 21.10 și 04.11.2026; în total, 2 rulări Teams eșuate, pe 20.10, rezolvate în aceeași dimineață
  • 63 de fișiere și 128 de activități Moodle sub monitorizare
  • 9 echipe Teams detectate; 23 de activități și 17 postări procesate
  • redirecționarea spre autentificare în 0,038 s
  • memorie: 16,9 MiB serverul aplicației, 47 MiB serviciul Moodle
Rolul lui Claude

Ce a făcut Claude în proiect

Ce a făcut Claude

  • prima variantă a aplicației a fost o pagină făcută împreună cu Claude
  • a generat codul iterativ, pe cerințele noastre
  • în aplicație, transformă mesajele primite în sarcini de lucru
  • răspunde la întrebări doar din documentele proiectului, cu sursa citată, și spune ce e confirmat și ce e presupunere

Ce am făcut noi

  • am stabilit cerințele și am luat deciziile
  • am mutat aplicația pe serverul nostru și am pus-o în funcțiune
  • o exploatăm și o urmărim zi de zi
  • ne ocupăm de autentificarea în conturile instituției

Dacă interfața Teams se schimbă, și citirea se strică, aplicația afișează un avertisment la Noutăți, iar corectura o facem împreună cu Claude.

Verifici de mână mai multe platforme în fiecare zi?

Le putem citi automat, chiar și fără API, și îți trimitem doar noutățile.

Cere o analiză →