Intentionez sa fac o solutie care sa aiba exemple de implementari ale unor features recurente in MVPs. Chestii de genul: CRUD, file uploads, sorting etc…
Majoritatea frameworkurilor au pluginuri si extensii de genul asta, dar o implementare end to end necesita integrari si ia timp de cele mai multe ori.
As avea nevoie de ajutor pentru indentificarea acestor features sau cerinte care tot apar cu fiecare proiect. Ma intereseaza, in principal, cele cu a caror implementare ati avut probleme de-a lungul timpului.
Implementari pe backend sau pe frontend ? (tu ai precizat backend dar dupa scrii ca end-to-end-ul ia mult timp)
Ca sa iti dau totusi de gandit iti propun urmatoarea problema :
Exemplu de tabel cu scroll virtual care sa poata sorta utilizatorii din toata baza de date (sunt 20 de milioane de utilizatori) si sa aiba paginare (de exemplu sa sari la litera Z sau la cei care s-au nascut in Aprilie).
Aditional toate datele utilizatorului care sunt date personale (nume, nume de utilizator, email, salariu, zi de nastere, CNP, telefon, rezultatele la teste/performance review, log-uri) trebuie criptate in baza de date si pot fi decriptate doar de utilizatori cu permisiune pentru a le vedea local.
Asta e o problema la care chiar as vrea sa vad o implementare faina A-Z. Nici un framework nu prea iti da exemplul acesta, dar cu GDPR-ul toata lumea e innebunita cu securitatea si criptarea datelor si dupa ceva timp te trezesti ca ai nevoie de un feature care sa iti poata sorta, cauta datele din baza de date cand tu ai baza de date criptata.
All ends Client side, API (server side), database.
Ca sa fiu mai explicit in ceea ce vreau sa fac e sa vin cu solutii complete la probleme comune - un MVP framework.
Spuneam ca exista deja pluginuri si extensii in frameworkurile populare pentru toate aceste probleme comune, insa o implementare end to end nu gasesti mereu (fie solutiile sunt doar la nivel server side, fie doar client side).
Cateva din toolurile folosite vor fi node.js, MongoDB, express.js, GraphQL, react.js + multe altele.
Referitor la tabelul de care ziceai, cu siguranta va fi ceva asemanator, mai putin partea de criptare la care nu ma gandisem pana acum (e asta o cerinta comuna legata de GDPR?).
Da, toate datele personale care sunt stocate trebuie criptate si decriptate (local) doar daca ai permisiuni (sunt mai multe nivele de permisiuni), respectiv accesul la ele trebuie logat de fiecare data (motivul, persoana care le-a accesat si ce date s-au accesat).
Inca o problema legata de GDPR e stergerea tuturor log-urilor care contin date personale (inclusiv date personale logate gresit, gen utilizatorul introduce parola in campul de email, tu la stergere trebuie sa verifici daca ai cumva date personale in log-uri din greseala si chiar si asa sa le stergi.
As prefera pt GDPR sa facem un alt topic. De stergerea logurilor si datelor care apartin userului la cererea sa am auzit, de encryption nu. Sunt sigur ca treaba cu encryption e doar o exagerare (daca exista un articol pertinent pe tema asta, posteaza un link, te rog.
Nici eu nu cred ca este stipulat clar in regulament ca trebuie ca datele din baza de date sa fie criptate. Cel mai probabil s-a ajuns la acest lucru dintr-un considerent foarte simplu si anume ca daca datele sunt criptate automat sunt in siguranta.