GithubHelp home page GithubHelp logo

sport's Introduction

Sport

This project is no longer actively maintained and the services are no longer running in Azure. All source code should still be applicable but you will need to stand up your own Azure App Services instance.

Sport is a Xamarin.Forms app initially built for Xamarin employees as a way to facilitate leaderboards for a few ping-pong tables and darts we have around the office. Athletes can join leagues, get ranked and challenge other athletes to move up the ladder.

Sport employs the Elo Rating System. Each new member of a league initially starts with a rating of 1200. Anyone can challenge anyone, above or below you in the ladder and you can have multiple challenges in play. The larger the delta between the two players will result in how significant your rating increases or decreases. Victor over an athlete with a much higher rating than yours and you'll see a nice bump in your rating.

As of 11/11/2016, Sport features 93.6% code share (3.3% iOS / 3.1% Android).

This is an example of an iOS athlete and an Android athlete conducting a challenge

Authenticate with GoogleSet an alias for your athlete profileOptionally enable push notificationsA list of stuff used in this app and a link to the source codeA list of leagues you are a member ofLeague details with at least one challenge (challenge cards are swipeable left and right)List of league members ordered by rankingThe result of a challenge

This project exercises the following platforms, frameworks or features:

  • Xamarin.iOS
  • Xamarin.Android
  • Xamarin.Forms
    • XAML
    • Bindings
    • Converters
    • Central Styles
    • Custom Renderers
    • Animations
    • IoC
    • Messaging Center
    • Custom Controls
    • Cross Plugins
    • XFGloss
  • Visual Studio Mobile Center Integration
  • Azure Mobile Services
    • C# backend
    • WebAPI
    • Entity Framework
    • Offline Sync
    • Notification Hubs
    • Authentication (Azure AD, Google)

This project employs a few patterns listed below:

  • Enforces a ViewModel-per-Page concept
    • all ContentPage classes enforce a generic BaseViewModel type
    • automatically set as the binding context
  • All tasks are proxied through a RunSafe method
    • verifies connectivity
    • gracefully handles and reports exceptions
  • Leagues are assigned a randomly selected themed color at runtime

Keys

  • Default keys have been provided to connect to an existing Azure instance
    • You will need to create your own app in Google Developer Console to generate a GCM Sender ID if you wish to test out push notifications
  • If you wish to stand up your own backend, you will need to replace the existing fields in Keys.cs file for HockeyApp App IDs.
  • To run the included UITest suite, you'll need to provide a test Google email address and password

Notes

  • You will need a valid Google account to log into the application
  • Parallax feature should be tested on a device - simulator will cause jitter
  • UITests no longer work due to Google's move to untestable UI - SFSafariViewController and CustomTabs UI is not queryable using UITest

Authentication

Sport employs Google OAuth2 authentication and exchanges the access_token from Google for an Azure authorization code using the SimpleAuth library written by James Clancey.

If you just want to run the sample, everything should be included in the project (keystore, ClientIDs, etc). If you want to integrate w/ your own Google ClientID's and Azure instance, here are the steps I followed:

Google now requires you to use CustomTabs to select the Google profile and authenticate using their Google Auth SDK. In the Google Console API, you need to generate an iOS App, Android App and a WebApp (for the backend Azure server). To get the Client ID of the Android App, you need to use keytool to generate a SHA1 based on the keystore you plan to sign it with.

Steps:
  • Generate a keystore using Visual Studio. Or you can use a generic one provided in Sport.Mobile.Droid/Resources/Security/androiddebugkey.keystore
    • alias: androiddebugkey
    • password: android
  • Create an Android App and Web App OAuth key in Google API Console
  • For the Web App, set the callback to your Azure website, for instance https://xamarin-sportv2.azurewebsites.net/.auth/login/google/callback
  • Replace the ClientIDs for Android and Azure in the Sport.Shared/Keys.cs
  • You will need to sign every build if you want to authenticate with Google. In Visual Studio for Mac, open Android project options > Build > Android Package Signing and complete the form so even your debug builds are signed.
    • If you are using Visual Studio 2017 on Windows, you will need to specify this data in the .csproj as there is no similar screen in VS to configure the auto-sign data. But if the build task exists in the .csproj, VS will honor that and sign.

