Git Product home page Git Product logo

theperfectturkey's Introduction

Challenge 1: The Perfect Turkey

Solution

This is a .NET Core function App.

Try it yourself

Invoke-RestMethod https://theperfectturkey.azurewebsites.net/api/CookThePerfectTurkey/?weight=8

or open the link in your browser...

How to run this

You can run this using either Visual Studio, Visual Studio Code or your C# IDE of choice...

Clone the repo, open the *.sln file and choose build. Then you can run it...(F5 in Visual Studio). If you want, you can also publish it to an Azure Function App, wich I did, check the link above.

The Challenge

This challenge is part of the Seasons of serverless: https://github.com/microsoft/Seasons-of-Serverless

original challenge (source)

Your Chefs: Jen Looper, Cloud Advocate (Microsoft) and Darren Butler and Eric Yu, Microsoft Student Ambassadors

This week's featured region: North America

Here in North America, many families believe that the holidays are simply not complete without a proper turkey on the table. Juicy meat, crispy skin, mouth-watering gravy: a good turkey has it all! The only problem is these birds can be hard to cook so they don't turn out dry and tough. The secret? A proper brine!

Here's a sample recipe for that important process in the production of a perfect turkey.

There's a science to a great turkey brine, but we, as software engineers, are both absent-minded and need an automated way to remind ourselves each year of the proper percentages of ingredients of a good brine, based on the weight of the turkey.

According to Chef Darren's calculations, the brine equation and roast recommendation looks like this:

Brine Instructions

  • Salt (in cups) = 0.05 * lbs of turkey
  • Water (gallons) = 0.66 * lbs of turkey
  • Brown sugar (cups) = 0.13 * lbs of turkey
  • Shallots = 0.2 * lbs of turkey
  • Cloves of garlic = 0.4 * lbs of turkey
  • Whole peppercorns (tablespoons) = 0.13 * lbs of turkey
  • Dried juniper berries (tablespoons) = 0.13 * lbs of turkey
  • Fresh rosemary (tablespoons) = 0.13 * lbs of turkey
  • Thyme (tablespoons) = 0.06 * lbs of turkey
  • Brine time (in hours) = 2.4 * lbs of turkey
  • Roast time (in minutes) = 15 * lbs of turkey

Your challenge ๐Ÿฝ

Convert this brine equation and cook time to an automated process so that when you input a turkey's weight, you will be given the amount of water, sugar, salt, and spices to add and a recommendation on how long to cook it.

Let's assume you have available a large cooler for your turkey and its brine and that it's defrosted.

Our chefs recommends trying an Azure Function to generate your recipe, and encourages you to share your own turkey secrets by adding a link to your solution in the Issues tab!

Resources/Tools Used ๐Ÿš€

Next Steps ๐Ÿƒ

Learn more about serverless!

โœ… Serverless Free Courses

Important Resources โญ๏ธ

โœ… Azure Functions documentation

โœ… Azure SDK for JavaScript Documentation

โœ… Create your first function using Visual Studio Code

โœ… Free E-Book - Azure Serverless Computing Cookbook, Second Edition

Ready to submit a solution to this challenge? Here's how ๐Ÿš€

Open an issue in this repo, with a link to your challenge and a brief explanation of how you solved it. We will take a look, approve it if appropriate, and a tag with the appropriate week. If your solution is picked as a weekly standout solution, we'll send you a little prize!

theperfectturkey's People

Contributors

chrispetit avatar

Watchers

James Cloos avatar  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.