Pre-build conference application built with Xamarin
Switch branches/tags
Nothing to show
Clone or download
jamesmontemagno Upgrade app to XF 3.1 and Xamarin.Essentials (#52)
* Xamarin Essentials, Upgrade to Xamarin.Forms 3.0 (#51)

* Xam.Plugin.Connectivity -> Xamarin.Essentials

- Update Connectivity API usage
- Remove/sort usings as I go
- I let the IDE do it's thing on project/nuget files
  - Except fixed a spot where @motz username was listed
  - `project.lock.json` should not be checked into Github

* Whoops iOS project needs Xamarin.Build.Download 0.4.9

Saw a (1) on NuGet Consolidate tab

* Xam.Plugin.Settings -> Xamarin.Essentials.Preferences

- `CrossSettings.Current.GetValueOrDefault` is now `Preferences.Get`
- `CrossSettings.Current.AddOrUpdateValue` is now `Preferences.Set`
- `CrossSettings.Current.Remove` is now just `Preferences.Set("foo", string.Empty)`
- Refactored/cleaned up code as I went

* Xam.Plugins.Messaging -> Xamarin.Essentials.PhoneDialer

Current dilemma:
- No way to implement `CanMakePhoneCall`
- Only thing I can do is catch `FeatureNotSupportedException`

* Upgrade to Xamarin.Forms 3.0

- Only API change is that `Device.WinPhone` no longer exists
- Tested (briefly) on iOS, Android, and UWP

* Update to Xamarin.Essentials and convert to PackageRefernces

* Cleanup settings

* Add App Center SDK

* Only 1 reminder button on UWP

* Update nuget packages
Latest commit ea62429 Jul 5, 2018

README.md

Conference Mobile App

The Conference app is full of awesome and includes everything that you would expect from a spectacular conference application, but features tons of deep integration with:

  • Azure + Online/Offline Sync
  • Barcode Scanning
  • Calendar Integration
  • Maps & Navigation
  • Push Notifications
  • Phone Dialer
  • Wi-Fi configuration
  • URL Navigation (Universal Links + Google App Indexing)
  • A bunch of other great things

Shared code details

This app is around 15,000 lines of code. The iOS version contains 93% shared code, the Android version contains 90% shared code, the UWP has 99% shared code, and our Azure backend contains 23% shared code with the clients!:

VSTS & App Center Integration

With each push of code the Conference app was built with Visual Studio Team Services and App Center Build and deployed to be tested on a plethora of apps in App Center Test.

Build Status

  • iOS: Build status
  • Android: Build status

Getting Started

Mobile App

Open up src/Conference.sln, which contains the iOS, Android, and Windows project. Simply restore your NuGet packages and build the application. It will run out of the box and will work off of a sample backend that we have published.

Data Source

Out of the box the Conference Mobile app uses sample data provided by the Conference.DataStore.Mock. This is great for development, but you can also test against the test/development read-only Azure App Server Mobile Apps backend. Simply head to Conference.Client.Portable/ViewModel/ViewModelBase.cs.

Simply change:

public static void Init (bool mock = true)

to

public static void Init (bool mock = false)

Additional setup

Push Notifications

All of the code for Azure Notification Hubs has been integrated into the Conference application, you will just need to setup your Azure Notifcation Hub Keys and Google Keys. Please read through the startup guide and then fill in your keys in: Conference.Utils/Helpers/Constants.cs

Google Maps API key (Android)

There is a “Debug” key that you can use out of the box, or you can configure your own. For Android, you'll need to obtain a Google Maps API key: https://developer.xamarin.com/guides/android/platform_features/maps_and_location/maps/obtaining_a_google_maps_api_key/

Insert it in the Android project: ~/Properties/AndroidManifest.xml:

<application ...>
  ...
  <meta-data android:name="com.google.android.geo.API_KEY" android:value="GOOGLE_MAPS_API_KEY" />
  ...
</application>

Bing Maps API Key (UWP)

In App.xaml.cs in the Conference.UWP update Xamarin.FormsMaps.Init(string.Empty); with your API key from https://www.bingmapsportal.com/

Build your own Backend

This repo contains a full backend that you can deploy to your own Azure App Service Mobile App Backend.

About

The Conference mobile apps were handcrafted by Xamarins spread out all over the world.

Development:

Design:

Testing:

Many thanks to: