Case · Polly

Software die een productiemachine aanstuurt.

Voor Polly bouwde ik, samen met één andere developer, het platform waarmee apothekers werken, plus de koppeling die vanuit dat platform de productiemachine aanstuurt.

Rol
Full-stack developer, freelance
Periode
Sep 2023 – dec 2024
Team
2 developers
Gebruikers
Apothekers
2developers voor het volledige platform, van database tot machinekoppeling
16maanden aan het platform, tot het dagelijks in gebruik was
1lijn van scherm tot machine: geen manuele stap ertussen

De uitdaging

Wat de apotheker op het scherm invoert, moet foutloos tot in een fysieke machine geraken. En een machine antwoordt niet altijd meteen: ze kan bezig zijn, haperen of even weg zijn.

Wat ik bouwde

Een NestJS-backend en een React-applicatie voor apothekers. Opdrachten naar de machine lopen via haar API en door BullMQ-wachtrijen, zodat elke opdracht een status heeft en niets verloren gaat.

De weg naar de machine

  1. 1

    Invoeren

    De apotheker beheert de gegevens in de webapplicatie.

  2. 2

    Verwerken

    De backend zet die om in een opdracht voor de productie.

  3. 3

    Wachtrij

    De opdracht komt in een wachtrij, met status en een nieuwe poging als het misgaat.

  4. 4

    Machine

    Via API-calls voert de productiemachine de opdracht uit.

Elke opdracht heeft een status

Wat naar de machine gaat, staat eerst in een wachtrij. Zo ziet de apotheker wat wacht, wat bezig is en wat klaar is, en een opdracht die mislukt, probeert het systeem opnieuw in plaats van ze stil te laten verdwijnen.

Productiewachtrijvoorbeelddata
Opdracht 1042Wachtend
Opdracht 1041Bezig · machine 1
Opdracht 1040Klaar
Opdracht 1039Opnieuw geprobeerd · klaar

Geen gewone CRUD-app

Het moeilijke deel zat achter de schermen: asynchrone opdrachten naar hardware, statussen die kloppen, en een systeem dat elke dag in apotheken gebruikt wordt.
  • NestJS
  • React
  • TypeScript
  • BullMQ
  • Redis
  • SQL
  • REST-API naar machines

Ook zoiets nodig?

Dertig minuten is genoeg om te zien of het past. Geen salespitch.

Schermen op deze pagina tonen voorbeelddata.