Checkout CONTRIBUTING.md.
Access the frontend repo for eventloop: eventloop-frontend
Run locally or within a docker container.
If running locally, set ELOOP_DEV=1 environment variable to expose some additional routes for testing.
- Ensure docker is installed: https://docs.docker.com/get-started/get-docker/
- The container operates on a shared volume at
${PWD}/data, ensure thatconfig.jsonand.envis present in the volume. - The
events.dbSQLite database will be present in the same shared volume, so run themake clean_dbtarget to work with a fresh database instance before running the container.
make build-container-image
# this runs the container in DEV mode to expose additional
# routes for testing
make run-container# eventloop listens on port 8080
go run -v .The eventloop back-end uses a HTTPS connection.
You can either generate your own localhost certificates or use a proxy server like mitmproxy.
When running locally:
# eventloop listens on port 8000
# the proxy server proxies requests from port 8080 to 8000
ELOOP_LOCAL=1 go run -v .- Run the proxy server
mitmproxy --mode reverse:http://localhost:8000@8080 --set ssl_insecure=trueWhen running within a docker container:
mitmproxy --mode reverse:http://localhost:8080@<port-number> --set ssl_insecure=trueYou will have to update the frontend with the new port-number.
- Generate certificates
openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
# pfx file for browsers
openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt- Change the
r.Run()function inmain.goto
if err := r.RunTLS(":8080", "localhost.crt", "localhost.key"); err != nil {
log.Fatal(err)
}QR codes for all participants are automatically generated when an event is created. QRs are stored in the ../test-data/qr-png/ directory. To regenerate them, just hit the admin/create endpoint with participant data again.
eventloop has a mailer cli tool which will automatically send emails to all participating teams with their generated QR codes. Checkout README.md
- Run
docker compose upin the directory containingcompose.yml, with the application configuration(config.json) and environment variables(.env) in the./datadirectory. - Move nginx.conf to
/etc/nginx/nginx.conf - Point domain to server and run certbot to generate SSL certificates