School project · an exam, built and run

Danish public data, one request away.

Three registers, three APIs and a dozen requests for one building. fetchthing joins them once and answers with what a person would ask for.

How it works Built by Rytter

curl https://fetchthing.example/v1/company/12345678 \
-H "Authorization: Bearer $FETCHTHING_KEY"
{
"cvr": "12345678",
"name": "Example Transport ApS",
"address": "Eksempelvej 12, 8000 Aarhus C",
"properties": [
{ "address": "Eksempelvej 12", "use": "warehouse", "built": 1987, "area_m2": 1240 }
],
"vehicles": [
{ "plate": "AB 12 345", "kind": "truck", "first_registered": "2019-04-02" }
]
}

Features

The joins, written once.

  • A company and what it owns

    A CVR number returns the company, its properties and its vehicles together.

  • Or one address

    Plot, buildings and units are walked for you, and the building comes back in plain words.

  • Vehicles included

    The vehicle register's dump is indexed once, so a lookup is a field, not a download.

How it works

One service in front of three registers.

  1. 1

    Fetch

    Each register is called or indexed in one place, so no consumer learns its API.

  2. 2

    Decode

    Code tables become words and dates become one format, so every consumer reads the same answer.

  3. 3

    Answer

    A consumer gets only what it asked for, so a register changing its API changes one service.

Who built it

Built by Rytter.

I'm Jakob Rytter. I build software and run it, from the server to the screen, and fetchthing was an exam project with twentything as its other half.

rytter.it All the things