====== Projects ====== {{:lan:hordalan:rfid:lanaccess_overview.jpg?600|}} ===== Registration ===== Webapp, Android and/or a plain TUI((terminal user interface)). The challenge with webapp is connecting both QR code scanner((webcam?)) and NFC scanner(([[https://caniuse.com/web-serial|Web Serial APIs]] are only available in chrome desktop browsers)). 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 ==== - Scan ticket((QR code?)) - Scan NFC armband - Connect ticket to NFC armband in the database - Be ready for next ticket - 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 ==== {{:lan:hordalan:rfid:hordalan_checkin_graph.jpg?200 |}} ===== Parental info UI ===== ==== MVP ==== - Secure login - See if kid is in or out ==== Extra ==== * Alert((notification)) when kid leaves * ↑ Potentially with delay for quick trips outside for food stall * Android/iOS apps would be nice, but; * Is extra work * Cumbersome/expensive((iOS requires both a paid developers account, and a macbook, to my knowledge)) to get published * App reviews take time((Obtainium is a way around this for Android, but probably not satisfactory for a good portion of the target audience)) ===== Discord bot ===== The bot from 2024 is located here; [[https://github.com/HordaLAN/hordalan-discord-checkin]]((Currently a private repo — make public?)) ==== 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. > --- //[[oddstr13@openshell.no|Odd Stråbø]] 2024-08-31 22:04// ==== Proposed ==== * [[https://www.djangoproject.com/|Django]] * Django templating * Django ORM * [[https://htmx.org/|HTMX]] ==== Alternatives ==== * Django / [[https://fastapi.tiangolo.com/|FastAPI]] / [[https://flask.palletsprojects.com/|Flask]] * Django templating / [[https://jinja.palletsprojects.com/|Jinja]] * Django ORM / [[https://www.sqlalchemy.org/|SQLAlchemy]] * HTMX ====== See also ====== * [[..|RFID/NFC hardware selection]]