event-registration
This service was developed for the
Flyout Event organized by the
TU Wien SpaceTeam.
However, it should also be easily adaptable to other events.
Features
- Storage of contact data according to the current situation in Austria:
- first and last name
- phone number and if available email (this app makes it a requirement)
- Date and time of registration
- Easy setup, configuration and deployment
- Simple storage (sqlite) and export(csv) via the Webinterface.
- Customizable with html templates.
- Great documentation
Setup native
- First you need to install Go 1.16 or later, a C compiler, and sqlite.
- Edit
config.toml
(the file has comments to guide you)
- Compile with
go build
and run with ./event-registration
The app is now available at http://localhost:3000/
Setup with docker
- First you need to install Docker
- Edit
config.toml
(the file has comments to guide you)
- Build the docker image with
docker build -t events .
- Run the container with:
docker run -it -p 3000:3000 --rm --name events-container events
The app is now available at http://localhost:3000/
Note: The created docker container should not be used in production, as
it will lose all state when it is restarted. This can be prevented with
docker volumes or
docker bind mounts.
How it works
After you deployed the app you can create a QR Code
to the domain where it is running. Attendees of the event scan that code and
register. Once they are registered, a cookie is set, which will only expire
after three days or if the user is deleted from the database. This means all
cookies can be invalidated by deleting the sqlite database file.
In case two persons need to login via the same phone, they can use the /reset
workaround. The /reset
path deletes the cookie on the device. So the first
person can register, reset their cookie and than hand over the device to the
next person.
For you, the event host, and your colleagues, there is a admin page available under
/admin
. From there you can export all contacts as JSON or CSV(Excel). The
admin dashboard also shows the last 10 registered persons which means your
colleagues at the entrance don't have to touch attendees phones and can verify
registrations from a save distance on their own devices.
Licence
Everything in this repository is under the MIT license, except for the
flyout
template folder. I included those templates to show how this service
was used in production.