Copyright and license

  • Code and documentation copyright 2017 Microsoft Corp. Code released under the MIT license

sport's People

Contributors

cartblanche avatar conceptdev avatar flyingdeveloper avatar prashantvc avatar rob-derosa avatar stephanedelcroix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sport's Issues

Random bugs

I love the code of this app, but there are a couple of bugs that need noting.

Azure AD does not resolve the profile email and if correctly, I needed to drill into _identity Claims and find the correct values, not big, but stops the app at the alias screen with an unhandled exception.

To post new Leagues from the app using InsertAsync you need to add Index to LeagueDto (service project) and edit the controller LeagueToDto method to use it.

There may be more as I work my way through, but someone might be having issues and this might help them.

[REQUEST] App Service Stopped

Hello ,

Can anybody update the app service .. This is a perfect example of Xamarin and Azure its a shame not to work .

authenticate 401 error: deleted_client

I need help for deploy backend service, someone can give me a hand?

Google
https://console.developers.google.com

API MANAGER
1-Create new project
2- Select Credentials and create:
OAuth client ID
Application type: Web Application
Authorized JavaScript origins: https://testsport.azurewebsites.net
Authorized redirect URIs: https://testsport.net/.auth/login/google

For use with requests from

Portal Azure
1-Create: Web+Mobile -> Mobile APP

After select Mobile App, Features Authentication / Authorization
App Service Authentication: On
Action to take when request is not authenticated: Log in with Google
Google -> configure
paste Client Id & Client Secret

In my table:
Authenticate 401 that's an error
Errpr: deleted_client
the OAuth client was deleted

Simple Auth OnActivityResult

I think this is a SimpleAuth problem, but posting here to see if Xamarin affects the result. We have been able to get this solution to work for all other devices (~5 device types) tested, except for the following:

Running on Motorola Moto Z Force Droid XT1650M, Android 7.0.

Here is the stacktrace:

[0:] System.Exception: Status{statusCode=DEVELOPER_ERROR, resolution=null} at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <d18287e1d683419a8ec3216fd78947b9>:0 at SimpleAuth.OAuthApi+<PerformAuthenticate>d__32.MoveNext () [0x002f9] in <6b4ec8f4a0e04fa5b518dfa21aa87107>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <d18287e1d683419a8ec3216fd78947b9>:0 at SimpleAuth.AuthenticatedApi+<Authenticate>d__15.MoveNext () [0x000a9] in <6b4ec8f4a0e04fa5b518dfa21aa87107>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <d18287e1d683419a8ec3216fd78947b9>:0 at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <d18287e1d683419a8ec3216fd78947b9>:0 at Sport.Mobile.Shared.AuthenticationViewModel+<AuthenticateWithGoogle>d__9.MoveNext () [0x000ab] in Sport.Mobile.Shared\ViewModels\AuthenticationViewModel.cs:134

AuthenticationViewModel:134 is in bold below

			var scopes = new[]
			{
				"https://www.googleapis.com/auth/userinfo.email",
				"https://www.googleapis.com/auth/userinfo.profile",
			};
			api = new GoogleApi("google", Keys.GoogleClientId)
			{
				ServerClientId = Keys.GoogleServerID,
				Scopes = scopes,
			};
			account = await api.Authenticate();
			var oauth = account as OAuthAccount;
			var token = account.UserData["ServerToken"];

			if (account != null)
			{
				var jObject = JObject.Parse($"{{'id_token':'{oauth.IdToken}', 'authorization_code':'{token}'}}");
				var usr = await AzureService.Instance.Client.LoginAsync(MobileServiceAuthenticationProvider.Google, jObject);
				return usr;
			}

