Teenus on iseseisev HTML äpp.
Ilma sessioonita, kasutajata, andmebaasita. Peaasi, et ta kuskilt veebis kätte on saada - ntx github pages.
Teenuse poole pöördudes annab teenust kasutav keskkond (tellija) kaasa:
- teenust kasutav keskkond genereerib enda poolt allkirjastatud JWT tokeni, kuhu ta lisab endale tarviliku info, et ära tunda ja valideerida teenuse poolt kunagi hiljem saadav vastus (kasutaja, meedia ID, mida annoteeritakse, tokeni kehtivusaeg, ...)
- API URL .../api/annotate/configuration, kust teenus tirib endale konfiguratsiooni
Teenus teeb päringu GET .../api/annotate/configuration/{JWT token}
Tellija saab tokeni järgi teada, millega tegu ja tagastab konfiguratsiooni
https://gist.github.com/mitselek/36b7f3c01f838fa51568d9ed70226b26
Konff, mille teenus endale sikutab, sisaldab:
- Meediafaili link (Vimeo või mõni muu videoteenus, millel on API stillide genereerimiseks; pilt; Soundcloud vms, ...)
- Nimekiri klassifikaatoriväljadest ja võimalikest väärtustest
- API URL .../api/annotate/submit, kuhu vastus saata
Teenus joonistab konfi järgi vajaliku keskkonna meedia annoteerimiseks.
Kui kasutaja vajutab [SUBMIT] nuppu, saadetakse sisestatud andmed tagasi Tellijale POST .../api/annotate/submit/{JWT token}
Tellija saab tokeni järgi teada, millega tegu ja teeb saadud andmetega, mida vaja.
Kasutaja võib [SUBMIT] nuppu vajutada mitu korda.