Projekat 15 · Poslovni sistemi i integracije
Zapisi sa sastanaka i dozvole za fajlove modelovani kao graf
U white-label platformi za sastanke, namijenjenoj zdravstvu i finansijama, pravo da se otvori fajl zavisi od lanca veza. Proizvod je prodan američkoj banci.
Proizvod prodan američkoj banci
Priča u 5 koraka
Stack
- Neo4j
- WebRTC
- AWS Transcribe
- React
- DocuSign
01 · Kontekst
Platforma služi za sastanke na daljinu, a u njenom središtu je ono što ostaje poslije svakog sastanka: ko je bio prisutan, šta je rečeno, koji su se dokumenti koristili, ko ih je smio vidjeti i ko je potpisao.
Platforma služi za sastanke na daljinu, a u njenom središtu je ono što ostaje poslije svakog sastanka: ko je bio prisutan, šta je rečeno, koji su se dokumenti koristili, ko ih je smio vidjeti i ko je potpisao.
U timu od pet ljudi izabrao sam bazu podataka, modelovao domen i napravio upravljanje fajlovima, transkripciju, snimanje i naknadnu obradu.
Proizvod je prodan američkoj banci.
02 · Nije se smjelo mijenjati
U zdravstvu i finansijama video poziv je standardna usluga, a klijenti plaćaju zapis sastanka, pa sistem mora garantovati upravo taj zapis.
U zdravstvu i finansijama video poziv je standardna usluga, a klijenti plaćaju zapis sastanka, pa sistem mora garantovati upravo taj zapis.
Najteže pitanje je smije li osoba otvoriti određeni fajl, a odgovor zavisi od lanca: osoba je bila na sastanku, sastanak je vezan za dokument, dokument ima verzije, verzija ima potpis, a dozvola može doći direktno ili preko sastanka. Dokument može pripadati i većem broju sastanaka odjednom, pa se ne može jednostavno svrstati pod jedan od njih.
U relacionoj šemi svaka takva provjera dozvole je rekurzivni join, koji se usporava sa svakom novom vrstom veze i sve se teže održava sa svakim novim pravilom.
03 · Šta smo uradili
Graf model podataka u Neo4j-u. Ljude, sastanke, fajlove i potpise modelovao sam kao čvorove, a prisustvo, vezivanje fajlova i dozvole kao veze među njima.
Graf model podataka u Neo4j-u. Ljude, sastanke, fajlove i potpise modelovao sam kao čvorove, a prisustvo, vezivanje fajlova i dozvole kao veze među njima. Dozvole su četiri: čitanje, pisanje, preuzimanje i brisanje. Provjera dozvole tako postaje prolaz kroz graf, a to je upravo operacija za koju je graf baza napravljena.
Google i sam modeluje kontrolu pristupa kao graf, iz istog razloga, pa je ovo poznat obrazac.
Fajlovi dodani tokom sastanka. Dokument se može uploadati unaprijed ili dodati dok sastanak traje, a čim se doda, mora se odmah pojaviti svim prisutnima, s ispravnim dozvolama za svakog od njih. Graf se zato mijenja uživo, dok ljudi gledaju.
Transkripti za sljedeći sastanak. Transkripcija radi u realnom vremenu i razdvaja govornike, a gotov transkript ulazi u agendu sljedećeg sastanka.
Tabla sačuvana kao objekti. Linije, oblici i tekst čuvaju se kao zasebni elementi sa svojim svojstvima, a ne kao obična slika, pa se tabla nakon sastanka može ponovo otvoriti i dalje uređivati.
Pristup za goste, zbog HIPAA propisa. Od pacijenta se ne bi smjelo tražiti da otvara korisnički račun da bi došao na konsultaciju, pa je usklađivanje s HIPAA propisima značilo novu funkciju: pacijenti se mogu priključiti kao gosti.
Ekstenzija za browser s jednom dozvolom. Ekstenzija nije obavezna, služi za pokretanje i pregled sastanaka i nema nikakav pristup medijima. Ekstenzije za platforme za sastanke obično traže široke dozvole, kao što su snimanje taba, mikrofon i pristup svakoj stranici. U proizvodu koji se prodaje zdravstvu široke dozvole donose tri problema: teži pregled prilikom objave u storeu, upozorenje pri instalaciji i pitanje u sigurnosnoj procjeni klijenta na koje nema dobrog odgovora.
04 · Rezultat
Provjere dozvola rješavaju se prolazom kroz graf, bez obzira na dužinu lanca
- Provjere dozvola rješavaju se prolazom kroz graf, bez obzira na dužinu lanca
- Dokumenti koji pripadaju većem broju sastanaka, s historijom verzija i potpisivanjem
- Transkripcija u realnom vremenu s razdvojenim govornicima, koja ulazi u agendu sljedećeg sastanka
- Pristup za goste u skladu s HIPAA propisima
- Proizvod prodan američkoj banci
05 · Šta bismo uradili drugačije
Nas petero je osam mjeseci gradilo proizvod u širinu, a zajednički sloj komponenti nikad nije nastao.
Nas petero je osam mjeseci gradilo proizvod u širinu, a zajednički sloj komponenti nikad nije nastao. Najjača strana proizvoda bio je model podataka, ali je frontend završio s tri UI frameworka i četiri biblioteke za padajuće menije u istom codebaseu. Prvo bismo napravili zajedničku biblioteku komponenti, a ja sam to na sljedećem projektu i uradio.
Povezane usluge
Usluge koje se oslanjaju na ovaj projekat.
- Web razvojMulti-tenant i white-label SaaSWhite-label platforma za sastanke u zdravstvu i finansijama. Da li neko smije otvoriti fajl zavisi od lanca odnosa: na kojim je sastancima bio, koji su dokumenti vezani za te sastanke i koje verzije i potpise ima svaki dokument.
- AIRevizija i spašavanje aplikacijeU zdravstvenoj i finansijskoj aplikaciji za sastanke na daljinu server određuje ko smije otvoriti koji fajl tako što prati veze između ljudi, sastanaka, dokumenata i potpisa.
- Backend, podaci i integracijeAPI i backend razvojModel dozvola zapisan kao graf, pa se na pitanje „smije li ova osoba otvoriti ovaj fajl?“ odgovara obilaskom grafa, koliko god dug bio lanac veza iza odgovora.
- Backend, podaci i integracijeDozvole i RBACNa platformi za sastanke u zdravstvu i finansijama neko smije otvoriti fajl zato što mu je pristup dodijeljen ili zato što je prisustvovao sastanku uz koji je fajl priložen, a jedan dokument može biti vezan za više sastanaka. Svaka osoba, sastanak, fajl i potpis čvor su u grafu, a provjera dozvole prati veze među njima, koliko god ih bilo.
- Regulisani i osjetljivi sistemiZdravstveni softver pod HIPAA-omWhite-label platforma za sastanke u zdravstvu i finansijama, u kojoj su ljudi, sastanci, fajlovi i potpisi pohranjeni kao graf. Da li neko smije otvoriti fajl, utvrđuje se praćenjem veza od te osobe do fajla.
- Regulisani i osjetljivi sistemiSigurnosna revizijaNa platformi za sastanke koja se prodaje zdravstvenim i finansijskim firmama pristup fajlovima prati graf ljudi, sastanaka i dokumenata, a ekstenzija za browser traži samo jednu dozvolu, bez pristupa medijima.
- AISupabase pregledU white-label platformi za sastanke, namijenjenoj zdravstvu i finansijama, pravo da se otvori fajl zavisilo je od lanca koji ide preko sastanka, dokumenta, njegove verzije i potpisa. Jedan uslov na nivou reda to nije mogao izraziti.
Povezani tekstovi
Tekstovi nastali iz ovog projekta.
Projekat 15
Radite na sličnom problemu? Odgovaramo u roku od jednog radnog dana.
Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.