Skip to content

verslag vergadering 2019 10 03

abeforgit edited this page Nov 13, 2019 · 1 revision

Vergadering 2019-10-03

Bespreking van scope

Boxxy willen we houden als zwarte doos; het is battle-tested. Dan maken we nu nog:

  • essentie
    • tel rondjes (blocked)
    • stuur JSON naar boxxy
  • voorts
    • push nieuwe staat
    • pull huidige staat
  • naar volgende jaren toe
    • publieke API zodat er niet gescrapet wordt

niet

  • scheidsrechter

opletten voor

  • stroom valt weg
  • netwerk-issues (valt weg, packet loss)
  • DB/file corrupt
  • authenticatie
  • uplink valt weg
  • batons verwisselen
  • rules veranderen

Is telraam de core of een deel van het systeem? Zit er nog iets tussen de beacons en telraam dat de informatie pre-processt? Nee, beacons verbinden met telraam. (In praktijk is er ook nog een andere computer die van de beacons kan ontvangen)

Log van laatste pakketten per station

Policy

Niet pushen naar master, PR's worden gereviewd. Coverage wordt gemeten voor PR geaccepteerd wordt, maar we spreken geen quota af.

Modellen

  • team

  • baton

  • beacon

  • detectie (wanneer baton voorbij station gepasseerd is)

    • beacon
    • baton
    • timestamp
  • laps (derived van detectie maar wordt ook opgeslagen)

    • team
    • timestamp

Interfaces

API

  • CRUD

  • overview (met dingen zoals rondjes per team, eventueel wanneer beacon voor het laatst iets gezegd heeft ...)

  • {beacon_id}/last_detection

  • beacons/last_detection

  • utility endpoint

    • zoals X aantal laps toevoegen
    • freeze/unfreeze (stop communicatie met doxxy) + is_frozen

State van het veld kan veranderen en daar moet het programma kunnen mee omgaan Een idee was rulesets gebruiken met geldigheidsduren, maar dit is misschien niet nodig "Ruleset" van i++ van Leuven is sensible in dynamische situaties Stations hotswappen? Sowieso nodig: er kunnen stations bijkomen

Interne interfaces

Eerst leggen we structuur vast, zie 12ul_diagram.png in ~12urenloop: https://github.com/12urenloop/docs.12urenloop/blob/master/19-20/12ul_diagram.png

Minimaal bericht van beacon naar logic

  • beacon
  • baton
  • timestamp

We kunnen met alles al beginnen behalve beacon_comm

Random

Twee telraam-instanties tegelijk draaien zou kunnen

Verandert er iets aan de applicatie? Herstart dan met zelfde database

We houden graag het platform onafhankelijk van de DBMS (moet draaien op sqlite, postgres)

Next steps

Repo en build opzetten (Gradlefiles, CI, testframeworks, docs): tegen eind volgende week Implementatie, eerste sprint

Praktische facilitatie

  • Unit tests
  • CI
    • Build (met Gradle)
    • Run tests
    • Show coverage (geeft warning)
    • Lint (geeft warning)
  • Docs voor dev environment: instructies om te starten
    • Lint plugin
    • Gebruik autoformatting on save