Independent charities working the same area can unknowingly support the same family while others go unhelped. Samoun is a charity-management app that lets organizations coordinate: look up a family by national ID, see who else is already helping them, and manage their own assistance — without being able to edit another charity's records. I built it end to end as a freelance project.
What it does
- Search families by national ID, phone, or name; register a family and its members
- A family's detail view lists the other charities already supporting it, drawn from a network-wide coverage model
- Create, update, and delete assistance ("help") records, including a bulk round across all of a charity's families
Architecture
- Clean-Architecture layering with MVVM and Hilt; graph-driven navigation across a lean two-activity shell
- Apollo GraphQL with Kotlin coroutines for typed queries and mutations, behind a bearer-token interceptor
- Encrypted local session storage and centralized GraphQL error mapping to localized Persian messages; full RTL Persian UI