event-registration

command module
v0.0.0-...-fed72be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2021 License: MIT Imports: 21 Imported by: 0

README

event-registration

Screenshot

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

  1. First you need to install Go 1.16 or later, a C compiler, and sqlite.
  2. Edit config.toml (the file has comments to guide you)
  3. Compile with go build and run with ./event-registration

The app is now available at http://localhost:3000/

Setup with docker

  1. First you need to install Docker
  2. Edit config.toml (the file has comments to guide you)
  3. Build the docker image with docker build -t events .
  4. 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.

Screenshot

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.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL