Preskoči na sadržaj
Na tamnoj mreži jedan ispunjen tirkizni pravougaonik lijevo grana se u pet praznih okvira poredanih u kolonu; iz njih tanke linije prolaze kroz dvije svijetle tačke na uspravnoj podjeli i vode u dva veća prazna okvira desno.

„Razdvajanje u klijentu je organizacija, ne sigurnost.“

Pet vrsta korisnika, jedan kod

Serviseri, vozni parkovi, samostalni vozači, vozači u firmi i call centar — jedan proizvod, pet iskustava, dozvole razriješene po tipu i roli.

Kontaktirajte nas
Tehničko vodstvo · američki marketplace za usluge kamionima · tim od 12 · 2022–2026 · isti angažman
5
vrste korisnika iz jednog koda
506
API ruta kroz dva odvojena seta
2
role najmanje, po svakoj vrsti korisnika
Ukratko

Platforma je služila pet vrsta korisnika sa stvarno različitim poslovima. Serviser upravlja oglasima, fakturama i obnovama. Vozač ima nedavne pretrage, preferirane servisere, evidenciju poziva, kamione i radne naloge. Operater call centra radi u ime drugih.

Sve iz jednog koda, sa odvojenim internim CRM-om za vlastiti tim kompanije.

Problem

Primamljiv odgovor je pet aplikacija. Izgleda čistije i brže je oko šest mjeseci. Onda se svaka dijeljena izmjena — tok plaćanja, izmjena brendiranja, sigurnosna zakrpa — mora napraviti pet puta, a napravit će se četiri, i niko neće primijetiti koja je propuštena dok ne primijeti klijent.

Ograničenje

Suprotni kvar je jednako čest: jedna aplikacija sa uslovima za role razasutim kroz sučelje. Ta verzija se ne može revidirati. Pitanje „šta vozač stvarno može uraditi?“ pretvara se u čitanje cijelog koda u potrazi za if naredbama.

Šta smo uradili

  1. Razdvojeno po ruti, ne po uslovu

    Svaka vrsta korisnika ima svoj set ruta pod /dashboard/{user_type}/{page}. Da biste znali šta serviser može, pročitate servisereve rute — ne cijelu aplikaciju u potrazi za if naredbama.

    Jedan set ruta, jedan odgovor
  2. Dozvola se razrješava kao tip plus rola

    Svaka vrsta korisnika nosi najmanje dvije role — admin, vlasnik, operater — a dozvola se razrješava kao kombinacija. Serviserov operater je drugi subjekt od operatera voznog parka, iako se oba zovu „operater“.

    Isto ime, drugi subjekt
  3. Provjeravano i na backendu

    Razdvajanje po rutama u klijentu je organizacija, ne sigurnost. API validira nezavisno, jer ono što se provodi samo u sučelju provodi se samo prema ljudima koji koriste sučelje.

    Organizacija nije sigurnost
  4. API podijeljen na dva

    Javne i admin rute su odvojeni setovi, a ne jedan set sa provjerama unutra. Interni CRM je zapravo svoj proizvod na svojoj površini.

    506 ruta, dva seta
PET VRSTA KORISNIKA, PET SETOVA RUTA
Serviser oglasi i fakture

Upravlja oglasima, fakturama i obnovama. Njegov operater vidi oglase ali ne fakture — ista rola, drugi tip korisnika, druga dozvola.

Svih pet dijeli isti kod, a razlikuje ih set ruta. Zato dijeljena izmjena ide na jedno mjesto, a odgovor na „šta ovaj korisnik može“ stoji na jednom.

Rezultat

  • Pet vrsta korisnika i njihove role iz jednog koda
  • 506 API ruta kroz dva odvojena seta
  • Dozvole se revidiraju čitanjem jednog seta ruta, a ne cijele aplikacije

Šta bismo uradili drugačije

Model dozvola koji smo izgradili živio je u rutiranju i u API-ju, ali ga nikad nismo zapisali nigdje gdje ga čovjek može pročitati u cjelini. Uvođenje novog developera značilo je usmeno objašnjavanje, a usmena objašnjenja modela autorizacije odlutaju. Jedna generisana tabela — vrsta korisnika prema akciji — trajala bi dan i odgovorila na to pitanje zauvijek.

Srodno
Dozvole kao graf na HIPAA platformiIsto pitanje, drugi oblik podatka.Četiri smjene bez prekida, tehničko vodstvoSistem u kojem je ovih pet vrsta korisnika živjelo.
Svih 18 projekata
  • React
  • Redux
  • Node.js
  • Express
  • MySQL

Pet vrsta korisnika, pet aplikacija?

Kontaktirajte nas

Sistemi koji ne smiju stati — od arhitekture do produkcije.

© 2026 Micro Tech, Sarajevo