Have been able to trace into the execution and am seeing this behavior:

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);
        SimpleAuth.Native.OnActivityResult(requestCode, resultCode, data);
    }

the parameter values are as follows:
requestCode = 41221
resultCode = Android.App.Result.Canceled
data = {Intent { (has extras) }}

It seems like the resultCode returns Canceled in this case.

Where else to look?

iOS Build error while Use VS2015 with macOS build host

1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(696,3): error : Native linking error: warning: directory not found for option '-F./MobileCenterFrameworks'
1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(696,3): error : Native linking error: framework not found CrashReporter
1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(696,3): warning : References to 'sqlite3' might require additional -framework=XXX or -lXXX instructions to the native linker
1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(696,3): warning : References to 'sqlite3' might require additional -framework=XXX or -lXXX instructions to the native linker
1>C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(696,3): error : Native linking failed. Please review the build log.

mdf file not in the package

VS 2017 asked me for the location of aspnet-Sport.Service-1425071034508.mdf, now obviously I don't have that as it isn't in the package.
I am hoping you are willing to share or at the very least give me a great workaround for this issue, it would be a great help.

Thanks, Shaine

How to have parameters like Navigation,id to BaseContentPage

I have few parameters like Navigation,id, name,somefunction() etc ..to pass for MyPageViewModel .

  1. But for now I am stuck(more like doubt) at passing Navigation as parameter. (added directly in basecontentpage.... didn't check the functionality yet)
  2. Also I need to pass id,name etc.. which I think I can do
  3. I also have a method in MyPageViewModel to be passed to BaseContentPage.

I am trying something like below

public class BaseContentPage <T> : MainContentPage where T : BaseViewModel 
    {
        protected object[] args;
        protected T viewModel;

        public T ViewModel => viewModel ?? (viewModel = Activator.CreateInstance(typeof(T), new object[] { Navigation,args }) as T);

        public BaseContentPage (params object[] args)
        {
            this.args = args;

            BindingContext = ViewModel;
        }

        ~BaseContentPage ()
        {
            viewModel = null;
            args = null;
        }
    }

Any help in above mentioned problems would be much appreciated

XAML previewing issue in MatchResultsFormPage

From 51134, a PR was opened for one of the pages not working, but it appears that MatchResultsFormPage has some sort of NRE (starting around line 33, at least based on what the error says) that prevents the Forms previewer from working.

screen shot 2017-05-22 at 2 30 18 pm

Q: Where is there protection\validation against altering the data incorrectly?

Am I right in thinking that there is no server-side validation of things like:

  • Changing the Membership.CurrentRating
  • Changing the Membership.League
    etc.

So if I take the client code and modify it to allow me to change these things I could bump my score up? (I appreciate that this would be very immoral and/or pathetic, but you get the point :) ).

Or am I missing somewhere these are checked?

Debug Signing in Visual Studio 2017 Preview

I know this isn't maintained any longer, but it might help someone who is having a similar issue to me in the future.
If I build this project in VS 2015/2017 it honours the signing settings in the project file, in my case c:\Users\dev.android\debug.keystore, which is great, and auth works perfectly.
I decided to test this in the new Preview release of VS 2017 15.4.0 Preview 2, and it has the strangest behaviour. The compiler will switch randomly at build time between my debug.keystore, the project debug.keystore, and the default Xamarin debug.keystore. I only noticed because I was bored and watching the compiler this morning.

Executing: C:\Program Files\Java\jdk1.8.0_121\bin\jarsigner.exe -keystore "C:\Users\dev\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storepass android -keypass android -digestalg SHA1 -sigalg md5withRSA -signedjar "C:\Users\dev\AppData\Local\Temp\5i2m1e0q.tki\unaligned.jar" "C:\Users\dev\AppData\Local\Temp\5i2m1e0q.tki\unsigned.apk" androiddebugkey

I only mention this because I did not know that Xamarin had it's own debug.keystore, there is no way this is listed in the projects settings anywhere. It's something to be wary of when you are putting your store fingerprints in Firebase.

Thanks

