Logo Lanfrica

coderashe/ZtbApp

Domain:

socioeconomic

Record type:

software
Creator:
cod
Host:
Native Android app for Zimbabwe Territorial Band (ZTB) β€” manages member finances, payment tracking, and band information with role-based access for Members, Treasurers, and Admins. Built with Kotlin, Jetpack Compose, and Firebase. # ZTB (Zimbabwe Territorial Band) Android App A native Android application built with Kotlin, Jetpack Compose, Material 3, and Firebase for the Zimbabwe Territorial Band (ZTB). The application seamlessly combines band management, member roster tracking, public/band information, and role-based financial event management. --- ## Features & Architecture ### Role-Based Access Control - **Member**: Views home overview, roster with member performance status pills (πŸ”΄ 🟠 🟒), band information (History, Leadership, Projects, Events Calendar, Public Funds chart), and profile. (No financial numbers exposed). - **Treasurer**: All Member capabilities plus full access to the **Finance** tab (creating payment events, toggling member payment statuses, viewing financial dashboard & charts). - **Admin**: All Treasurer capabilities plus full access to the **Admin Panel** (managing members, promoting roles, deactivating accounts, and editing all band content). ### Key Modules 1. **Auth & Security**: Firebase Auth with Email/Password & Google Sign-In support. Quick demo login accounts for testing. 2. **Performance Status Engine**: - 🟒 **GREEN**: All current period payments marked Received. - 🟠 **ORANGE**: Current period payment exists but not yet marked Received. - πŸ”΄ **RED**: One or more previous period payments still outstanding/overdue. 3. **Finance Hub**: Event creation, automated payment generation for members, real-time status toggling, and interactive Compose Canvas pie/donut charts. 4. **Band Info**: 5-tab hub with rich historical context, leadership board, annual projects, gig calendar, and transparent public fundraising charts. 5. **Admin Panel**: Role promotion, new member provisioning, content editor. --- ## Project Structure ``` app/src/main/java/com/example/ β”œβ”€β”€ ZTBApplication.kt β”œβ”€β”€ MainActivity.kt β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ model/ β”‚ β”‚ β”œβ”€β”€ User.kt β”‚ β”‚ β”œβ”€β”€ PaymentEvent.kt β”‚ β”‚ β”œβ”€β”€ Payment.kt β”‚ β”‚ └── BandInfo.kt β”‚ β”œβ”€β”€ repository/ β”‚ β”‚ β”œβ”€β”€ AuthRepository.kt β”‚ …