Revīzijas uzņēmuma laika uzskaite
Projektu un darbinieku laika uzskaite revīzijas uzņēmumam · Izveidots no nulles, viens pats
Atjaunināts
Pirms
Klienti, projekti un stundas atradās vienuviet, kur ikviens uzņēmumā varēja redzēt un mainīt visu.
Pēc
87
atļauju lodziņi, kas pirms katras izlaides pierādīti pret datubāzi; 30 lodziņi, kas neko nedarīja, tika paslēpti.
- 1Cilvēks:Īpašnieks
Veido lomas ar atzīmējamām rūtiņām katrai jomai (klienti, projekti, laiks, atskaites): skatīšana, izveide, rediģēšana un dzēšana.
- 2Cilvēks:Darbinieks
Reģistrē stundas pie klienta, projekta un uzdevuma vai pieprasa brīvdienas.
Programmatūra:Tīmekļa lietotneAtgādina ikvienam, kura laika uzskaite pirms termiņa vēl ir tukša.
- 3Cilvēks:Projekta administrators
Apstiprina vai noraida nedēļas laika uzskaiti savai projekta komandai.
- 4Programmatūra:Datubāze
Katram rāda tikai to, ko atļauj viņa loma: darbinieki redz savas stundas, projektu administratori savu komandu, īpašnieki katru klientu.
- 5Cilvēks:Īpašnieks
Skata stundas pa klientiem, projektiem un cilvēkiem dashboard un atskaitēs.
Vienmēr darbojas
- Agrāk ikviens uzņēmumā varēja atvērt jebkuru klientu un visu cilvēku stundas. Tagad datubāze noraida visu, ko loma neatļauj, pat ja ekrāns to pieprasa.
- Pirms katras publicēšanas katra loma tiek pārbaudīta uz izolētas datubāzes kopijas.
Problēma
Revīzijas uzņēmums klientus, projektus un darbinieku stundas uzskaitīja rīkā, kurā ikviens varēja atvērt jebkuru klientu un visu cilvēku laiku.
Diagnoze
Piekļuves kontrole klusi sabrūk, ja tā atrodas ekrānā, tāpēc katram noteikumam bija jāatrodas datubāzē, un to apliecina testi.
Izvērtētās iespējas
Katra loma redz citus datus. Kur atrodas piekļuves noteikumi?
Izvēlēts
Pašā datubāzē, pārbaudīti katrai lomai pirms katras izlaides
Ekrāns nevar nopludināt to, ko datubāze liedz. Cena: testu palaišana uz izolētas kopijas pirms katras publicēšanas.
Noraidīts
Tikai ekrānos
Cilvēks varēja redzēt vai mainīt datus, ko ekrāns bija paredzējis slēpt.
Ieraksts vairs nav vajadzīgs. Vai to dzēst, vai paturēt?
Izvēlēts
Arhivēt un anonimizēt
Laika uzskaites vēsture paliek neskarta.
Noraidīts
Dzēst tos
Dzēšana kaskādē izdzēš laika uzskaites vēsturi.
Risinājums
Vienas lapas tīmekļa lietotne uz pārvaldītas Postgres. Katrs piekļuves noteikums atrodas datubāzē, un pirms katras izlaides to apliecina automātiska lomu matrica.
- Lietotne
- React
- Vite
- TanStack Router
- TanStack Query
- shadcn/ui
- Chart.js
- Dati un drošība
- Supabase
- PostgreSQL row-level security
- Edge Functions (Deno)
- Mitināšana
- Cloudflare
- Kvalitāte
- GitHub Actions
- Role-matrix tests
- Vitest
- Property-based tests
- Accessibility tests
Saistītie pakalpojumi
Skaitļi: Automātiska lomu pārbaude, 2026-09-25