Problem with the Build Solution

I have recently downloaded VS 2017 Community with the Xamarin SDK etc.. on my Windows 10 1703
Attempted to run the Sports sample application.
Cloned today's Github code
Opened Sport.Mobile Solution in VS'17
Clicked 'Build Solution' and it fails with errors which include this:

Severity Code Description Project File Line Suppression State
Error Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'. Sport.Mobile.Droid C:\Xamarin\Testing\Sport\Sport.Mobile.Droid\obj\Debug_library_projects_\Xamarin.Android.Support.v7.AppCompat\library_project_imports\res\values-v24\values-v24.xml 2

Thought perhaps the solution required some updates
Opened Manage NuGet for Solution and noticed 21 Updates
Started the update process.. and received this error message

Severity Code Description Project File Line Suppression State
Error Unable to find a version of 'Xamarin.Android.Support.Design' that is compatible with 'Xamarin.Forms 2.3.4.247 constraint: Xamarin.Android.Support.Design (= 23.3.0)'. 0

Oh well.

Getting an error CREATEMULTIDEXMAINDEXCLASSLIST ?

I am trying to build this application but I am getting an error as shown below

Severity Code Description Project File Line Suppression State Error Expecting class path separator ';' before '\Android\android-sdk\build-tools\23.0.3\lib\shrinkedAndroid.jar' in argument number 8 Sport.Mobile.Droid E:\Downloaded Examples\Sport-master\Sport.Mobile.Droid\CREATEMULTIDEXMAINDEXCLASSLIST'

Can you provide any solution for this?

DB dump?

Would it be possible to get a DB dump?

Authentication Controller in Service Project

	public string UserId
	{
		get
		{
			if (_userId == null) { }
			{
				var claimsUser = (ClaimsPrincipal)User;
				var id = claimsUser?.FindFirst(ClaimTypes.NameIdentifier);
				if(id != null)
					_userId = id.Value;
			}

			return _userId;
		}
	}

There seems to be an extra { } on the if line - do you agree?

Expired API key

The latest version available in the app stores uses an expired API key for Google authentication.

Wanted, documentation on how the app was designed.

This is a beautiful app, that also is coded very well.

I'm new to Xamarin forms, and seeing many approaches that weren't covered in Xamarin University.

There is an interesting use of many technologies, and each one is worth looking at.

Native Authentication

Hi Team,

Not sure if this is the right place to bring this up. Is there a reason you do not have any samples that would use Native authentication?

I am new to Xamarin. And I do think that if I have an android phone, majority of time a user will have a google account, why would you want user to enter credentials again?

Can you not just use existing identity already on the phone? If so can you at-least have a sample or implement it in your samples?

Thank you

XS unable to build Sport due to Membershipids

public List<string> MembershipIds { get; set; } = new List<string>();

Fresh install of XS and targeting Android this new List<string>() above gives
Invalid token= in class, struct or interface member declaration

Unhandled Exception on LeagueDetailsPage (resolution)

As I build with VS 2017 15.4.0 Pre 2.0 I am having some random issues, here is a solution to one of them. When you click on the League to go to the Detail page (either to join or just view) the app crashes with an Unhandled Exception, the issue is with the CarouselView, well the data source. If you get this issue then the solution is easy enough, change LeagueDetailsViewModel (line 105, 106) to:

if(OngoingChallengeViewModels == null)
    OngoingChallengeViewModels = new ObservableCollection<ChallengeDetailsViewModel>() { **new ChallengeDetailsViewModel()** };

Solves the issue, and doesn't seem to have any major side effects.

ChallengeHistoryPage.xaml event expected

In visual studio with Resharper I get this errors all the time:

<ListView x:Name="list" CachingStrategy="RecycleElement" ItemsSource="{Binding Challenges}" BackgroundColor="White" RowHeight="86" SeparatorColor="{StaticResource grayPrimary}"

CachingStrategy give an error that "event" is expected

Is this ok?

Does not compile with Visual Studio 2015 and Xamarin 4.0.4.4

