Produs
Platformă de management școlar multi-organizație
O singură punere în funcțiune care servește mai multe școli și companii, fiecare văzând doar oamenii și înregistrările proprii. Modelul de permisiuni este partea care merită explicată, pentru că este cea care trebuie să reziste.
Stadiu: În dezvoltare activă.
Problema
O școală funcționează prin relații: care elev este în care grupă, care profesor predă care materie cărei grupe, care părinte este atașat cărui copil. Relațiile acestea se schimbă în fiecare trimestru și stau de obicei într-un fișier de calcul ținut de un singur om.
Un software pentru asta se construiește ușor greșit. Capcana este o bază unică ce lasă discret o școală să citească datele alteia, ceea ce se descoperă exact o dată și nu se iartă niciodată.
Cum funcționează
Platforma este multi-organizație. Fiecare înregistrare poartă organizația de care aparține, sub forma unui identificator, iar fiecare operație de API verifică apartenența apelantului înainte să returneze sau să scrie ceva. O interogare care nu își poate numi organizația nu rulează.
Deasupra stau entitățile de care are nevoie ziua: școli și companii, clase, grupe de clasă, elevi, părinți, profesori, materii, alocarea profesorilor la materii și a materiilor la grupe.
Ce acoperă API-ul
Listele sunt paginate, pentru că o școală cu două mii de părinți nu trebuie să încapă într-un singur răspuns.
- Liste paginate de părinți, profesori și elevi
- Gestionarea claselor și a grupelor de clasă
- Alocarea materiilor la clase și la grupe
- Alocarea profesorilor la materii, inclusiv mai mulți profesori pe aceeași materie
- Interogările inverse: clase încă nealocate unei materii, profesori încă nealocați unei materii
De ce contează interogările inverse
Întrebarea pe care o pune un administrator în septembrie nu este „cine predă materia asta”. Este „ce materii nu au încă pe nimeni”. O platformă care răspunde doar la întrebarea pozitivă își trimite utilizatorii înapoi la fișierul de calcul ca să găsească golurile, așa că interogările inverse sunt puncte de API de sine stătătoare, nu un raport adăugat mai târziu.
Patru roluri în partea de sus, o verificare de permisiuni la mijloc și două seturi separate de date ale organizațiilor dedesubt, arătând că fiecare rol ajunge la date doar prin verificare.
Arhitectură
Organizația în calea de acces
Identificatorul de organizație face parte din felul în care se ajunge la o înregistrare, nu este o coloană filtrată după aceea. Adăugarea unei școli este un rând; nu este o punere în funcțiune.
Verificări de permisiuni la granița API-ului
Fiecare operație verifică organizația și rolul apelantului înainte să atingă datele. Interfața reflectă starea aceea; nu o decide niciodată.
Cazurile negative primele
Testele care contează verifică ce se întâmplă când o înregistrare aparține altei organizații. O scurgere pică build-ul în loc să ajungă la un utilizator.
Tehnologii
PHP Laravel MySQL Redis React Next.js Docker
Servicii implicate
SaaS și software la comandă
Platforme de business multi-organizație, cu izolarea datelor pe organizație, roluri și un API folosit de toți clienții.
Aplicații web
Interfețe React și Next.js peste API-uri Laravel și Node, inclusiv panouri de administrare și interfețe de la dreapta la stânga.
Începe un proiect
Scrieți în engleză, franceză, română sau arabă. Fiecare mesaj primește un răspuns scris într-o zi lucrătoare.
Spuneți-ne ce construiți.
Scrieți în engleză, franceză, română sau arabă. Fiecare mesaj primește un răspuns scris într-o zi lucrătoare.