Siirry sisältöön
BigTree108

Case study: yrityksenhallintaportaali

Vuonna 2025 perustettu uusi yritys tarvitsi rekrytoinnin, perehdytyksen, sopimukset, työajanseurannan, lomat, laskutuksen ja kirjanpidon ensimmäisestä päivästä alkaen budjetilla, joka ei sallinut seitsemän tuotteen ostamista. Rakensimme yhden alustan kaikkeen tähän, ja pyöritämme yritystä sillä.

Ongelma

Valmiit HR-, työajanseuranta- ja laskutustyökalut olisivat kukin maksaneet kuukaudessa enemmän kuin koko budjetti, eikä yksikään niistä ymmärtänyt Ukrainan urakoitsijalainsäädäntöä, paikallisen pankin kautta tehtävää sähköistä allekirjoitusta tai tapaa, jolla tunnit siirtyvät työajanseurannasta asiakkaan laskulle. Vaihtoehto oli taulukkolaskenta, joka lakkaa toimimasta sillä viikolla, kun joku on lomalla.

Päätimme rakentaa alustan teknologiapinolle, jota myymme, kohdella sitä todellisena tuotteena samoilla kehityssäännöillä, joita noudatamme asiakastyössä, ja antaa sen toimia referenssinä, josta asiakkaamme voivat kysyä.

Mitä se tekee

  • Rekrytointi

    Avoimet paikat julkaistaan työpaikkapalstoille, ehdokkaiden seulonta tapahtuu Telegram-botilla kysymyskirjaston avulla, tekniset ja ulkoiset haastattelut varauksineen, koeajan seuranta.

  • Perehdytys

    Ohjattu kulku, joka kerää henkilöllisyysasiakirjat, vahvistaa ne pilvipohjaisilla tekoälypalveluilla, varmistaa nimen kirjoitusasun, kokoaa yhteystiedot ja laitteet ja avaa tilit identiteettipalvelun kautta.

  • Sopimukset ja asiakirjat

    Palvelusopimukset ja salassapitosopimukset generoidaan pohjista PDF-tiedostoiksi, lähetetään sähköiseen allekirjoitukseen ja tallennetaan allekirjoitettuna tietueena. Asiakassopimukset ja työselosteet (statement of work) kulkevat samaa polkua.

  • Aika ja lomat

    Tunnit toimeksiantoa kohti, synkronoituna ulkoisista työajanseurantatyökaluista ja asiantuntijan muokattavissa; vuosiloma ja sairauspoissaolot sopimuskohtaisine oikeuksineen ja hyväksyntöineen.

  • Palkkiot ja laskutus

    Kuukausittaiset asiantuntijalaskut ja asiakaslaskut tuotetaan samoista kirjatuista tunneista, valuuttakurssit keskuspankilta, uudelleenlaskutetut kertamaksut ja allekirjoitettu laskuarkisto.

  • Kirjanpito ja vaatimustenmukaisuus

    Veroilmoitus- ja maksumuistutukset, tiliotteiden tuonti, hätäyhteyshenkilöt sekä käyttöoikeusmalli rivitason suojauksella ja oikeuksien korotuspyynnöillä taloustiedoille.

  • Ilmoitukset

    Chat- ja pikaviestikortit jokaisesta tapahtumasta, johon ihmisen täytyy reagoida, ja sääntö, ettei yksikään viesti koskaan sisällä talousmääriä; ne pysyvät kirjautumisen takana.

Miten se on rakennettu

  • Taustajärjestelmä

    .NET 10 Azure Functionsissa, vertical slicet ja CQRS lähdekoodigeneroidun mediatorin kautta, validointi jokaisella rajapinnalla, EF Core versioiduin migraatioin.

  • Data

    Azure SQL asiakaskohtaisella rivitason suojauksella ja Always Encrypted -sarakkeilla henkilö- ja talousdatalle, avaimet hallinnoidussa holvissa.

  • Frontend

    Angular standalone-komponenteilla, signaaleilla ja zoneless-muutostunnistuksella, Tailwind-design system sekä OpenAPI-dokumentista generoitu API-asiakas.

  • Toimitus

    GitHub Actions federoiduilla tunnisteilla, Terraform koko ympäristölle, tietokantamuutokset toimitettuna migraatioina putkessa, CodeQL ja riippuvuuksien skannaus.

Säännöt, jotka sen muovasivat

  • Prioriteetit kiinteässä järjestyksessä: ensin kustannus, sitten tietoturva, sitten nykyaikaisuus, sitten suorituskyky, sitten vaatimustenmukaisuuden tukeminen. Jokainen ristiriita ratkaistaan korkeamman sijoituksen mukaan.
  • Identiteettipalvelu on henkilödatan totuuden lähde; tietokanta on sen välimuisti ja ainoa koti palkalle, rekrytointidatalle ja käyttöoikeuksille.
  • Arkaluonteinen data ei koskaan päädy tavalliseen sarakkeeseen, ei hetkeksikään. Salaus ilmoitetaan useammassa kuin yhdessä paikassa ja validoidaan käynnistyksessä.
  • Jokaisen bugikorjauksen mukana toimitetaan testi sen luokalle, vietynä laajimmalle valvontatasolle, joka sen näkee, usein arkkitehtuuritestinä yksikkötestin sijaan.
  • Pikaviestintä on epäluotettava näyttöpinta. Ilmoitukset nimeävät tapahtuman ja linkittävät todennuksen takana olevalle sivulle; summat ja hinnat eivät koskaan poistu tuotteesta.

Miksi sillä on teille merkitystä

Emme kuvaa demoa. Tämä alusta pyörittää oikeaa yritystä joka päivä, mikä tarkoittaa, että olemme eläneet omien arkkitehtuuripäätöstemme, omien migraatioidemme ja oman hälytyksemme kanssa riittävän kauan tietääksemme, mitkä niistä olivat oikeita. Samaa harkintaa tuomme teidän tuotteeseenne.

Haluatteko jotain vastaavaa yrityksellenne?

Kuvatkaa prosessit, joita pyöritätte tänään taulukkolaskennalla. Saatte kirjallisen suunnitelman, arkkitehtuuriehdotuksen ja arvion yhden arkipäivän kuluessa.