Git Product home page Git Product logo

santa-talk's Introduction

Santa Talk Challenge

Extend the intelligent, serverless Santa Talk Xamarin application and get some cool swag! See this article for more details!

The Challenge

The Santa Talk app in this repo allows you to send a note to Santa, and then find out whether he'll deliver a gift to your house.

It's built using Xamarin.Forms, Microsoft Cognitive Services Text Analytics, and Azure Functions. Read this article, and this blog post, to see how everything fits together.

Your challenge is to extend the app in some way.

Some quick things that come to mind are:

  • Add in the ability to take a photo, and use Cognitive Services Computer Vision to have Santa figure out if you've been naughty or nice.
  • Save the responses from Santa on device and display them with a CarouselView.
  • Redesign the user interface using Shell.
  • Track the user's location when they make a request, and make annotations on a map where the naughty and nice developers live.
  • Connect to Azure Logic Apps to send a Tweet whenever Santa gets a "letter".

Get creative! There are no right or wrong answers!

When you've thought of something, clone or fork this repo, make your changes, and then put in a pull request.

Along with that, let us know the features you added/replaced/made better. What you thought of the Azure services and Xamarin products you used. And what went well and what didn't.

Get Up and Running

To get you up and running as quickly as possible, here is a way to get Text Analytics and Functions to work without any cost to you!

Creating the Text Analytics Service

  1. If you don't already have one, sign up for a free Azure subscription here.
  2. Once done, open up the Azure portal: https://portal.azure.com - and sign in.
  3. Then open up the Azure Cloud Shell. You can do that by clicking on the button that looks like the command prompt. Azure portal cloud shell screen shot
  4. Once the Cloud Shell opens, you'll want to do two things. Create a Resource Group and then the Text Analytics service. So go ahead and think of names for both right now ... you'll need them for the next step.
  5. Enter the following command in the Cloud Shell
az group create -l westus2 -g YOUR-RESOURCE-GROUP-NAME-GOES-HERE
  1. Once the Resource Group is created, then you can create the Text Analytics service. Enter the following command in the Cloud Shell.
az cognitiveservices account create \
--kind TextAnalytics \
--location westus2 \
--sku F0 \
--resource-group YOUR-RESOURCE-GROUP-NAME-GOES-HERE \
--name YOUR-SERVICE-NAME-GOES-HERE

That's it! What's neat is that the --sku F0 indicates the free tier of Text Analytics.

Then you'll be able to browse the Text Analytics service you just created. Make note of the Endpoint url and the Key name.

Text analytics endpoint url and key screenshot

Running Azure Functions Locally

You'll also want to get the Azure Functions runtime locally. So you can run everything from your machine without having to deploy it to Azure. (Although if you want to deploy to Azure - by all means do so!)

Follow the documentation to get everything installed for the 2.x version of Functions.

What I like to do is run my Xamarin app from Visual Studio, then run my Functions app from VS Code.

So in VS Code, open up the Functions folder, and then if VS Code prompts you, allow it to optimize the project to run for VS Code.

You'll also need to do one last thing. And that's create a local.settings.json file for the Functions project.

At the same level as the *csproj file for the Functions project add a file named local.settings.json and add to it the following contents.

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "APIKey": "YOUR KEY WILL GO HERE",
    "APIEndpoint": "https://westus2.api.cognitive.microsoft.com/"
  }
}

Make sure you replace the APIKey and APIEndpoint with the values you found from your Text Analytics service in the Azure portal.

And if you're really digging the Serverless Lifestyle - here are several FREE courses on creating serverless apps with Azure Functions!

Make Some Changes!

That should be it! You should now be ready to go and make some changes to the app... we can't wait to see what you come up with!

santa-talk's People

Contributors

codemillmatt avatar

Watchers

 avatar

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.