StopTB is an Android app for beneficiary registration, TB screening, general examination, referral, suspected TB tracking, confirmed TB follow-up, and offline-first field workflows.
Current app version:
Version Name:1.0Version Code:1
stoptb->org.piramalswasthya.stoptb.prodstoptbUat->org.piramalswasthya.stoptb.uat
Display names:
StopTBStopTB-UAT
All BeneficiariesBeneficiary Registration- Registration details
- Anthropometry
- ABHA
TuberculosisTB ScreeningDiagnosticsSuspected TBTB Confirmed
General ExaminationGeneral OPDReferralsDigital Chest X-rayTrue NATHealth and Wellness CentreLiquid Culture
ABHACamp ModeService Location / Village SelectionSync Dashboard
- Login
- Select village/service location
- Open
Home
- Register beneficiary
- Submit
Anthropometry Screen - Return to beneficiary list
- ABHA can be generated from the beneficiary card when allowed
- Open beneficiary list
- Submit
General Examination - Submit
TB Screening - Submit or skip
General OPD - Submit
Diagnostics - Continue tracking from
Suspected TBandTB Confirmedmodules
In the beneficiary list, General OPD is shown after TB Screening is complete. The OPD button is red when OPD is pending and green when OPD is filled.
- Enable
Camp Modefrom login - Connect to a camp hub using QR scan or hub URL
- The app verifies the hub health endpoint before camp login
- If the hub disconnects later, the app checks connectivity before hitting camp APIs
- Secure login with role-based access
- Splash screen on app launch
- Offline-first local storage using Room
- Beneficiary registration with village and sub centre
- Camp mode for local hub based field operation
- TB workflow support:
- general examination
- screening
- general OPD
- diagnostics
- suspected TB
- confirmed TB
- Referral tracking
- Multilingual support:
- English
- Hindi
- Assamese
- Background sync using WorkManager
- CI workflow for compile, unit test, and lint
- UAT distribution workflow through Firebase App Distribution
KotlinXMLRoomMVVMNavigation ComponentHiltRetrofit + Moshi/GsonWorkManagerFirebase
compileSdk:35targetSdk:35minSdk:25
- Open project in Android Studio.
- Sync Gradle.
- Select build variant:
stoptbDebugstoptbReleasestoptbUatDebugstoptbUatRelease
- Add required config files like
google-services.jsonin the correct source set if needed. - Build and run on device/emulator.
GitHub Actions workflows are available under .github/workflows.
android-ci.yml- Runs on pull requests and pushes to
mainordevelop - Compiles
stoptbUatDebug - Runs unit tests
- Runs Android lint
- Uploads test and lint reports as workflow artifacts
- Runs on pull requests and pushes to
distribute-uat.yml- Builds the UAT debug APK
- Uploads the APK as an artifact
- Distributes the APK to Firebase App Distribution
Required GitHub secrets for CI/CD:
GOOGLE_SERVICES_JSON_UATGOOGLE_SERVICES_JSON_PRODFIREBASE_APP_ID_UATFIREBASE_SERVICE_ACCOUNT_JSONENCRYPTED_PASS_KEYABHA_CLIENT_SECRETABHA_CLIENT_IDBASE_TMC_URLBASE_ABHA_URLABHA_TOKEN_URLABHA_AUTH_URLCHAT_URL
Do not commit private files or credentials to this public repository. Sensitive files are ignored through .gitignore, including google-services.json, keystore files, service-account JSON files, .env, and keystore.properties.
- App manifest:
- [AndroidManifest.xml](D:/FLW Volenteer/NikshayMitra/app/src/main/AndroidManifest.xml)
- App version:
- [version.properties](D:/FLW Volenteer/NikshayMitra/version/version.properties)
- Build config:
- [build.gradle](D:/FLW Volenteer/NikshayMitra/app/build.gradle)
- Launcher activity is
LoginActivity. - Splash theme is configured on launcher startup.
- Active home flow uses
VolunteerActivity. - Diagnostics data is saved into TB suspected flow and is used for suspected/confirmed TB tracking.