Projects

Registration

Webapp, Android and/or a plain TUI1).

The challenge with webapp is connecting both QR code scanner2) and NFC scanner3). Using a local Python app as the hardware interface for the browser is quite possible. Android apps have access to both, assuming the phone has a NFC scanner.

Scenario: TODO: flytt til eget punkt?
Deltaker har ødelagt/mistet armbåndet/NFC chippen. De må få registrert nytt armbånd, og det gamle må deaktiveres.
Jeg tenker dette er noe som bør gjøres i info skranken? Eventuelt ved hovedingang, samme med registrering av dagspass.

MVP

  1. Scan ticket4)
  2. Scan NFC armband
  3. Connect ticket to NFC armband in the database
  4. Be ready for next ticket
  5. Next “post” crimps armband in place

Extra

  • Information stand before entry gate on opening day?
    This to avoid clogging registrations up with people who want to ask additional questions

Flow graph

Parental info UI

MVP

  1. Secure login
  2. See if kid is in or out

Extra

  • Alert5) when kid leaves
  • ↑ Potentially with delay for quick trips outside for food stall
  • Android/iOS apps would be nice, but;
    • Is extra work
    • Cumbersome/expensive6) to get published
    • App reviews take time7)

Discord bot

The bot from 2024 is located here; https://github.com/HordaLAN/hordalan-discord-checkin8)

MVP

  • Send message to a specific Discord channel containing a list of who is in the building
  • Command to check in/out (in case you didn't with RFID) and set an AFK message

Extra

  • Set role to indicate who is in and who is out
  • A way to indicate that you are sleeping in the hall / otherwise “off duty” but available

Crew interface

MVP

  • Display the same info as the Discord bot, but in a nicer way
  • Auto-refresh display

Extra

  • Login
  • Ability to change your away state and message

Web stack

The benefit of using Django is that you get a lot “for free”, including login and an admin interface (with minimal additional setup).
I am not too familiar with Flask, but I've tried it briefly some time back. I'm confident it's up to the task.
I've played some with FastAPI and SQLAlchemy, so I'm comfortable enough with those.
Jinja and Django templates are mostly syntax compatable for the basic features, either will work for our use cases.
HTMX is a js framework for swapping in server-side rendered fragments. Simple javascript include, no compilation or NPM dependencies.
I do not want a client framework that requires using npm/yarn and similar to pull in a bunch of dependencies and compile the code,
simple HTML5 is more than good enough, and runs lighter on client devices.
I do not currently hold any strong opinions when it comes to component libraries and css frameworks.
Odd Stråbø 2024-08-31 22:04

Proposed

Alternatives

See also

1)
terminal user interface
2)
webcam?
3)
Web Serial APIs are only available in chrome desktop browsers
4)
QR code?
5)
notification
6)
iOS requires both a paid developers account, and a macbook, to my knowledge
7)
Obtainium is a way around this for Android, but probably not satisfactory for a good portion of the target audience
8)
Currently a private repo — make public?
Print/export