Allegretto Eisteddfod — the official mobile app for managing entries, syllabi, performance dates, and QR validation for the Allegretto Eisteddfod competition.
- Entry Forms — Browse and open entry form PDFs
- Syllabus — View the official Allegretto syllabus
- Dates & Deadlines — Stay on top of closing dates
- Region Schedules — Per-region performance dates with notifications
- QR Validation — Scan and validate entry QR codes
- Offline Library — Download and access PDFs offline (Pro)
- Push Notifications — Get alerted on updates and regional changes
| Tool | Version |
|---|---|
| Flutter SDK | 3.16+ (see .fvm/flutter_sdk) |
| Firebase project | Auth, Firestore, Storage, Cloud Messaging |
| AdMob account | For ad units |
Windows
scripts\decrypt.ps1
# Password: ask the teammacOS / Linux
chmod +x scripts/decrypt.sh
./scripts/decrypt.sh
# Password: ask the teamThis creates .env (gitignored) with the API keys needed at build time.
flutter pub get# Run on connected device
flutter run
# Build APK (Android)
flutter build apk --debug
# Build IPA (iOS — requires Apple Developer account)
flutter build ios --debugEdit .env, then re-encrypt:
scripts\encrypt.ps1
# Enter new password or keep the same oneCommit the updated .env.enc.
This repo includes codemagic.yaml for automatic builds on push.
- Go to codemagic.io and sign in with GitHub
- Add this repository
- In Environment variables, add:
| Variable | Value |
|---|---|
ENCRYPTION_PASSWORD |
The .env.enc password (ask the team) — mark as encrypted |
EMAIL |
Your email for build notifications |
- Push to
main— Codemagic will build APK + IPA automatically
To produce installable IPAs, you'll need:
- An Apple Developer account ($99/year)
- Upload your App Store Connect API key or certificates in Codemagic > Teams > Apple Developer Portal
- Update
codemagic.yamlto add codesigning (remove--no-codesignand add signing config)
Without codesigning, the built .app can only run in the iOS simulator.
The following files are checked into the repo and required at build time:
| File | Purpose |
|---|---|
android/app/google-services.json |
Android Firebase config |
ios/Runner/GoogleService-Info.plist |
iOS Firebase config |
lib/firebase_options.dart |
Generated Firebase options |
These contain public Firebase configuration (API keys are restricted by app ID, not secrecy).
This software is All Rights Reserved. See LICENSE for terms.