This document explains how to connect the Android app to our shared Firebase project (Impact Nexus).
- Go to Firebase Console
- Ask Aisha for access to the Impact Nexus project.
- Once added as a collaborator, you can download your own configuration file.
- In the Firebase Console:
- Go to Project settings → Your apps → Android.
- Click Download google-services.json.
- Place it in your Android Studio project under: app/google-services.json
- Make sure the file is not committed to Git. It’s already ignored in
.gitignore.
Firebase has already been configured in app/build.gradle.kts with:
kotlin
implementation(platform("com.google.firebase:firebase-bom:34.5.0"))
implementation("com.google.firebase:firebase-analytics")
implementation("com.google.firebase:firebase-auth")
implementation("com.google.firebase:firebase-firestore")
The google-services plugin is also applied in the same file.
For the entrant user stories delivered this iteration, Firestore is already wired up and pre-populated helpers are in place. Highlights:
- Shared access:
utils/FirebaseUtil.javaexposes a singleFirebaseFirestore.getInstance()so controllers stay clean. - Controllers:
controller/EntrantController.javahandles entrant profile save/update/delete and reads entrant history using acollectionGroupquery on the nested waiting list documents.controller/EventController.javaloads events, including optional tag/date filtering.controller/WaitingListController.javajoins/leaveswaitingLists/{eventId}/entrants/{entrantId}.
- Models: Firestore documents map to
model/Entrant,Event,WaitingListEntry, andEntrantHistoryItemfor easytoObjecthydration. - UI wiring: Activities in
view/obtain a controller instance, call the relevant Firestore operation, and react to success/failure callbacks with toasts + UI updates. - Demo data:
MainActivitynow includes a “Seed Demo Events” button that batches three sample events into theeventscollection so teammates can immediately test browse/filter/join flows without manually creating documents.
Because all Firestore plumbing is already implemented for these stories, teammates only need to add their own google-services.json, enable the API once, and (optionally) update security rules—no extra integration work required.
Our Gradle configuration uses:
id("com.android.application") version "8.6.1" apply false id("org.jetbrains.kotlin.android") version "1.9.25" apply false id("com.google.gms.google-services") version "4.4.2" apply false
Firebase SDK works with:
compileSdk = 36
minSdk = 24
targetSdk = 36
🔹 5. Verify your setup
After adding your google-services.json, sync Gradle:
In Android Studio: File → Sync Project with Gradle Files
Run the app once
Check Logcat for:
FirebaseApp initialization successful
That means you’re connected!
🔹 6. Troubleshooting
If Gradle fails to sync:
Make sure you placed google-services.json in the app/ folder.
Verify that you didn’t rename it.
Rebuild the project (Build → Clean Project → Rebuild Project).
If issues persist, contact Aisha for the latest project configuration.