- Go to Firebase Console
- Click Add project → name it
rewarding(or anything) - Disable Google Analytics (not needed) → Create project
dart pub global activate flutterfire_cliFrom the rewarding/ project directory:
flutterfire configure --project=YOUR_PROJECT_IDThis will:
- Register Android, iOS, macOS, and web apps
- Auto-generate
lib/firebase_options.dartwith your real config - Download
google-services.json(Android) andGoogleService-Info.plist(iOS/macOS) - Create
firebase.jsonand.firebasercin the project root
Select android, ios, macos, and web when prompted.
- In Firebase Console → Build → Firestore Database
- Click Create database
- Choose Start in test mode (fine for family use)
- Select a region close to you → Enable
In Firebase Console → Firestore → Rules, replace with:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
// app uses anonymous auth
allow read, write: if request.auth != null;
}
}
}
This requires authentication for all reads and writes. The app uses anonymous auth, so users must be signed in to access any data.
For macOS, you need to enable network access. In macos/Runner/DebugProfile.entitlements and macos/Runner/Release.entitlements, ensure these are present:
<key>com.apple.security.network.client</key>
<true/># iOS Simulator
flutter run -d ios
# macOS
flutter run -d macos
# Android emulator
flutter run -d androidOn first launch, you'll see a setup wizard to:
- Enter parent name and PIN
- Add your children with names, PINs, and avatar emojis
After setup, everyone can log in with their name + PIN.
-
Parents can:
- Award dbux to one or both kids
- Manually deduct dbux (for cash purchases)
- Add/edit prizes in the reward shop
- Approve or deny kids' redemption requests
- View full transaction history
-
Kids can:
- See their dbux balance
- Browse the prize shop
- Request to redeem prizes
- View their transaction history