Giter VIP home page Giter VIP logo

promkit's Introduction

Warning: I haven't used this in a while. Its current state is unknown, but it worked in 2023.

PromKit

This is a simple tool I created in 2023 to run our prom. It enables a completely self-hosted prom ticketing system that uses emails and QR codes, making it suitable for use within school districts that have restrictions on emails from outside the district.

Two Parts

RegistrationEngine registers users using a handy-dandy UI. Check-in-gine uses the device camera to scan QR codes and check in users.

Setup

Setup consist of 3 parts

Install dependencies

I recommend a pip virtual environment. I think you'll need:

  • google-api-python-client, google-auth-httplib2, and google-auth-oauthlib for the google API
  • pyqrcode and pypng for QR Code generation
  • playsound for playing confirmation sounds in Check-in-gine
  • PySimpleGUI for UI
  • opencv-python for QR code scanning, though it might be the community edition. Can't remember

This is not comprehensive because I haven't used this in a while. If something needs installation while you're setting this up, open an issue. I'd love to make this more comprehensive

Set up Google Cloud APIs

Get a token. I managed to do this without having to publish a project by adding any email addresses that would send emails or read the Google Sheet as test users. Also, you need to configure your project to be able to access the Gmail and Google Sheets APIs.

Create Email

Use some tool to create an HTML document for your email. Check out the current email set up in registration_email.py on line 52. The two important things are to change the image tag you include the QR Code in for creating (I would recommend you have an example when developing the email: the email generates at size 330x330) to have src="cid:qrcode" instead. This references the QR Code that is included to show it in the message. Also, you will need to insert the name and ID for the email. Again, see the example.

Sorry I'm not more help because I haven't used this in a while, but good luck!

promkit's People

Contributors

brucemcrooster avatar

Stargazers

Nick G. avatar

Watchers

 avatar

promkit's Issues

setuptools and wheel missing from dependency list

While setting up, I was unable to install playsound successfully. Thanks to this post on StackOverflow, I was able to solve it by adding wheel and setuptools to the virtual environment. I don't have the most experience with Python packages, so I'm not quite sure what they do. Regardless, they should be added to the README as dependencies. I'm not sure quite what they do, so I'm not going to add them with a PR, but I thought you should know.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.