Tilintarkastusyhtiön työajanseuranta
Projektien ja henkilöstön työajan seuranta tilintarkastusyhtiön käyttöön · Rakennettu alusta alkaen, yksin
Päivitetty
Ennen
Asiakkaat, projektit ja tunnit olivat yhdessä paikassa, jossa kaikki yrityksessä näkivät ja muokkasivat kaikkea.
Jälkeen
87
käyttöoikeusruutua todistettu tietokannalla ennen jokaista julkaisua; 30 tyhjää ruutua piilotettiin.
- 1Ihminen:Omistaja
Rakentaa roolit valintaruuduilla alueittain (asiakkaat, projektit, työaika, raportit) katselua, luontia, muokkausta ja poistoa varten.
- 2Ihminen:Työntekijä
Kirjaa tunnit asiakkaalle, projektille ja tehtävälle tai merkitsee poissaolon.
Ohjelmisto:VerkkosovellusMuistuttaa jokaista, jonka työaikakirjaus on vielä tyhjä ennen määräaikaa.
- 3Ihminen:Projektin ylläpitäjä
Hyväksyy tai hylkää viikon työaikakirjauksen oman projektitiiminsä osalta.
- 4Ohjelmisto:Tietokanta
Näyttää jokaiselle vain sen, minkä hänen roolinsa sallii: työntekijät näkevät omat tuntinsa, projektin ylläpitäjät tiiminsä, omistajat jokaisen asiakkaan.
- 5Ihminen:Omistaja
Lukee tunnit asiakkaan, projektin ja henkilön mukaan dashboardeilta ja raporteista.
Aina päällä
- Aiemmin jokainen yrityksessä pystyi avaamaan jokaisen asiakkaan ja kaikkien tunnit. Nyt tietokanta kieltää kaiken, mitä rooli ei salli, vaikka näkymä sitä pyytäisi.
- Ennen jokaista pushia jokainen rooli testataan tietokannan eristettyä kopiota vasten.
Ongelma
Tilintarkastusyhtiö hallinnoi asiakkaitaan, projektejaan ja henkilöstön tunteja työkalussa, jossa jokainen pystyi avaamaan jokaisen asiakkaan ja kaikkien työajat.
Diagnoosi
Käyttöoikeuksien hallinta pettää huomaamatta, kun se on näkymässä. Siksi jokaisen säännön piti olla tietokannassa ja todistettu testeillä.
Punnitsemani vaihtoehdot
Jokainen rooli näkee eri tiedot. Missä käyttöoikeussäännöt sijaitsevat?
Valittu
Itse tietokannassa, testattuna jokaiselle roolille ennen jokaista julkaisua
Näkymä ei voi vuotaa sitä, minkä tietokanta kieltää. Hinta: testiajo eristetyllä kopiolla ennen jokaista pushia.
Hylätty
Vain näkymissä
Käyttäjä saattoi nähdä tai muuttaa tietoja, jotka näkymän piti piilottaa.
Tietuetta ei enää tarvita. Poistetaanko vai säilytetäänkö se?
Valittu
Arkistoidaan ja anonymisoidaan
Työaikakirjausten historia säilyy eheänä.
Hylätty
Poistetaan
Poisto vie mukanaan myös työaikakirjausten historian.
Ratkaisu
Yksisivuinen verkkosovellus hallinnoidun Postgresin päällä. Jokainen käyttöoikeussääntö on tietokannassa, ja automaattinen roolimatriisi todistaa sen toimivaksi ennen jokaista julkaisua.
- Sovellus
- React
- Vite
- TanStack Router
- TanStack Query
- shadcn/ui
- Chart.js
- Data ja tietoturva
- Supabase
- PostgreSQL row-level security
- Edge Functions (Deno)
- Hosting
- Cloudflare
- Laatu
- GitHub Actions
- Role-matrix tests
- Vitest
- Property-based tests
- Accessibility tests
Aiheeseen liittyvät palvelut
Luvut: Automaattinen roolitesti, 2026-09-25