Android Jetpack Compose chat application built around Azure Communication Services and Firebase.
Step 1: user either logins or registers using the Firebase Authentication service
Step 2: a communication identifier and token is generated (or refreshed) using the Azure Functions which serve a identity management for the reserved Azure Communication Services
Step 3: user data is mapped and saved in the Firebase Firestore, along with other needed relations and entities.
Step 4: the app instantiates needed services, some of which listen for chat client and chat thread client events. If the activity changes its state to paused, those services are propagated to the foreground service which can then manage notifications and update the UI state when the activity becomes available again.
IDEs: Android Studio, Visual Studio
Other: Azure Communication Services, Azure Functions, Jetpack Compose