I get a bunch of error messages:

2>C:\Users\romeok\Desktop\Xamarin\Sport-master\Sport.iOS\Sport.iOS.App.xaml : error : Value cannot be null.
2>C:\Users\romeok\Desktop\Xamarin\Sport-master\Sport.iOS\Sport.iOS.App.xaml : error : Parameter name: method

In various .xaml files.

Opening the .xaml file in editor - IntelliSense does not help to find where the error is.

No resource found for 'ic_successstatus'

When building the solution after a clean download (zip), I'm seeing:

Severity Code Description Project File Line Suppression State
Error CS0117 'Resource.Drawable' does not contain a definition for 'ic_successstatus' Sport.Mobile.Droid C:\Delete\Sport\Sport.Mobile.Droid\Providers\PushNotifications.cs 94 Active

Environment: latest VS2017 stable + Xamarin workload, as of 15.5.6

Microsoft Visual Studio Enterprise 2017 
Version 15.5.6
VisualStudio.15.Release/15.5.6+27130.2027
Microsoft .NET Framework
Version 4.7.02556

Installed Version: Enterprise

Visual Basic 2017   00369-60000-00001-AA605
Microsoft Visual Basic 2017

Visual C# 2017   00369-60000-00001-AA605
Microsoft Visual C# 2017

Visual F# 4.1   00369-60000-00001-AA605
Microsoft Visual F# 4.1

Application Insights Tools for Visual Studio Package   8.10.01106.1
Application Insights Tools for Visual Studio

ASP.NET and Web Tools 2017   15.0.31127.0
ASP.NET and Web Tools 2017

ASP.NET Core Razor Language Services   1.0
Provides languages services for ASP.NET Core Razor.

Azure App Service Tools v3.0.0   15.0.31106.0
Azure App Service Tools v3.0.0

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Extensibility Tools   1.10.198
Contains numerous tools and helpers that makes it easier than ever to build Visual Studio extensions.

JavaScript Language Service   2.0
JavaScript Language Service

Merq   1.1.17-rc (cba4571)
Command Bus, Event Stream and Async Manager for Visual Studio extensions.

Microsoft Continuous Delivery Tools for Visual Studio   0.3
Simplifying the configuration of continuous build integration and continuous build delivery from within the Visual Studio IDE.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Mono Debugging for Visual Studio   4.8.4-pre (3fe64e3)
Support for debugging Mono processes with Visual Studio.

NuGet Package Manager   4.5.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

Project File Tools   1.0.1
Provides Intellisense and other tooling for XML based project files such as .csproj and .vbproj files.

Project System Tools   1.0
Tools for working with C#, VisualBasic, and F# projects.

SQL Server Data Tools   15.1.61710.120
Microsoft SQL Server Data Tools

TestDriven.Net   4.1-Alpha
Zero friction testing for Visual Studio

TypeScript Tools   15.5.11025.1
TypeScript Tools for Microsoft Visual Studio

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

Xamarin   4.8.0.760 (fc93f3f5b)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   4.8.188 (c5813fa34)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin.Android SDK   8.1.5.0 (HEAD/75f8c6838)
Xamarin.Android Reference Assemblies and MSBuild support.

Xamarin.iOS and Xamarin.Mac SDK   11.6.1.4 (db807ec)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

How to build notes

Just wondering if there is any tutorial/notes/wiki on how to build this project?

Push notifications in iOS

It seems push notifications are not working in iOS. I've noticed that in the Android project, App.CurrentAthlete.DeviceToken is set to a value in PushNotifications.cs class PushHandlerService method OnRegistered. But in the iOS project there is no equivalent and so I think that App.CurrentAthlete.DeviceToken stays uninitialized on iOS and therefore all the push notification code gets bypassed. Could you please confirm how to initialize App.CurrentAthlete.DeviceToken in iOS and/or update this solution?

DDL

any chance you are willing to share the schema of aspnet-Sport.Service-1425071034508.mdf?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.