Android app for emergency request coordination, built with Jetpack Compose and MVVM.
- Authenticates users with Sign In / Sign Up screens
- Navigates authenticated users into a bottom-navigation dashboard
- Uses a themed splash launch experience
- Reads and writes user data through Firebase Realtime Database
- Keeps mobile forms readable and usable with keyboard-aware layouts
- Model: repositories, data models, validation helpers
- View: Jetpack Compose screens and reusable components
- ViewModel: state, validation, and one-time navigation events
Each implemented area has its own documentation page:
- Feature Documentation Index
- Current Implementation Overview
- Authentication Flow
- Splash / App Launch Experience
- Dashboard & Bottom Navigation
- Firebase Realtime Database Integration
- Keyboard, Back Button & Responsive UX
- Testing & Verification
Supporting project documentation:
- Shared brand header and auth container styling
- Rounded input fields with glass-style cards
- Inline navigation text for Login / Sign Up actions
- One-time ViewModel navigation events after success
- Bottom navigation with
Activity,Requests, andAccount - Full-screen background image with readable elevated placeholder cards
- Natural back-button behavior inside tab navigation
- Theme-based app launch screen
- Surround color set to
#92DAFF - System splash configuration handled through manifest/theme resources
- Firebase Realtime Database-backed repository
- Indexed lookup for authentication instead of downloading the full user list
- Normalized lookup keys for email and phone
- Unit tests for model and ViewModel behavior
- Coroutine test dispatcher rule for deterministic ViewModel tests
- OWASP Dependency-Check configuration for vulnerability scanning
app/src/main/java/...— app source codeapp/src/main/res/...— layouts, colors, drawable assets, and themesapp/src/test/...— unit testsdocs/...— setup, schema, feature, and workflow documentation
See the setup guide:
Typical local build commands:
./gradlew assembleDebug
./gradlew testDebugUnitTestSensitive Firebase files were removed from git history and should remain untracked.
If you regenerate Firebase configuration locally, keep google-services.json out of version control.
AS PROPOSED BY THE TEAM
- OTAI JOSEPH
- ABUREK EMMANUEL
- AKATUKUNDA PRECIOUS PRAISE
- AGABA DORECK
- KIBENGE VICTOR