- Python 55.8%
- Go 22.8%
- TypeScript 8.4%
- CSS 5.1%
- HTML 4.7%
- Other 3.2%
| .github/workflows | ||
| .idea | ||
| apps | ||
| shared | ||
| .gitignore | ||
| README.md | ||
WhatsApp Inviter
Een gebruiksvriendelijke app om ingeschreven studenten uit te nodigen via WhatsApp. Ontwikkeld voor Bio-informatica en Biomedis aan de Hogeschool Leiden.
Dit is een monorepo met twee implementaties:
| App | Pad | Stack | Status |
|---|---|---|---|
| Python (legacy) | apps/python/ |
customtkinter + pywhatkit | Stabiel, PyInstaller .exe |
| Go (nieuw) | apps/go/ |
Wails + whatsmeow + excelize | Native binary, geen browser |
Gedeelde assets staan in shared/assets/.
Snel starten
Python-versie (bestaand)
cd apps/python
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
python app.py
Build: build.bat (Windows) of build_mac.sh (macOS) vanuit apps/python/.
Go-versie (nieuw)
cd apps/go
go mod tidy
wails dev # ontwikkeling
wails build # productie-binary
Build-scripts: build.bat / build_mac.sh vanuit apps/go/.
Output: apps/go/build/bin/WhatsAppInviter.exe (Windows) of .app (macOS).
Verschil tussen de twee apps
| Python | Go | |
|---|---|---|
| Browser-automatisering (WhatsApp Web + Chrome) | Direct via WhatsApp multi-device protocol (QR-koppeling) | |
| Binary-grootte | ~40–80 MB (PyInstaller) | ~15–25 MB (native) |
| Browser nodig | Ja | Nee |
| Excel | openpyxl | excelize |
| Instellingen | %APPDATA%\WhatsAppInviter\settings.json |
Zelfde pad (gedeeld) |
Gebruikersdocumentatie
Zie shared/docs/python.md voor de volledige handleiding (Excel-formaat, placeholders, checkbox-kolom, etc.). De Go-app volgt dezelfde workflow (3 stappen: Importeren → Bericht → Versturen).
Go-versie: WhatsApp koppelen
- Start de app
- Ga naar Versturen
- Klik QR-code tonen
- Scan met WhatsApp op je telefoon (Instellingen → Gekoppelde apparaten)
- Sessie blijft bewaard; volgende keer hoef je niet opnieuw te scannen
Projectstructuur
apps/
python/ # customtkinter GUI + pywhatkit sender
go/ # Wails GUI + whatsmeow sender
shared/
assets/ # default_message.txt
docs/ # gebruikers- en ontwikkelaarsdocs
.github/workflows/ # CI builds voor beide apps
CI / Releases
GitHub Actions bouwt bij push naar master/main en op tags (v*) beide apps voor Windows en macOS. Artifacts staan onder Actions; releases bevatten alle vier binaries.
Bekende beperkingen
- whatsmeow is een unofficial WhatsApp client library (zelfde grijze zone als pywhatkit, maar betrouwbaarder dan browser-automatisering).
- WhatsApp kan bulk-berichten beperken; gebruik Bevestig na elk bericht voor controle.
- Alleen
.xlsxwordt ondersteund.