Home

Awesome

app-geocontacts

Geo Contacts is a cross-platform mobile contact application sample for iOS and Android built with Xamarin.Forms and leverages several services inside of Azure including Azure AD B2C, Functions, and Cosmos DB.

See the full session from Build 2018 here: https://channel9.msdn.com/Events/Build/2018/BRK2429?WT.mc_id=appgeocontacts-github-masoucou

<img src="art/apppromo.png" width="500"/>

Data

Sample data for this application was imported from the Microsoft Cloud Developer Advocates (CDAs). When a CDA logs in (who is part of Azure Active Directory) they are able to update their location anywhere in the world. All users have the ability to skip login and browse our beautiful contact list of CDA and find CDAs that are nearby.

Smarts

Since CDAs travel often to help developers around the world build amazing things we built into the application a way for CDAs to update their current city/state/country and a way for other CDAs to see who is nearby. This leverages built in capabilities of the devices such as geolocation and also leverages advanced geolocation capabilities of CosmosDB for fast queries.

Services

Azure Active Directory B2C

Used directly for all authentication in the app. CDAs can log in and we use this authentication with our Azure Function.

Cosmos DB

Our CDAs are located all through the world. We leverage CosmosDB for it's geo-replication to ensure optimal performance in the mobile applications. We also leverage Cosmo sDB advanced queries to get specific data based on the user's geolocation.

Azure Cognitive Service: Face API

When checking in our CDAs can add their current mood by taking a photo of their face and then the Cognitiver Services API will analyze their emotion and return an emoji to be synced.

Azure Functions

We use serverless architecture for several features of the application including:

Visual Studio App Center

Used extensively for Continuous Integration and Deployment, while providing powerful analytics and crash reporting that is imported directly into Application Insights.

Libraries Used

Art:

License

Under MIT (see license file)