This Python-based project automates the invitation process for events. It reads RSVP data from an Excel file or Google Sheets, generates unique QR codes for each guest, and sends personalised email invitations. Upon arrival, guests can scan their QR codes for check-in, allowing for efficient attendance tracking. Originally built as a fun project for a Halloween party, this system was designed to simplify invitation management and guest check-ins. While it started as a seasonal hack, it can easily be adapted for any event requiring QR-based invitations and attendance tracking.
This project was created to simplify and automate the process of managing party invitations. It supports both Excel and Google Sheets as data sources, allowing organisers to:
- Import RSVP data
- Generate QR codes for each attendee
- Email those codes as invitations
- Use a basic frontend or server to scan and check in guests
- QR Code Generation: Creates unique QR codes for each registered guest.
- RSVP Data Handling: Imports data from Excel or Google Sheets.
- Email Invitations: Sends QR codes via email using SMTP.
- Attendance Tracking: Displays guest details when QR is scanned (optional feature).
- Webcam Integration (JS): Uses
getUserMediafor real-time QR code scanning.
- Python 3.x
Install all dependencies with:
pip install -r requirements.txtqrcode
pandas
openpyxl
google-auth
google-auth-oauthlib
google-auth-httplib2
google-api-python-client
git clone https://github.com/yourusername/QR_Code_Invitation.git
cd QR_Code_Invitationpython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txt- Store attendee info in
data/attendees_with_qr_codes.xlsx - Or use a Google Sheet and follow the Google Sheets API Setup
- Edit your SMTP credentials in
email_sender.py - Use environment variables or a
.envfile for secure storage
If using Google Sheets for RSVP data:
-
Enable APIs
- Go to Google Cloud Console
- Enable:
Google Sheets APIandGoogle Drive API
-
Create a Service Account
- Create new credentials as a Service Account
- Download the
.jsonkey - Place it in
credentials/and rename it if necessary
-
Share the Google Sheet
- Open your Sheet
- Click Share, and add the service account’s email with Editor permissions
- Generate QR Codes and Send Emails
python src/QRCode_Generator.py- (Optional) Serve Web Page for QR Check-In
python -m http.serverAdd your HTML/CSS/JS scanner frontend in the root or
public/directory.
- Add web dashboard to track check-ins in real time
- Auto-email QR on form submission (Google Apps Script)
- Scan logs with timestamps for each guest
- Full event analytics (e.g., turnout rate, scan time)