├── .gitignore ├── week-1 ├── challenge-6 │ ├── screenshot.png │ └── README.md ├── challenge-3 │ └── README.md ├── challenge-1 │ └── README.md ├── challenge-4 │ └── README.md ├── challenge-5 │ └── README.md ├── challenge-7 │ └── README.md └── challenge-2 │ └── README.md ├── CODE_OF_CONDUCT.md ├── .github ├── ISSUE_TEMPLATE │ ├── challenge-solution-submission.md │ └── bug_report.md └── PULL_REQUEST_TEMPLATE │ └── pull_request_template.md ├── .all-contributorsrc ├── LICENSE ├── week-3 ├── challenge-15 │ └── README.md └── challenge-16 │ └── README.md ├── CONTRIBUTING.md ├── SECURITY.md ├── week-2 ├── challenge-10 │ └── README.md ├── challenge-9 │ └── README.md └── challenge-8 │ └── README.md ├── RESOURCES.md ├── README.md └── CONTRIBUTORS.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /week-1/challenge-6/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/25-days-of-serverless/main/week-1/challenge-6/screenshot.png -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns 10 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/challenge-solution-submission.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Challenge Solution Submission 3 | about: Create an issue to submit your solution to a challenge 4 | title: "[CHALLENGE SUBMISSION] " 5 | labels: challenge-submission 6 | assignees: '' 7 | 8 | --- 9 | 10 | Please provide the following information for your submission: 11 | 12 | ### What is your name? (First, Last) 13 | 14 | ### Where is your GitHub Repo ?(With your challenge solution) 15 | 16 | ### What Challenge is this for? (Challenge number between 1 and 25) 17 | 18 | ### (Optional) Anything else we should know? e.g., language used, location, blog post? 19 | -------------------------------------------------------------------------------- /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | "README.md" 4 | ], 5 | "imageSize": 100, 6 | "commit": false, 7 | "contributors": [ 8 | { 9 | "login": "fisica3", 10 | "name": "Ernesto Cárdenas", 11 | "avatar_url": "https://avatars0.githubusercontent.com/u/1998996?v=4", 12 | "profile": "http://www.consultorinternet.com", 13 | "contributions": [ 14 | "code" 15 | ] 16 | } 17 | ], 18 | "contributorsPerLine": 7, 19 | "projectName": "25-days-of-serverless", 20 | "projectOwner": "microsoft", 21 | "repoType": "github", 22 | "repoHost": "https://github.com", 23 | "skipCi": true 24 | } 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Versions (please complete the following information):** 11 | 12 | - OS: [e.g. mac] 13 | 14 | **Challenge** 15 | 16 | - Week: [e.g. 1, 2, 3, 4] 17 | - Challenge: [e.g. 1, 2, ... , 25] 18 | 19 | **Describe the bug** 20 | A clear and concise description of what the bug is. 21 | 22 | **To Reproduce** 23 | Steps to reproduce the behavior: 24 | 25 | 1. Go to '...' 26 | 2. Click on '....' 27 | 3. See error 28 | 29 | **Expected behavior** 30 | A clear and concise description of what you expected to happen. 31 | 32 | **Screenshots** 33 | If applicable, add screenshots to help explain your problem. 34 | 35 | **Additional context** 36 | Add any other context about the problem here. 37 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/pull_request_template.md: -------------------------------------------------------------------------------- 1 | If you'd like to submit a Repo to the 25 days of Serverless, fill out the following template: 2 | 3 | - Title: What you'd like your sample to be called. 4 | ________ 5 | 6 | - Description: A short block of text (~100 characters max) explaining what your sample does. 7 | ________ 8 | 9 | - Template: The raw path to the ARM template which deploys the application. eg https://raw.githubusercontent.com/anthonychu/azure-functions-openalpr/master/azuredeploy.json For more information, see the [README](https://github.com/Azure/FunctionLibrary/blob/master/README.md). 10 | ________ 11 | 12 | - Repository: The URL of a public git repository. 13 | ________ 14 | 15 | - Language (optional): The language your code is written in (Functions only.) 16 | ________ 17 | 18 | - Technology (optional): Whether your app is a Function App or a Logic App 19 | ________ 20 | 21 | - Solution Area (optional): A broad level categorization of what type of solution you've built (IoT, ML, Data Processing, ...) 22 | ________ 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Microsoft Corporation. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE 22 | -------------------------------------------------------------------------------- /week-1/challenge-3/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 3: Webhooks 2 | 3 | ![Webhooks](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-3_zj98pl.jpg) 4 | 5 | ## Secret Santa's Furry Friends 6 | 7 | 'Tis the season for gift giving! Here at Microsoft HQ in Redmond, we're excited for our annual Secret Santa gift swap! Each employee who chooses to participate is assigned another coworker to give a gift to. Rather than put a price limit on gifts, though, Satya has decided that this year everyone is just going to send their favorite cute animal picture. To make sure people can't easily figure out who their Secret Santa is, he wants to make sure that all of the photos are stored in the same format (`png`) and are made available from a single database. 8 | 9 | For this challenge, create a web service that gets called everytime a commit or push is made to a Github repository. If the commit has a file ending with `.png`, your service should take the URL to the image from Github and store it in whatever database you like. 10 | 11 | ## Resources/Tools Used 🚀 12 | 13 | - **[Visual Studio](https://visualstudio.microsoft.com?WT.mc_id=25daysofserverless-github-cxa)** 14 | - **[Postman](https://www.getpostman.com/downloads/)** 15 | - **[Get started with webhooks using Github](https://codeburst.io/whats-a-webhook-1827b07a3ffa)** 16 | - **[Webhook tester](http://webhook.site/)** 17 | 18 | ## Next Steps 🏃 19 | 20 | Learn more about serverless with a Free Training! 21 | 22 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 23 | ## Important Resources ⭐️ 24 | 25 | Here include all the important features related to the challenges that are integrated into microsoft.docs. Ex.: 26 | 27 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 28 | - ✅ **[Create your first Function app using Visual Studio](https://docs.microsoft.com/azure/azure-functions/functions-develop-vs?WT.mc_id=25daysofserverless-github-cxa)** 29 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 30 | 31 | ## Questions? Comments? ❓ 32 | 33 | If you have any doubts about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. As soon as possible we will be answering any questions/doubts that you may have! 34 | -------------------------------------------------------------------------------- /week-1/challenge-1/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 1: A Basic Function 2 | 3 | ![Spin the Dreidel!](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-1_lriuc2.jpg) 4 | 5 | ## Serverless Dreidel! 6 | 7 | 🎶 "I had a little dreidel 8 | 9 | I made it out of sand 10 | 11 | And when I tried to spin it 12 | 13 | It crumbled in my hand!" 🎶 14 | 15 | Your first stop is Tel Aviv, Israel, where everybody is concerned about Hanukkah! Not only have all the dreidels been stolen, but so have all of the servers that could replicate spinning a top! 16 | 17 | Have no fear, though: you have the capability to spin not only dreidels, but to spin up serverless applications that can spin a dreidel just as well as you can! 18 | 19 | Your task for today: create a REST API endpoint that spins a dreidel and randomly returns נ (Nun), ג (Gimmel), ה (Hay), or ש (Shin). This sounds like a great opportunity to use a serverless function to create an endpoint that any application can call! 20 | 21 | ![dreidel spinning](https://media.giphy.com/media/3oxHQDYNRtgTKiYEBG/giphy.gif) 22 | 23 | ## Resources/Tools Used 🚀 24 | 25 | A simple Function app should do it for this challenge. Here's how to get started creating on in Azure: 26 | 27 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)** 28 | - **[Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 29 | 30 | ## Next Steps 🏃 31 | 32 | Learn more about serverless technologies with free training! 33 | 34 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 35 | 36 | ## More Resources ⭐️ 37 | 38 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 39 | - ✅ **[Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa)** 40 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa)** 41 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 42 | 43 | ## Questions? Comments? 44 | 45 | If you have any questions about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. Make sure to mention which challenge is problematic. We'll get back to you soon! 46 | -------------------------------------------------------------------------------- /week-1/challenge-4/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 4: API Endpoint 2 | 3 | ![Ezra and his dinner dilemma](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-4_shxtjs.jpg) 4 | 5 | Here in Brooklyn, NY, Ezra wants to have a big holiday potluck before everyone travels home for the holidays! His tiny apartment can barely fit everyone in, but it's a cozy way to celebrate with friends. He usually uses an online spreadsheet to coordinate who's bringing what, to make sure there's varieties of food to meet all dietary needs. 6 | 7 | But the grinch stole all the servers! So Ezra can't do that this year. 8 | 9 | Build an HTTP API that lets Ezra's friends add food dishes they want to bring to the potluck, change or remove them if they need to (plans change!), and see a list of what everybody's committed to bring. 10 | 11 | ## Resources/Tools Used 🚀 12 | 13 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-gllemos)** 14 | - **[Node.js](https://nodejs.org/en/)** 15 | - **[Postman](https://www.getpostman.com/)** 16 | - **[MongoDB Community Server](https://www.mongodb.com/download-center/community)** 17 | - **[MongoDB Compass GUI](https://www.mongodb.com/download-center/compass)** 18 | - **[Azure Functions for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 19 | - **[Azure Functions Core Tools](https://docs.microsoft.com/azure/azure-functions/functions-run-local?WT.mc_id=25daysofserverless-github-cxa)** 20 | 21 | ## Next Steps 🏃 22 | 23 | Learn more about serverless with a Free Training! 24 | 25 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 26 | 27 | ## Important Resources ⭐️ 28 | 29 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 30 | - ✅ **[Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa)** 31 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa)** 32 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 33 | 34 | ## Questions? Comments? ❓ 35 | 36 | If you have any questions about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. We'll get back to you soon! 37 | -------------------------------------------------------------------------------- /week-1/challenge-5/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 5: Smart Apps 2 | 3 | ![A letter writing challenge](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-5_ervxzc.jpg) 4 | 5 | ## Resources/Tools Used 🚀 6 | 7 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)** 8 | - **[Postman](https://www.getpostman.com/downloads/)** 9 | - **[Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 10 | 11 | ## Naughty or Nice 12 | 13 | It's freezing cold up here on the North Pole, which normally makes it the ideal place to host a server farm. But today Santa's elves are freaking out! 14 | 15 | Children all over the world write Santa letters to say what they want for Christmas. The elves had scripts running locally on the server farm to process the letters but without the missing servers this is no longer possible. Santa could translate manually, but he won't be able to get through all the letters in time! 16 | 17 | Write a serverless application that helps Santa figure out if a given child is being naughty or nice based on what they've said. You'll likely need to detect the language of the correspondence, translate it, and then perform sentiment analysis to determine whether it's naughty or nice. 18 | 19 | Have a look at the API https://aka.ms/holiday-wishes to find a sample of messages to validate whether your solution will work for Santa and his elves. 20 | 21 | ## Next Steps 🏃 22 | 23 | Learn more about serverless with a Free Training! 24 | 25 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 26 | 27 | ## Important Resources ⭐️ 28 | 29 | Here include all the important features related to the challenges that are integrated into microsoft.docs. Ex.: 30 | 31 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 32 | - ✅ **[Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa)** 33 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa)** 34 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 35 | 36 | ## Questions? Comments? ❓ 37 | 38 | If you have any questions about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. We'll get back to you soon! 39 | -------------------------------------------------------------------------------- /week-3/challenge-15/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 15: Cognitive Services with Computer Vision 2 | 3 | ![Mrs. Claus](https://res.cloudinary.com/jen-looper/image/upload/v1575488631/images/challenge-15_ohenlt.jpg) 4 | 5 | Here in Munich, Germany, Felix is excited to go to a traditional _Weihnachtsmarkt_, a holiday market! He keeps texting photos to his friend Anna about all the fun things he's doing: drinking hot mulled _Glühwein_, going ice skating, shopping for presents. 6 | But Anna can't find her glasses, and can't clearly see what's in the pictures! 7 | 8 | For today's challenge, Anna needs a service that, given an image, describe the image and gives some keywords about what it contains. 9 | 10 | 11 | ## Resources/Tools used 🚀 12 | 13 | - **[UNSPLASH](https://unsplash.com)** 14 | - **[Cognitive Services, Computer Vision](https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/home?WT.mc_id=25daysofserverless-github-cxa)** 15 | - **[Cognitive Services API](https://westcentralus.dev.cognitive.microsoft.com/docs/services/5adf991815e1060e6355ad44/operations/56f91f2e778daf14a499e1fe?WT.mc_id=25daysofserverless-github-cxa)** 16 | - **[Quickstart: Computer Vision client library for Java](https://docs.microsoft.com/azure/cognitive-services/computer-vision/quickstarts-sdk/java-sdk?WT.mc_id=25daysofserverless-github-cxa)** 17 | - **[Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 18 | 19 | 20 | ## Getting Started 🔥 21 | 22 | This challenge might continue another one. Feel free to extend for example [challenge 7](https://25daysofserverless.com/calendar/7) of the first week. 23 | 24 | 25 | ## Other Important Resources ⭐️ 26 | 27 | - ✅ **[Bing Image Search API](https://azure.microsoft.com/en-us/services/cognitive-services/bing-image-search-api?WT.mc_id=25daysofserverless-github-cxa)** 28 | - ✅ **[Azure Functions Documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 29 | - ✅ **[Azure SDK for Java Documentation](https://docs.microsoft.com/en-us/azure/java/?WT.mc_id=25daysofserverless-github-cxa)** 30 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-java-maven?WT.mc_id=25daysofserverless-github-cxa)** 31 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 32 | 33 | ## Questions? Comments? ❓ 34 | 35 | If you have any doubts about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. As soon as possible we will be answering any questions/doubts that you may have! 36 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | > Parts of this section are replicated in the [README](README.md) for convenience 4 | 5 | The #25DaysOfServerless challenge will happen between Dec 1 and Dec 25, 2019. Visit the [website](https://aka.ms/25daysofserverless) for details and review the [README](README.md) for guidance. Be among the first contributors and solve the challenge within 24 hours of publishing. Then submit your solution to this repo, as described below. 6 | 7 | ## Contributing 🚩 8 | 9 | This project welcomes contributions and suggestions. Most contributions require you to agree to a 10 | Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us 11 | the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. 12 | 13 | When you submit a pull request, a CLA bot will automatically determine whether you need to provide 14 | a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions 15 | provided by the bot. You will only need to do this once across all repos using our CLA. 16 | 17 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 18 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or 19 | contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. 20 |
21 | 22 | ## Submit your solutions 🔥 23 | 24 | 🚨 **Submission Process Change:** Starting Dec 3, 2019 🚨 25 | 26 | > _We've been blown away at the interest and engagement around this challenge! The previous process used Pull Requests. The new process uses Issues. We hope this change makes it easier for you to send us your amazing work, and for us to highlight your contributions. New PRs after Dec 4, 2019 may not be processed._ 27 | 28 | 1. Create a Github repo with your solution for that challenge 29 | 2. Fill in the details for the [Challenge Solution Submission](https://github.com/microsoft/25-days-of-serverless/issues/new?assignees=&labels=challenge-submission&template=challenge-solution-submission.md&title=%5BCHALLENGE+SUBMISSION%5D+) issue and submit. 30 | 31 | Have questions or comments? Submit a regular [ISSUE](https://github.com/microsoft/25-days-of-serverless/issues/new/choose) here with details. 32 | 33 | 34 | ## Submit your bug reports 🐞 35 | 36 | * Help us improve by submitting a [BUG REPORT]() for the relevant issue. 37 | * Please review our [Security Policy](https://github.com/microsoft/25-days-of-serverless/security/policy) if you want to report a vulnerability. 38 | 39 | ## Submit your questions or comments 🙌🏼 40 | 41 | * Have something you want to ask or share? Submit a regular [ISSUE](https://github.com/microsoft/25-days-of-serverless/issues/new/choose) to our repository. -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /week-1/challenge-7/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 7: API Endpoint - Picture Challenge 2 | 3 | ![A Virtual Bonfire](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-7_kzcrtm.jpg) 4 | 5 | December 7 marks the first day of the official Christmas season in Guatemala. Everybody is scrambling to get ready for the big _la quema del diablo_ (burning of the devil) tonight — at 6pm sharp, everyone will start a bonfire to burn rubbish and items they don't need to cleanse their homes of evil. 6 | 7 | Here in Guatemala City, our friend Miguel is concerned about the environmental impact! The past few years, people have been burning a lot of rubber and plastic that makes the air dirty. Some places are switching to burning paper piñatas of the devil, but Miguel still wants to let people metaphorically cleanse their houses of specific items they don't want. 8 | 9 | Let's help Miguel by building a web API that lets his neighbors search for images of things they want to get rid of. Build an application (e.g. a cloud function with a single endpoint) that takes text as an input and returns an image found on unsplash or another image platform. 10 | 11 | ## Resources/Tools Used 🚀 12 | Here are the tools listed that we used for an example solution. 13 | 14 | - **[Azure Functions with Java](https://docs.microsoft.com/azure/azure-functions/functions-create-first-java-maven/?WT.mc_id=25daysofserverless-github-sakriema)** 15 | - **[Java JSON parser org.json](https://search.maven.org/classic/#search%7Cgav%7C1%7Cg%3A%22org.json%22%20AND%20a%3A%22json%22)** 16 | - **[UNSPLASH Picture API](https://unsplash.com/)** 17 | - **[Postman](https://www.getpostman.com/downloads/)** 18 | 19 | 20 | ## Tips 🔥 21 | 22 | Make sure to keep your keys private. Profit e.g. from environment variables to do so; 23 | 24 | ```bash 25 | > export UNSPLASH_ACCESS_KEY="your_access_key" 26 | > export UNSPLASH_SECRET_KEY="your_secret_key" 27 | ``` 28 | 29 | ## Other Resources ⭐️ 30 | 31 | Other helpful Resources can be found here: 32 | 33 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions?WT.mc_id=25daysofserverless-github-sakriema)** 34 | - ✅ **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-sakriema)** 35 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-sakriema)** 36 | - ✅ **[Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-sakriema)** 37 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-sakriema)** 38 | 39 | 40 | ## I have doubts ... What do I do?! ❓ 41 | 42 | If you have any doubts about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. As soon as possible we will be answering any questions/doubts that you may have! 43 | -------------------------------------------------------------------------------- /week-2/challenge-10/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 10: Timer Trigger 2 | 3 | ![A timer for shoppers](https://res.cloudinary.com/jen-looper/image/upload/v1575132447/images/challenge-10_d2nl4t.jpg) 4 | 5 | ## Daily Aggregated Deals 6 | 7 | In Italy, children hang stockings on their fireplace so that an older woman named Befana can place their gifts inside of them. Along with the gifts, Befana also places candy or coal in each stocking based on how good they were that year. 8 | 9 | This year has been really busy for Befana so she hired you as an assistant to help move things along faster. While Befana was shopping for candy, she lost her glasses. Her replacement glasses will arrive before the night of Epiphany, when children will be expecting their gifts. This is very unfortunate for Befana because she hasn't finished her gift shopping yet! 10 | 11 | Befana is relying on you to finish shopping for the remaining gifts. Befana is really particular about getting a good deal on her shopping and expects you to be the same. Luckily, this is a major time of year for shoppers and deal seekers! But how do you keep track of all of these deals?Let's make a daily digest of current deals of interest! 12 | 13 | In today's challenge, you'll create a tool that finds deals of the day from Twitter and adds them to a static web page. A Logic App is great serverless solution for this! 14 | 15 | ## Resources/Tools Used 🚀 16 | 17 | - **[Azure Blob Storage](https://docs.microsoft.com/en-us/azure/storage/?WT.mc_id=25daysofserverless-github-cxa)** 18 | - **[Logic Apps](https://docs.microsoft.com/en-us/azure/logic-apps/quickstart-create-first-logic-app-workflow/?WT.mc_id=25daysofserverless-github-cxa)** 19 | - **[Recurrence Trigger for Logic Apps](https://docs.microsoft.com/en-us/azure/logic-apps/tutorial-build-schedule-recurring-logic-app-workflow?WT.mc_id=25daysofserverless-github-cxa)** 20 | - **[Twitter Connector for Logic Apps](https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-twitter?WT.mc_id=25daysofserverless-github-cxa)** 21 | - **[Blob Storage Connector for Logic Apps](https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-azureblobstorage?WT.mc_id=25daysofserverless-github-cxa#add-blob-storage-action)** 22 | - **[Static website hosting in Azure Storage](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website?WT.mc_id=25daysofserverless-github-cxa)** 23 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)** 24 | 25 | ## Next Steps 🏃 26 | 27 | Learn more about serverless with a Free Training! 28 | 29 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 30 | 31 | ## Important Resources ⭐️ 32 | 33 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 34 | - ✅ **[Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa)** 35 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa)** 36 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 37 | 38 | ## Questions? Comments? 39 | 40 | If you have any questions about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. Make sure to mention which challenge is problematic. We'll get back to you soon! 41 | -------------------------------------------------------------------------------- /week-3/challenge-16/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 16: Continuous Integration and Continuous Delivery for Azure functions 2 | 3 | ![posadas](https://res.cloudinary.com/jen-looper/image/upload/v1576271287/images/challenge-16_esubpm.jpg) 4 | 5 | ## We are only nine days away from Xmas... let the posadas begin! 6 | 7 | It's the 16th of December, which can only mean one thing: Posadas are finally starting in Mexico! Everyone is already preparing for the following nine days of posadas and deciding on venues all across Mexico City for this festive tradition. 8 | 9 | A couple of months back, Xanath offered to put together a list of hosts and locations so that all her friends and family had the details for each posada. With all the servers missing and so little time to collect the sites and inform everyone Xanath has asked some friends for help. 10 | They will all be working together to make a solution to help folks to find the location of the next posada. 11 | 12 | ## The challenge 13 | 14 | Your challenge is to create a simple solution for Xanath's friends and family to find the locations of the upcoming posadas as well as the name of the person hosting. 15 | Since there will be several people working on the project and adding locations at the same time, you need to make sure that the solution is accordingly updated and deploy to reflect these changes. 16 | 17 | ## Tips: 18 | 19 | 1. To allow for the solution and data to be updated as fast as possible, the deployment should be made automatically after a Pull Request has been merged. You can achieve this using services like GitHub Actions or Azure Pipelines. 20 | 2. You can specify the locations in any way you prefer (i.e. addresses, latitude and longitude pairs). Still, you need to make sure that every place added adheres to the same format. 21 | 3. There are many ways in which you can implement this solution; we recommend you start with a simple one, implement your CI/CD pipeline and refine later. 22 | 23 | ## Resources/Tools Used 🚀 24 | 25 | ### Getting started with Azure Functions for Python 26 | * **[Azure Functions Python](https://docs.microsoft.com/azure/azure-functions/functions-reference-python?WT.mc_id=25daysofserverless-github-cxa)** 27 | 28 | ### Continuous integration and delivery 29 | * **[GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions)** 30 | * **[Azure DevOps](https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops/?WT.mc_id=25daysofserverless-github-cxa)** 31 | * **[Getting started with Azure Pipelines](https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/python?view=azure-devops?WT.mc_id=25daysofserverless-github-cxa)** 32 | * **[Azure Functions Continuous delivery using Azure DevOps](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-azure-devops/?WT.mc_id=25daysofserverless-github-cxa)** 33 | * **[Azure FunctionsContinuous delivery using GitHub actions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-github-actions/?WT.mc_id=25daysofserverless-github-cxa)** 34 | 35 | 36 | ### Developer Tools 37 | 38 | * **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)** 39 | * **[Visual Studio Code Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 40 | * **[Visual Studio Code Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=25daysofserverless-github-cxa)** 41 | 42 | 43 | ## Next Steps 🏃 44 | 45 | Learn more about serverless with Free Training! 46 | 47 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 48 | 49 | ## Questions? Comments? ❓ 50 | 51 | If you have any doubts about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. As soon as possible, we will be answering any questions/doubts that you may have! 52 | -------------------------------------------------------------------------------- /week-1/challenge-2/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 2: Task Scheduler 2 | 3 | ![Saint Lucy and the Scheduler](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-2_ak4jfo.jpg) 4 | 5 | ## Lucy's Dilemma 6 | 7 | Today we find ourselves in Stockholm, where a little girl named Lucy needs our help! 8 | 9 | Every December 13th, Lucy is tasked with wearing a crown with six lit candles and delivering coffee to all of her family members — her mother, father, sister, and brother. Each candle only lasts ten minutes before burning out, and she needs to be careful to keep the candles lit during the delivery time! 10 | 11 | Lucy is somewhat forgetful, though, and the stolen servers mean Lucy's usual reminder app isn't working! With only a few weeks to go before her big night, Lucy is worried how she'll remember everything she needs to do and keep her timing in order. She thought about using sticky notes with color codes to remind her of the things she needs to do, but what if they get mixed up? How can she optimize her tasks using serverless technology? 12 | 13 | ![Lucy on the celly](https://media.giphy.com/media/3oxHQku0v7fogwwdq0/giphy.gif) 14 | 15 | It takes Lucy 25 minutes to make a large pot of coffee that will serve everyone, and about four minutes to deliver two cups of coffee (remember that she only has two hands to deliver them!). As mentioned, the candles will need to be relit every ten minutes. 16 | 17 | Create a task scheduler that will tell Lucy exactly when she should relight candles, pour coffee into cups, and deliver batches of coffee. How you want to notify Lucy is up to you: maybe you can send her an SMS via **[Twilio](https://www.twilio.com/)**, or build a webapp that uses WebSockets and browser notifications? 18 | 19 | ## Tips 20 | 21 | Take a look at the [Task Scheduler](https://azure.microsoft.com/en-us/services/scheduler/?WT.mc_id=25daysofserverless-github-cxa) in the Azure Portal. It's been deprecated in favor of creating a [Logic App](https://docs.microsoft.com/en-us/azure/scheduler/migrate-from-scheduler-to-logic-apps/?WT.mc_id=25daysofserverless-github-cxa), so you might use that. According to the challenge, we have to set several tasks to be scheduled on December 13th. Let's say we start at 8AM, Stockholm time. It might help to sketch out the schedule of tasks to be done: 22 | 23 | - 8:00 AM - start the coffee, set out 4 cups 24 | - 8:25 AM - pour two cups 25 | 26 | - 8:30 AM - light the candles 27 | - 8:35 AM - deliver the coffee to Mom and Dad 28 | - 8:39 AM - return to kitchen, fill two more cups 29 | 30 | - 8:40 AM - relight the candles 31 | - 8:45 AM - deliver the coffee to Sister and Brother 32 | - 8:49 AM - return to kitchen, take a break! 33 | 34 | ## Resources 🚀 35 | 36 | - **[Logic App with Scheduling in the Azure Portal](https://azure.microsoft.com/en-us/services/scheduler/?WT.mc_id=25daysofserverless-github-cxa)** 37 | - **[Twilio](https://azure.microsoft.com/en-us/services/scheduler/?WT.mc_id=25daysofserverless-github-cxa)** 38 | 39 | ## Next Steps 🏃 40 | 41 | Learn more about serverless with a Free Training! 42 | 43 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 44 | 45 | ## Important Resources ⭐️ 46 | 47 | - ✅ **[Logic Apps documentation](https://docs.microsoft.com/en-us/azure/logic-apps/?WT.mc_id=25daysofserverless-github-cxa)** 48 | - ✅ **[Scheduling Tasks in Logic Apps](https://docs.microsoft.com/en-us/azure/logic-apps/concepts-schedule-automated-recurring-tasks-workflows/?WT.mc_id=25daysofserverless-github-cxa)** 49 | - ✅ **[Connecting a Logic App to Twilio](https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-twilio/?WT.mc_id=25daysofserverless-github-cxa)** 50 | 51 | ## Questions? Comments? 52 | 53 | If you have any questions about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. Make sure to mention which challenge is problematic. We'll get back to you soon! 54 | -------------------------------------------------------------------------------- /week-2/challenge-9/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 9: Automate Your GitHub Issues with Holiday Magic 2 | 3 | ![Thanks!](https://res.cloudinary.com/jen-looper/image/upload/v1575132447/images/challenge-9_oryult.jpg) 4 | 5 | Bah humbug! Ebenezer Scrooge is miserable this holiday season. He never says thank you and this makes everyone sad, even Scrooge. Let's lift his spirits by saying thank you to everyone who contributes to his OSS projects on GitHub. 6 | 7 | Do you feel good when someone says "thank you" when you contribute to a GitHub project? Let's use some holiday magic and serverless to automate this! After all, the holiday season is a time for smiling more and taking the time to say thank you to those around us. 8 | 9 | We challenge you to automate creating a holiday themed "thank you" with serverless that replies to all issues created in one or more of your GitHub repositories 10 | 11 | ![Say Happy Holidays in GitHub Issues](https://thepracticaldev.s3.amazonaws.com/i/ja821uc4e380rlfzqsyc.jpg) 12 | 13 | You can use any technologies you prefer to solve this challenge. 14 | 15 | Show us what you can build and join our Days of Serverless, with Challenge 9. 16 | 17 | Enjoy your challenge and Happy Holidays! 18 | 19 | ## Resources and Tools 🚀 20 | 21 | Tools 22 | 23 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)** 24 | - **[Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 25 | - **[Azure Functions Core Tools](https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?WT.mc_id=25daysofserverless-github-cxa)** 26 | - **[Free Azure Trial](https://azure.microsoft.com/free?WT.mc_id=25daysofserverless-github-cxa)** 27 | 28 | Docs 29 | 30 | - **[Azure Functions docs - Webhooks](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?tabs=csharp#webhooks&WT.mc_id=25daysofserverless-github-cxa)** 31 | 32 | - **[GitHub - Create a Personal Access Token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line?WT.mc_id=25daysofserverless-github-cxa)** 33 | - **[GitHub - Webhook documentation](https://developer.github.com/webhooks?WT.mc_id=25daysofserverless-github-cxa)** 34 | - **[GitHub API - IssuesEvent Reference](https://developer.github.com/v3/activity/events/types/#issuesevent?WT.mc_id=25daysofserverless-github-cxa)** 35 | - **[Octokit - GitHub REST API client for JavaScript](https://github.com/octokit/rest.js)** and **[Docs](https://octokit.github.io/rest.js/)** 36 | - **[Learn - Monitor GitHub events by using a webhook with Azure Functions](https://docs.microsoft.com/en-us/learn/modules/monitor-github-events-with-a-function-triggered-by-a-webhook?WT.mc_id=25daysofserverless-github-cxa)** 37 | 38 | ## Next Steps 🏃 39 | 40 | Learn more about serverless with Free Training! 41 | 42 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 43 | 44 | ## Additional Resources ⭐️ 45 | 46 | Some additional awesome serverless resources 47 | 48 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 49 | - ✅ **[Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa)** 50 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa)** 51 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 52 | 53 | ## Questions? Comments? 54 | 55 | If you have any questions about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. Make sure to mention which challenge is problematic. We'll get back to you soon! 56 | 57 | ![SCROOGE](https://thepracticaldev.s3.amazonaws.com/i/jdc4k2ul3vzs90vamisi.jpg) 58 | -------------------------------------------------------------------------------- /week-2/challenge-8/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 8: Build an Incident Status Page 2 | 3 | ![The Elves' Incidents](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-8_ryfir2.jpg) 4 | 5 | It's December 8th and Santa and his team are hard at work preparing for the big night, including replacing many of the servers and applications that run the reindeer guidance and delivery systems. 6 | 7 | If something goes wrong with any part of that critical system, they need a way to report the status of disruptions to everyone involved in a successful Christmas morning. 8 | 9 | They need a basic version of what you can find at [status.azure.com](https://status.azure.com). 10 | 11 | During these tense disruptions, elves are actively diagnosing and working as quickly as possible to bring important systems back online. While response and remediation efforts are underway, it's important everyone who has a stake in the successful delivery of gifts stay "in the know". 12 | 13 | We are tasked with building a method for Santa and his team to communicate the current status of service disruptions to a global audience. A "Status Page" solution. 14 | 15 | ## Challenge 16 | 17 | Your challenge is to create a simple solution that helps inform elves and helpers all over the world when there is a problem with Santa's Reindeer Guidance & Delivery System - a "Status Page" to inform everyone what is known, what is being done, and when to expect additional information. 18 | 19 | ## Tips 20 | 21 | There are many approaches to broadcasting critical information like this. 22 | For simplicity, we might consider keeping the team informed by setting and broadcasting the current "Status" as 1 of 3 states: 23 | 24 | * *Open* 25 | * *Closed* 26 | * *Ongoing* (or update) 27 | 28 | The "*Open*" state means **we have a problem** (Service Disruption / Offline). 29 | The "*Closed*" state means **our problem is resolved** (Service Restored / Online). 30 | The "*Ongoing*" state means **we are still investigating** (Standby for more updates). 31 | 32 | 33 | ## Resources/Tools Used 🚀 34 | 35 | ✅ **Microsoft Azure:** 36 | 37 | * Free account: [https://azure.microsoft.com/](https://azure.microsoft.com/?WT.mc_id=25daysofserverless-github-cxa) 38 | 39 | ✅ **Azure Functions:** 40 | 41 | * Docs: [Azure Function](https://docs.microsoft.com/en-us/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa) 42 | * Learn: [https://docs.microsoft.com/learn/modules/create-serverless-logic-with-azure-functions/](https://docs.microsoft.com/learn/modules/create-serverless-logic-with-azure-functions/?WT.mc_id=25daysofserverless-github-cxa) 43 | * How To Get Started (Video): [https://azure.microsoft.com/resources/videos/get-started-with-azure-functions/](https://azure.microsoft.com/resources/videos/get-started-with-azure-functions/?WT.mc_id=25daysofserverless-github-cxa) 44 | * Supported Languages: [https://docs.microsoft.com/azure/azure-functions/supported-languages/](https://docs.microsoft.com/azure/azure-functions/supported-languages/?WT.mc_id=25daysofserverless-github-cxa) 45 | 46 | ✅ **Azure Storage:** 47 | 48 | * Product: [https://azure.microsoft.com/services/storage/](https://azure.microsoft.com/services/storage/?WT.mc_id=25daysofserverless-github-cxa) 49 | * Docs: [https://docs.microsoft.com/azure/storage/](https://docs.microsoft.com/azure/storage/?WT.mc_id=25daysofserverless-github-cxa) 50 | * Learn: [https://docs.microsoft.com/en-us/learn/modules/create-azure-storage-account/](https://docs.microsoft.com/en-us/learn/modules/create-azure-storage-account/?WT.mc_id=25daysofserverless-github-cxa) 51 | 52 | ✅ **SignalR:** 53 | 54 | * Product: [https://azure.microsoft.com/services/signalr-service/](https://azure.microsoft.com/services/signalr-service/?WT.mc_id=25daysofserverless-github-cxa) 55 | * Docs: [https://docs.microsoft.com/azure/azure-signalr/signalr-overview/](https://docs.microsoft.com/azure/azure-signalr/signalr-overview/?WT.mc_id=25daysofserverless-github-cxa) 56 | * w/ Azure Functions: [https://docs.microsoft.com/azure/azure-signalr/signalr-concept-azure-functions/](https://docs.microsoft.com/azure/azure-signalr/signalr-concept-azure-functions/?WT.mc_id=25daysofserverless-github-cxa) 57 | * Learn: [https://docs.microsoft.com/learn/modules/automatic-update-of-a-webapp-using-azure-functions-and-signalr/](https://docs.microsoft.com/learn/modules/automatic-update-of-a-webapp-using-azure-functions-and-signalr/?WT.mc_id=25daysofserverless-github-cxa) 58 | 59 | ## Next Steps 🏃 60 | 61 | Learn more about serverless technologies with free training! 62 | 63 | * ✅ **[Free Serverless Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 64 | 65 | * ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 66 | 67 | ## Questions? Comments? 68 | 69 | If you have any questions about the challenge, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. As soon as possible we will be answering any questions/doubts that you may have! 70 | -------------------------------------------------------------------------------- /week-1/challenge-6/README.md: -------------------------------------------------------------------------------- 1 | # Challenge 6: Durable Pattern 2 | 3 | ![St. Nicholas challenge](https://res.cloudinary.com/jen-looper/image/upload/v1575132446/images/challenge-6_qpqesc.jpg) 4 | 5 | Happy St. Nicholas Day! Here in the Styrian region of Austria, it's said that today is the day that St. Nicholas goes around handing out presents, while his evil counterpart Krampus whips those who have been naughty. These days, that mostly results in people giving each other bundles of _ruten_, bundles of birch twigs that have been painted gold. 6 | 7 | You're supposed to hang up these ruten year-round to remind children to be good, but of course today's children don't spend much more time in online chats than sitting in front of the fireplace. Let's write a reminder tool using serverless tech that lets Austrian children set reminders to do good deeds in their favorite chat app! 8 | 9 | Build a chat integration for your favorite chat service (e.g. Discord or Slack) that lets you schedule tasks using natural language (e.g. `/schedule volunteer at the senior citizens' center tomorrow at 11:00`). You should be able to get a confirmation that your event has been scheduled, and then get a notification at the correct time. 10 | 11 | ![Slack bot screenshot](screenshot.png) 12 | 13 | ## Resources/Tools Used 🚀 14 | 15 | Here are some tools I recommend to help you complete this task: 16 | 17 | | Tool | Description | 18 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | 19 | | [**Visual Studio Code**](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa) | Code editor | 20 | | [**Postman**](https://www.getpostman.com/downloads/) | API testing client | 21 | | [**Azure Functions Extension**](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa) | Scaffold, debug and deploy serverless functions from VS Code | 22 | | [**Chrono**](https://github.com/wanasit/chrono) | Convert natural English language to date/time | 23 | | [**Moment Timezone**](https://github.com/moment/moment-timezone) | Handle timezones correctly from JS dates | 24 | 25 | ...and here are some resources to guide you: 26 | 27 | | Resources | Description | 28 | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | 29 | | [**Build a Slash Command**](https://api.slack.com/tutorials/slash-block-kit) | Learn how to build a `/slash` command for Slack | 30 | | [**Slack Incoming Webhooks**](https://api.slack.com/messaging/webhooks) | Learn what incoming message webhooks are and how to use them | 31 | | [**Stateful Serverless**](https://dev.to/azure/stateful-serverless-with-durable-functions-2jff) | Learn how to create schedules and timers with Durable Functions | 32 | | [**Durable Contraints**](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints) | Beware of non-deterministic functions | 33 | 34 | ## Getting Started 🔥 35 | 36 | Follow this [dev.to tutorial](https://dev.to/azure/stateful-serverless-with-durable-functions-2jff) to learn how to get started with Durable functions. 37 | 38 | ## Next Steps 🏃 39 | 40 | Learn more about serverless with a Free Training! 41 | 42 | - ✅ **[Serverless Free Courses](https://docs.microsoft.com/learn/browse/?term=azure%20functions&WT.mc_id=25daysofserverless-github-cxa)** 43 | 44 | ## Important Resources ⭐️ 45 | 46 | Here include all the important features related to the challenges that are integrated into microsoft.docs. Ex.: 47 | 48 | - ✅ **[Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** 49 | - ✅ **[Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa)** 50 | - ✅ **[Create your first function using Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa)** 51 | - ✅ **[Free E-Book - Azure Serverless Computing Cookbook, Second Edition](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=25daysofserverless-github-cxa)** 52 | 53 | ## I have doubts ... What do I do?! ❓ 54 | 55 | If you have any doubts about the challenges, feel free to open an **[ISSUE HERE](https://github.com/microsoft/25-days-of-serverless/issues)**. As soon as possible we will be answering any questions/doubts that you may have! 56 | -------------------------------------------------------------------------------- /RESOURCES.md: -------------------------------------------------------------------------------- 1 | # Awesome Azure Functions & Serverless [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | New to serverless or Azure Functions? We have you covered. Here are a few resources for self-directed learning. 4 | 5 | ## Table of Contents 6 | 7 | - **[Awesome List - Azure Functions & Serverless](awesome-list-azure-functions-serverless)** 8 | - **[Learning Paths - Serverless](#learning-paths---serverless)** 9 | - **[Modules - Azure Functions](#modules---azure-functions)** 10 | - **[Talks - Microsoft Ignite 2019](#talks---microsoft-ignite-2019)** 11 | - **[Docs](#docs)** 12 | - **[Collections](#collections)** 13 | - **[Overview](#overview)** 14 | - **[Quickstarts](#quickstarts)** 15 | - **[Triggers & Bindings](#triggers-&-bindings)** 16 | - **[For Databases](#for-databases)** 17 | - **[For IoT](#for-iot)** 18 | - **[Durable Functions](#durable-functions)** 19 | - **[Deployment - CI/CD](#deployment---CI/CD)** 20 | - **[Tools](#tools)** 21 | - **[Videos](#videos)** 22 | - **[Technical Posts/Blogs](#technical-posts/blogs)** 23 | 24 | ### Learning Paths - Serverless 25 | 26 | * [Create Serverless Applications](https://docs.microsoft.com/en-us/learn/paths/create-serverless-applications/?WT.mc_id=25daysofserverless-github-cxa) 27 | * [Architect Message Brokering and Serverless Applications in Azure](https://docs.microsoft.com/en-us/learn/paths/architect-messaging-serverless/?WT.mc_id=25daysofserverless-github-cxa) 28 | 29 | ### Modules - Azure Functions 30 | 31 | * [Create serverless logic with Azure Functions](https://docs.microsoft.com/en-us/learn/modules/create-serverless-logic-with-azure-functions/?WT.mc_id=25daysofserverless-github-cxa) 32 | * [Monitor GitHub events by using a webhook with Azure Functions](https://docs.microsoft.com/en-us/learn/modules/monitor-github-events-with-a-function-triggered-by-a-webhook/?WT.mc_id=25daysofserverless-github-cxa) 33 | * [Develop, test and deploy an Azure Function with Visual Studio ](https://docs.microsoft.com/en-us/learn/modules/develop-test-deploy-azure-functions-with-visual-studio/?WT.mc_id=25daysofserverless-github-cxa) 34 | * [Execute an Azure Function with triggers](https://docs.microsoft.com/en-us/learn/modules/execute-azure-function-with-triggers/?WT.mc_id=25daysofserverless-github-cxa) 35 | * [Chain Azure Functions together using input and output bindings](https://docs.microsoft.com/en-us/learn/modules/chain-azure-functions-data-using-bindings/?WT.mc_id=25daysofserverless-github-cxa) 36 | * [Publish an API to Azure Static Web Apps](https://docs.microsoft.com/en-gb/learn/modules/publish-static-web-app-api-preview-url/) 37 | * [Publish an Angular, React, Svelte, or Vue JavaScript app with Azure Static Web Apps](https://docs.microsoft.com/en-gb/learn/modules/publish-app-service-static-web-app-api/) 38 | * [Publish a Blazor WebAssembly app and .NET API with Azure Static Web Apps](https://docs.microsoft.com/en-gb/learn/modules/publish-app-service-static-web-app-api-dotnet/) 39 | * [Create and publish a static web app with Gatsby and Azure Static Web Apps](https://docs.microsoft.com/en-gb/learn/modules/create-deploy-static-webapp-gatsby-app-service/) 40 | * [Enable automatic updates in a web application using Azure Functions and SignalR Service ](https://docs.microsoft.com/en-us/learn/modules/automatic-update-of-a-webapp-using-azure-functions-and-signalr/?WT.mc_id=25daysofserverless-github-cxa) 41 | * [Develop, test and publish Azure Functions by using Azure Functions Core Tools](https://docs.microsoft.com/en-us/learn/modules/develop-test-deploy-azure-functions-with-core-tools//?WT.mc_id=25daysofserverless-github-cxa) 42 | * [Share your location as a text message using Azure Functions and Twilio ](https://docs.microsoft.com/en-us/learn/modules/send-location-over-sms-using-azure-functions-twilio/?WT.mc_id=25daysofserverless-github-cxa) 43 | * [Expose multiple Azure Functions apps as a consistent API by using Azure API Management](https://docs.microsoft.com/en-us/learn/modules/build-serverless-api-with-functions-api-management/?WT.mc_id=25daysofserverless-github-cxa) 44 | 45 | ### Talks - Microsoft Ignite 2019 46 | 47 | * [AFUN95 Figuring Out Azure Functions](https://myignite.techcommunity.microsoft.com/sessions/83218?source=sessions) by [Frank Boucher](https://myignite.techcommunity.microsoft.com/speaker/585722) 48 | * [BRK3063 Building enteprise capable serverless applications](https://myignite.techcommunity.microsoft.com/sessions/81605?source=sessions) by [Eduardo Laureano](https://myignite.techcommunity.microsoft.com/speaker/588664) and [Matthew Henderson](https://myignite.techcommunity.microsoft.com/speaker/595253) 49 | 50 | ### Docs 51 | 52 | #### Collections 53 | 54 | * [25DaysOfServerless Learn Modules](https://docs.microsoft.com/en-us/users/nityan/collections/k73ohwqzen712?WT.mc_id=25daysofserverless-github-cxa) 55 | 56 | #### Overview 57 | 58 | * [Azure Functions Documentation](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa) 59 | * [Azure SDK for JavaScript Documentation](https://docs.microsoft.com/azure/javascript/?WT.mc_id=25daysofserverless-github-cxa) 60 | * [Azure Functions Code Samples](https://docs.microsoft.com/en-us/samples/browse/?products=azure-functions?WT.mc_id=25daysofserverless-github-cxa) 61 | * [Azure CLI Code Samples](https://docs.microsoft.com/en-us/azure/azure-functions/functions-cli-samples?WT.mc_id=25daysofserverless-github-cxa) 62 | 63 | #### Quickstarts 64 | 65 | * [Create your first function using Visual Studio Code (_JavaScript_)](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=25daysofserverless-github-cxa) 66 | * [Create your first function using Visual Studio (_C#_)](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-your-first-function-visual-studio?WT.mc_id=25daysofserverless-github-cxa) 67 | * [Use _Java_ and Maven to create and publish a function to Azure](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-maven?WT.mc_id=25daysofserverless-github-cxa) 68 | * [Create your first _PowerShell_ function in Azure](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-powershell?WT.mc_id=25daysofserverless-github-cxa) 69 | * [Create an HTTP triggered _Python_ function in Azure](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python?WT.mc_id=25daysofserverless-github-cxa) 70 | 71 | #### Triggers & Bindings 72 | 73 | * [About Triggers and Bindings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings?WT.mc_id=25daysofserverless-github-cxa) 74 | * [Trigger Azure Functions using webhooks in Azure IoT Central](https://docs.microsoft.com/en-us/azure/iot-central/core/howto-trigger-azure-functions?WT.mc_id=25daysofserverless-github-cxa) 75 | * [Twilio Binding for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-twilio?WT.mc_id=25daysofserverless-github-cxa) 76 | * [Azure Functions HTTP triggers and bindings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?tabs=javascript&WT.mc_id=25daysofserverless-github-cxa) 77 | * [SignalR Service bindings for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-signalr-service?WT.mc_id=25daysofserverless-github-cxa) 78 | 79 | #### For Databases 80 | 81 | * [Azure Cosmos DB](https://docs.microsoft.com/en-us/azure/cosmos-db?WT.mc_id=25daysofserverless-github-cxa) 82 | * [Azure Cosmos DB bindings for Azure Functions 1.x](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb?tabs=csharp&WT.mc_id=25daysofserverless-github-cxa) 83 | * [Azure Cosmos DB bindings for Azure Functions 2.x](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2?WT.mc_id=25daysofserverless-github-cxa) 84 | * [Azure Blob Storage](https://docs.microsoft.com/en-us/azure/storage/?WT.mc_id=25daysofserverless-github-cxa) 85 | * [Create a function triggered by Azure Blob storage](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-storage-blob-triggered-function?WT.mc_id=25daysofserverless-github-cxa) 86 | 87 | #### For IoT 88 | 89 | * [Tutorial: Deploy Azure functions as IoT Edge modules](https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-function?toc=%2fazure%2fazure-functions%2ftoc.json&WT.mc_id=25daysofserverless-github-cxa) 90 | * [Azure IoT Hub bindings for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-iot?WT.mc_id=25daysofserverless-github-cxa) 91 | 92 | #### Durable Functions 93 | 94 | * [About Durable Functions](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?WT.mc_id=25daysofserverless-github-cxa) 95 | * [Create your first durable function _in JavaScript_](https://docs.microsoft.com/en-us/azure/azure-functions/durable/quickstart-js-vscode?WT.mc_id=25daysofserverless-github-cxa) 96 | * [Create your first durable function _in C#_](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-create-first-csharp?WT.mc_id=25daysofserverless-github-cxa) 97 | * [Durable Functions Samples](https://docs.microsoft.com/en-us/samples/browse/?products=azure-functions&term=durable?WT.mc_id=25daysofserverless-github-cxa) 98 | * [Durable Functions Documntation](https://docs.microsoft.com/en-us/azure/azure-functions/durable/?WT.mc_id=25daysofserverless-github-cxa) 99 | 100 | #### Deployment - CI/CD 101 | 102 | * [Continuous deployment for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-continuous-deployment?WT.mc_id=25daysofserverless-github-cxa) 103 | * [Continuous delivery by using Azure DevOps](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-azure-devops?WT.mc_id=25daysofserverless-github-cxa) 104 | * [Continuous delivery by using GitHub Action](https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-github-actions?WT.mc_id=25daysofserverless-github-cxa) 105 | * [Azure Functions on Kubernetes with KEDA](https://docs.microsoft.com/en-us/azure/azure-functions/functions-kubernetes-keda?WT.mc_id=25daysofserverless-github-cxa) 106 | 107 | ## Tools 108 | 109 | * [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa) 110 | * [Azure Functions for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa) 111 | * [Azure Functions Core Tools](https://docs.microsoft.com/azure/azure-functions/functions-run-local?WT.mc_id=25daysofserverless-github-cxa) 112 | * [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest?WT.mc_id=25daysofserverless-github-cxa) 113 | 114 | ## Videos 115 | 116 | * []() 117 | 118 | ## Technical Posts/Blogs 119 | 120 | * []() 121 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 25 Days of Serverless 2 | 3 | 4 | 5 | [![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) 6 | 7 | 8 | 9 | [![advent-of-serverless.gif](https://s5.gifyu.com/images/advent-of-serverless.gif)](https://gifyu.com/image/vNo5) 10 | 11 | ## OOF Announcement 12 | *The unthinkable has happened: after weeks of community members all over the globe chipping in to help solve people's problems with serverless technology, the evil grinch's heart is starting to soften! He's still not quite ready to give up his server-stealing plot, but our whole Azure Cloud Advocacy team is flying up to the grinch's lair to help convince him to change his ways.* 13 | 14 | *As such, the team behind 25 Days of Serverless is OOF (Out Of Facility/Office) between Dec 24, 2019 and January 1, 2020. We'll not review Issues in this period of time, but encourage you to catch up on any challenges you haven't had the time to work on yet. :smiley: Our [Discord Server](https://discord.gg/8kbAeud) is a perfect place to reach out to for community support during this time. After our return, we'll add contributors who submitted a working solution as an Issue to CONTRIBUTORS.md file until January 15, 2020.* 15 | 16 | ## Contents 17 | 18 | - **[Contents 25 days of Serverless](#contents-25-days-of-serverless)** 19 | - **[Main Goal](#main-goal)** 🎯 20 | - **[Rules](#rules)** 🎫 21 | - **[Suggested Resources](#suggested-resources)** 📑 22 | - **[Azure For Students Account](#azure-for-students-account)** ⭐️ 23 | - **[How Submit Your Solution](#submit-your-solution-as-a-custom-ISSUE-to-our-repository)** 🔥 24 | - **[Challenges](#challenges)** 💻 25 | - **[Discord Channel](#discord-channel)** 💬 26 | - **[Solutions](#solutions)** 💡 27 | - **[Solutions Week-1](#solutions-week-1)** 28 | - **[Solutions Week-2](#solutions-week-2)** 29 | - **[Solutions Week-3](#solutions-week-3)** 30 | - **[Contributing](#contributing)** 🚩 31 | - **[Contributors Hall of Fame](CONTRIBUTORS.md)** 🏆 32 | - **[Awesome - Azure Functions & Serverless](RESOURCES.md)** 📚 33 | 34 | ## Main Goal 35 | 36 | There is no better way to learn a new technology than with gamification. And we're here to help you learn Serverless once and for all with 25 daily challenges: 25 days of Serverless! Come join! 37 | 38 | ## Rules 39 | 40 | 1. Solve each [coding challenge](https://aka.ms/25daysofserverless) in the first 25 days of December. 41 | 42 | 2. Tweet your progress during the challenge period using the hashtag [#25DaysOfServerless](https://twitter.com/search?q=%2325DaysOfServerless). 43 | 44 | 3. Submit the code of your solution as a PR to this repository before the sample solution gets published (usually 24h after the challenge is published). 45 | 46 | 4. You may get picked for a mention during our weekly wrap-up video. If you submit a PR you agree that we mention your name and/or nicknames (GitHub, Twitter) publicly in the context of 25 Days of Serverless. 47 | 48 | ## Suggested Resources 49 | 50 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)** 51 | - **[Azure Account](https://azure.microsoft.com/?WT.mc_id=25daysofserverless-github-cxa)** 52 | - **[Azure Functions Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=25daysofserverless-github-cxa)** 53 | 54 | ## Azure For Students Account 55 | 56 | If you are a student at a College or University, you can create your **[Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=25daysofserverless-github-cxa)** account. This account will give you the benefit of having a \$ 100 credit to use the Azure Services for free, without having a credit card and free developer tools as well. To activate this account, just access the link **[HERE](https://azure.microsoft.com/free/students/?WT.mc_id=25daysofserverless-github-cxa)**. 57 | 58 | ## Submit your solution as a custom ISSUE to our repository 59 | 60 | 🚨 **Submission Process Change:** Starting Dec 3, 2019 🚨 61 | 62 | > _We've been blown away at the interest and engagement around this challenge! The previous process used Pull Requests. The new process uses Issues. We hope this change makes it easier for you to send us your amazing work, and for us to highlight your contributions. New PRs after Dec 4, 2019 may not be processed._ 63 | 64 | Be among the first contributors and solve the challenge within 24 hours of publishing. To have your contribution acknowledged, follow our [CONTRIBUTING.md](CONTRIBUTING.md) guidelines. The short version: 65 | 66 | 1. Create a Github repo with your solution for that challenge 67 | 2. Fill in the details for the [Challenge Solution Submission](https://github.com/microsoft/25-days-of-serverless/issues/new?assignees=&labels=challenge-submission&template=challenge-solution-submission.md&title=%5BCHALLENGE+SUBMISSION%5D+) issue and submit. 68 | 69 | Have questions or comments? Submit a regular [ISSUE](https://github.com/microsoft/25-days-of-serverless/issues/new/choose) here with details. 70 | 71 | ## Discord Channel 72 | 73 | Discussion Channels are available on Discord: [Permanent Link to Server](https://discord.gg/8kbAeud) 74 | We ask everyone to be fair and helpful and to not spoil the challenges by publishing solutions prominently. The [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/?WT.mc_id=25daysofserverless-github-bramin) applies to all discussion channels. 75 | 76 | ## Solutions 77 | 78 | Here all the link solutions of each challenges published in **[dev.to](https://dev.to/)** 79 | 80 | ### Solutions Week-1 81 | 82 | | Challenges | Description | Important Resources | Responsible | Solution | 83 | |---|---|---|---|---| 84 | | [Webhooks (**#1**)](https://25daysofserverless.com/calendar/1) | Implement a webhook using serverless - create a new repo for the daily challenges, listen to new PRs events and send out a celebratory tweet | **[Azure Functions - Webhooks](https://docs.microsoft.com/en-us/azure/iot-central/core/howto-trigger-azure-functions?WT.mc_id=25daysofserverless-github-cxa)** | **[Jen Looper](https://github.com/jlooper)** | **[Spin Your Dreidel!](https://aka.ms/AA6r47e)** | 85 | | [Task Scheduler (**#2**)](https://25daysofserverless.com/calendar/2) | Implement a cron job using serverless - send a daily reminder via text (use twilio) about the current challenge | **[Azure Functions - Cron Job](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-twilio?WT.mc_id=25daysofserverless-github-cxa)** | **[Jen Looper](https://github.com/jlooper)** | **[Lucy's Dilemma](https://aka.ms/AA6qwkz)** | 86 | | [Webhooks (**#3**)](https://25daysofserverless.com/calendar/3) | Create a webhook with serverless that GitHub sends commit data | **[Azure Functions Docs](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=25daysofserverless-github-cxa)** | **[Christian Nwamba](https://github.com/christiannwamba)** | **[Github Commit (Push) Webhook](https://aka.ms/AA6r47c)** | 87 | | [API Endpoint (**#4**)](https://25daysofserverless.com/calendar/4) | Implement a function that connects to a database and returns data in a http response | **[Azure Functions - HTTP Trigger](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?tabs=javascript&WT.mc_id=25daysofserverless-github-cxa)** | **[Glaucia Lemos](https://github.com/glaucia86)** | **[Creating CRUD with Azure Functions & MongoDB](https://aka.ms/AA6qz2v)** | 88 | | [Smart Apps (**#5**)](https://25daysofserverless.com/calendar/5) | Implement a function that calls the Cognitive Services text analytics API and translates/analyses sentiment for a given text | **[Text Analytics API Documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/?WT.mc_id=25daysofserverless-github-cxa)** | **[Chris Noring](https://github.com/softchris)** | **[How you can learn Language Analysis using AI services in the Cloud and JavaScript](https://aka.ms/AA6r7f9)** | 89 | | [Durable Pattern (**#6**)](https://25daysofserverless.com/calendar/6)| Implement a function that schedules a message to be sent on Slack/Teams | **[Azure Functions - Durable Functions](https://docs.microsoft.com/azure/azure-functions/durable/quickstart-js-vscode?WT.mc_id=25daysofserverless-github-cxa)** | **[Christian Nwamba](https://github.com/christiannwamba)** | **[Build a Slack /remind Clone](https://aka.ms/AA6rjsw)** | 90 | | [Smart Apps (**#7**)](https://25daysofserverless.com/calendar/7)| Build an application that takes text as an input and returns an image found on unsplash or another image platform. | **[Azure Functions w/ Java](https://docs.microsoft.com/azure/azure-functions/functions-create-first-java-maven/?WT.mc_id=25daysofserverless-devto-cxa)** | **[Sandra Ahlgrimm](https://github.com/SandraAhlgrimm)** | **[Miguel needs our help](https://aka.ms/AA6rt4y)** | 91 | 92 | ### Solutions Week-2 93 | 94 | | Challenges | Description | Important Resources | Responsible | Solution | 95 | |---|---|---|---|---| 96 | | [Status Page (**#8**)](https://25daysofserverless.com/calendar/8)| Build a method to communicate the current status and running log of service disruptions to a global audience. | **[Azure Functions - Webhooks](https://docs.microsoft.com/en-us/azure/iot-central/core/howto-trigger-azure-functions?WT.mc_id=25daysofserverless-github-cxa)** | **[Jason Hand](https://github.com/jasonhand)** | **[Build a Serverless Status Page with Azure Functions, SignalR, and Static HTML](https://aka.ms/AA6s5wo)** | 97 | | [GitHub Bot (**#9**)](https://25daysofserverless.com/calendar/9) | Implement a function that will reply to new issues with a thank you message and assign a label | **[Azure Functions HTTP triggers and bindings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?tabs=csharp&WT.mc_id=25daysofserverless-github-cxa)** | **[John Papa](https://github.com/johnpapa)** | **[Automate Your Replies to GitHub Issues with Serverless](https://aka.ms/AA6smy4)** | 98 | | [Timer Trigger (**#10**)](https://25daysofserverless.com/calendar/10) | Create a tool that finds deals of the day from Twitter and adds them to a static web page | **[Timer trigger for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer?tabs=csharp&WT.mc_id=25daysofserverless-github-cxa)** | **[Jasmine Greenaway](https://github.com/paladique)** | **[Create a website with daily deals from Twitter using Logic Apps and Blob Storage](https://aka.ms/AA6sqoo)** | 99 | | [Database trigger (**#11**)](https://25daysofserverless.com/calendar/11) | Implement a function that listens to cosmosdb change feed, parses data and sends an sms | **[Azure Cosmos DB bindings for Azure Functions 2.x](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2?WT.mc_id=25daysofserverless-github-cxa)** | **[Chris Noring](https://github.com/softchris)** | **[Learn Serverless Database trigger in JavaScript, CosmosDB + Slack](https://aka.ms/AA6smyd)** | 100 | | [Redis Caching (**#12**)](https://25daysofserverless.com/calendar/12) | Create a function that sends a cached response if the requests are redundant | **[Redis Caching with Node](https://docs.microsoft.com/en-us/azure/azure-cache-for-redis/cache-nodejs-get-started/?WT.mc_id=25daysofserverless-github-cxa)** | **[Chris Nwamba](https://github.com/christiannwamba)** | **[Caching Serverless Responses](https://aka.ms/AA6sqoe)** | 101 | | [Database trigger (**#13**)](https://25daysofserverless.com/calendar/13) | include a short description | **[Quickstart: Create an HTTP triggered Python function in Azure](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python?WT.mc_id=25daysofserverless-github-cxa)** | **[Simona Cotin](https://github.com/simonaco)** | **[Build your jokes generator using Machine Learning and Serverless](https://aka.ms/AA6sj2z)** | 102 | | [Stream processing (**#14**)](https://25daysofserverless.com/calendar/14)| Implement a function that processes messages in realtime (SignalR) | **[SignalR Service bindings for Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-signalr-service?WT.mc_id=25daysofserverless-github-cxa)** | **[Chris Noring](https://github.com/softchris)** | **[TBI](to-be-included)** | 103 | 104 | ### Solutions Week-3 105 | 106 | | Challenges | Description | Important Resources | Responsible | Solution | 107 | |---|---|---|---|---| 108 | | [Image Recognition and Description (**#15**)](https://25daysofserverless.com/calendar/15)| Integrate Cognitive Services and Computer Vision to calculate tags and descriptions for the images (builds on [challenge #7](https://github.com/microsoft/serverless-challenges/tree/master/week-1/challenge-7) ) | **[Computer Vision API](https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/?WT.mc_id=25daysofserverless-github-cxa)** | **[Sandra Ahlgrimm](https://github.com/SandraAhlgrimm)** | **[TBI](to-be-included)** | 109 | | [Wrapping a Perfect Gift (**#18**)](https://25daysofserverless.com/calendar/18)| Use Cogitive Services to ensure that each gift is perfectly wrapped | **[Computer Vision API](https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/?WT.mc_id=25daysofserverless-github-cxa)** | **[Brandon Minnick](https://twitter.com/TheCodeTraveler)** | **[Perfect-Gift](https://dev.to/azure/25daysofserverless-day-18-solution-wrapping-the-perfect-gift-2542)** | 110 | 111 | ### Solutions Week-4 112 | 113 | | Challenges | Description | Important Resources | Responsible | Solution | 114 | |---|---|---|---|---| 115 | | [Azure Key Vault Backup/Restore (**#22**)](https://25daysofserverless.com/calendar/22)| Backup and restore Azure Key Vault secrets to/from Azure Blob Storage, using Manged Identity | **[Azure Functions with Managed Identity](https://docs.microsoft.com/azure/app-service/overview-managed-identity/?WT.mc_id=25daysofserverless-github-cxa)** | **[Justin Yoo](https://github.com/justinyoo)** | **[Winter Solstice: Protect Secrets from Grim Reaper!](https://dev.to/azure/backup-restore-key-vault-day-22-of-25daysofserverless-winter-solstice-protect-secrets-from-grim-reaper-3n37)** | 116 | 117 | ## Contributing 118 | 119 | This project welcomes contributions and suggestions. Most contributions require you to agree to a 120 | Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us 121 | the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com/?WT.mc_id=25daysofserverless-github-bramin. 122 | 123 | When you submit a pull request, a CLA bot will automatically determine whether you need to provide 124 | a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions 125 | provided by the bot. You will only need to do this once across all repos using our CLA. 126 | 127 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/?WT.mc_id=25daysofserverless-github-bramin). 128 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/?WT.mc_id=25daysofserverless-github-bramin) or 129 | contact [opencode@https://microsoft.com:80/?WT.mc_id=25daysofserverless-github-bramin](mailto:opencode@https://microsoft.com:80/?WT.mc_id=25daysofserverless-github-bramin) with any additional questions or comments. 130 | 131 | -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | # Contributors Hall Of Fame ⭐️ 2 | 3 | [![Java-Script.jpg](https://i.postimg.cc/DwHgwmjn/Java-Script.jpg)](https://postimg.cc/G4PYM3n5) 4 | 5 | Welcome to the [#25DaysOfServerless](https://aka.ms/25daysofserverless) Contributors Hall of Fame! 6 | 7 | If you participated in the challenge between Dec 1 and Dec 25, and sent us the relevant information (name / challenge / solutions repo), then you should find your name in here. **Thank you for your contributions!!** We appreciated the enthusiasm and enjoyed checking out each and every one! 8 | 9 | ## How to participate? 💻 10 | 11 | To enter our Hall of Fame, simply [review the challenges each day](https://dev.to/azure/25-days-of-serverless-content-collection-3baj) and code your solution in the technology and programming language of your choice. 12 | 13 | Then read our [CONTRIBUTING](https://github.com/microsoft/25-days-of-serverless/blob/master/CONTRIBUTING.md) guidelines for the right way to submit your information to our team. We will process requests in batches, and respond to your submission (PR or Issue) to confirm your inclusion when done. 14 | 15 | ## Adding a contributor 16 | 17 | When we receive an awesome submission, we can add the person's name to our contributors page in this README. Follow these steps: 18 | 19 | 1. Go to the issue for a successful challenge 20 | 1. Create a comment that is formatted as shown below 21 | 22 | ```markdown 23 | @all-contributors please add @johnpapa for code 24 | ``` 25 | 26 | 1. Replace `@johnpapa` with the person's GitHub username 27 | 1. Replace `code` with whatever type of contribution the person made ([see this link for all types](https://allcontributors.org/docs/en/emoji-key)) 28 | 1. Save the comment 29 | 30 | Soon thereafter, the bot will create a Pull Request to add the contributor to this repository's contributor list. These will need to be reviewed and merged manually. 31 | 32 | ## Our Awesome Contributors 🏆 33 | 34 | We will be listing contributors in alphabetical order, by week, by challenge. At the end of the challenge we hope to recognize those who submitted the most solutions as well as feature interesting solutions from each week. So keep those contributions going! 35 | 36 | - [Contributors Hall Of Fame ⭐️](#contributors-hall-of-fame-%e2%ad%90%ef%b8%8f) 37 | - [How to participate? 💻](#how-to-participate-%f0%9f%92%bb) 38 | - [Adding a contributor](#adding-a-contributor) 39 | - [Our Awesome Contributors 🏆](#our-awesome-contributors-%f0%9f%8f%86) 40 | - [WEEK ONE - CHALLENGE 1](#week-one---challenge-1) 41 | - [WEEK ONE - CHALLENGE 2](#week-one---challenge-2) 42 | - [WEEK ONE - CHALLENGE 3](#week-one---challenge-3) 43 | - [WEEK ONE - CHALLENGE 4](#week-one---challenge-4) 44 | - [WEEK ONE - CHALLENGE 5](#week-one---challenge-5) 45 | - [WEEK ONE - CHALLENGE 6](#week-one---challenge-6) 46 | - [WEEK ONE - CHALLENGE 7](#week-one---challenge-7) 47 | - [WEEK TWO - CHALLENGE 8](#week-two---challenge-8) 48 | - [WEEK TWO - CHALLENGE 9](#week-two---challenge-9) 49 | - [WEEK TWO - CHALLENGE 10](#week-two---challenge-10) 50 | - [WEEK TWO - CHALLENGE 11](#week-two---challenge-11) 51 | - [WEEK TWO - CHALLENGE 12](#week-two---challenge-12) 52 | - [WEEK TWO - CHALLENGE 13](#week-two---challenge-13) 53 | - [WEEK TWO - CHALLENGE 14](#week-two---challenge-14) 54 | - [WEEK THREE - CHALLENGE 15](#week-three---challenge-15) 55 | - [WEEK THREE - CHALLENGE 16](#week-three---challenge-16) 56 | - [WEEK THREE - CHALLENGE 17](#week-three---challenge-17) 57 | - [WEEK THREE - CHALLENGE 18](#week-three---challenge-18) 58 | - [WEEK THREE - CHALLENGE 19](#week-three---challenge-19) 59 | - [WEEK THREE - CHALLENGE 20](#week-three---challenge-20) 60 | - [WEEK THREE - CHALLENGE 21](#week-three---challenge-21) 61 | - [WEEK FOUR - CHALLENGE 22](#week-four---challenge-22) 62 | - [WEEK FOUR - CHALLENGE 23](#week-four---challenge-23) 63 | - [WEEK FOUR - CHALLENGE 24](#week-four---challenge-24) 64 | - [WEEK FOUR - CHALLENGE 25](#week-four---challenge-25) 65 | 66 |
67 | 68 | #### WEEK ONE - CHALLENGE 1 69 | 70 | - 🏆 [Paul Shell](https://github.com/CloudExperiment/25-days-of-serverless/tree/master/week-1/challenge-1) - [Winner!](https://twitter.com/jenlooper/status/1201525971305869315) 71 | - [Adrienne Tacke](https://github.com/adriennetacke/25-days-of-serverless-2019/tree/master/day-1-dreidel-spin) 72 | - [Afreez Irekeola](https://github.com/Hayfeez/25daysofserverless/tree/master/Day%201%20-%20Serverless%20Driedel) 73 | - [Ali Spittel](https://github.com/aspittel/25-days-serverless/tree/master/dreidel) -- Python 74 | - [Anthony Nguyen](https://github.com/anthonyx21/25-days-of-serverless-solutions/tree/master/day1) 75 | - [Arnaud Leclerc](https://github.com/arnaudleclerc/25daysofserverless/tree/master/week-1/challenge-1) 76 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day1Dreidel) 77 | - [Blaine Price](https://github.com/wbprice/25-days-of-serverless-2019-solutions/tree/master/1) 78 | - [Brett Miller](https://github.com/brettmillerb/25-days-of-serverless/tree/week1/challenge1) 79 | - [Chendrayan Venkatesan](https://github.com/ChendrayanV/iAzServerless) - `PowerShell` 80 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/dreidelHttp) 81 | - [Danushka Herath](https://github.com/Danushka96/25-days-of-serverless-challenge/tree/master/day-1) `Node.js` 82 | - [Dennis Bottjer](https://github.com/dbottjer/25-days-of-serverless) 83 | - [Drew Skwiers-Koballa](https://github.com/dzsquared/25-days-of-serverless-day1) 84 | - [DrWala](https://github.com/DrWala/25-days-serverless-day-1) 85 | - [Emmanuel Nwankwo](https://github.com/emmanuelnwankwo/25DaysOfServerless/tree/master/Challenge1) 86 | - [Erik Harris](https://github.com/ncsuWolfpack/25DaysOfServerless-Challenge1.git) 87 | - [Erik Lieben](https://github.com/eriklieben/25daysofserverless2019/tree/master/day1) 88 | - [Ernesto Cardenas](https://github.com/fisica3/25DaysOfServerless/blob/master/Prueba20/DreidelApi.cs) - `C#` 89 | - [Francesco Persico](https://github.com/francescopersico/25-days-of-serverless-solutions/tree/day-1) 90 | - [Francois-Xavier Cat](https://github.com/lazywinadmin/25-days-of-serverless/tree/master/week-1/challenge-1) 91 | - [Franz Helmberger](https://github.com/FranzHelm/hlc.25daysofserverless)) 92 | - [Gabor Gulyas](https://github.com/Bhawk90/25days-of-serverless/tree/master/day-1) 93 | - [Goodhope Ordu](https://github.com/goody-h/25DaysOfServerless/tree/master/day1) 94 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_01) 95 | - [Jamel de la Fuente](https://github.com/superjamel/Day1ServerlessChallenge) 96 | - [Jason Clark](https://github.com/jjasonclark/dreidel-spin) 97 | - [Jesus Gomez](https://github.com/evuz/25-days-of-serverless-code/tree/master/Day-01) 98 | - [John Long](https://github.com/jolo-dev/azure-serverless) - `JavaScript, Azure Functions` 99 | - [John Liu](https://github.com/johnnliu/25-days-of-serverless/tree/master/solutions/w1-c1) 100 | - [John Pham](https://github.com/JohnPhamous/25-days-of-serverless-code/tree/master/Dreidel) 101 | - [Joshua Kroupenin](https://github.com/joshuakroupenin/dreidel) 102 | - [JR Cook](https://github.com/Eldorian/25DaysOfServerlessDayOne) - `C#` 103 | - [Kevin Candlert](https://github.com/KevinJCandlert/25-days-of-serverless-submissions/tree/master/25-days-of-serverless/day-1) 104 | - [Manikandan Ramaswami](https://github.com/manikandanramaswami/Serverless/tree/master/1-A-Basic-Function) - `C#` 105 | - [Manjunath P R](https://github.com/mangzee/25daysofserverless/tree/master/Day1) 106 | - [Marc Duiker](https://github.com/marcduiker/25daysofserverless2019) 107 | - [Mark Scholman](https://github.com/markscholman/25DaysOfServerless2019/tree/master/191201) 108 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-01) 109 | - [Martin Terbeck](https://github.com/martinterbeck/25dayofserverless2019/tree/master/Day1) 110 | - [Matt Davis](https://github.com/da5is/25DaysOfServerlessDay1/tree/master) 111 | - [Mike Wolford](https://github.com/mwolford/25Days-1) 112 | - [Mofope Ojosh](https://github.com/mofopeojosh/serverless-dreidel) 113 | - [Monica Powell](https://github.com/M0nica/25-days-of-serverless/tree/master/dreidel) 114 | - [Natraj Yegnaraman](https://github.com/rajyraman/25-days-of-serverless/tree/master/week-1/challenge-1/dreidel) 115 | - [Nitesh Shrestha](https://github.com/niteshrestha/25-days-of-serverless/tree/master/src/Challenge%201) 116 | - [Oleksandr Olashyn](https://github.com/OOlashyn/25-days-of-serverless/tree/master/week-1/challenge-1) 117 | - [Olivier Miossec](https://github.com/omiossec/25-days-of-serverless-omc/tree/master/1-12) 118 | - [Paul Chin Jr.](https://github.com/pchinjr/25-days-of-serverless-solutions/tree/master/week-1) 119 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/day1) 120 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day1) 121 | - [Rogier Reedijk](https://github.com/xs4free/25-days-of-serverless-2019/tree/master/Day1) -- .NET Core 3 122 | - [Sajeetharan Sinnathurai](https://github.com/sajeetharan/25daysofserverless-spin-the-dreidel) 123 | - [Samuele Cozzi](https://github.com/samuele-cozzi/25-days-of-serverless-code/tree/master/week-1) 124 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet) 125 | - [Scott Semyan](https://github.com/ssemyan/25DaysOfServerless2019/tree/master/Day-1) 126 | - [Sebastian Jensen](https://github.com/tsjdev-apps/25daysofserverless/tree/master/25DaysOfServerless/Day01) 127 | - [Shanmukha Ranganath](https://github.com/shanranm/25DaysOfServerless/tree/master/Challenge1) 128 | - [Shayan R S](https://github.com/Shayanrs31/25-days-of-serverless) 129 | - [Steve Boyd](https://github.com/Steve-Boyd/25daysofserverless2019/tree/master/week-1/day-1) 130 | - [Steve Fox](https://github.com/uofifox/25daysofserverless2019/tree/master/day1) 131 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/01-serverless-dreidel) 132 | - [Tjeerd-menno Douma](https://github.com/Tjeerd-menno/25DaysOfServerless/tree/master/day1) 133 | - [Vojtěch Srdečný](https://github.com/srdecny/serverless/tree/master/week-1/challenge-1) 134 | - [Darren Robinson](https://github.com/microsoft/25-days-of-serverless/pull/68/commits/496ed8f1ea9ae86a37b79df2c30897c7d8ec4f26) 135 | - [Chris Sainty](https://github.com/chrissainty/25DaysOfServerless/tree/master/Day1) 136 | - [Linda Nichols](https://github.com/lynnaloo/25-days-of-serverless-solutions/tree/master/dreidel-dreidel-dreidel) - `Node.js` 137 | - [Adriana NAVA AGUILAR](https://github.com/tennamiqui/25-days-of-serverless/tree/master/week-1/challenge-1) - `C#` 138 | - [David Ojeda](https://github.com/davidojedalopez/25-days-of-serverless-day-01) - `Node.js` 139 | - [Matthew Leibowitz](https://github.com/mattleibow/25-days-of-serverless/tree/implementations/week-1/challenge-1) - `C#, Azure Functions` 140 | - [Gerade Geldenhuys](https://github.com/GeradeDev/25-days-of-serverless/tree/challenges/week-1/challenge-1) 141 | - [Sébastien Jousse](https://github.com/sjousse/25DaysOfServerless/tree/master/Day01) 142 | - [Borko Djurkovic](https://github.com/borkod/25-Days-of-Serverless-Solutions/tree/master/Week-1/Challenge-1) 143 | - [Mike Wolford](https://github.com/mwolford/25Days-1) 144 | - [Mitko Tschimev](MitkoTschimev/25daysofserverless#1) 145 | - [Ethan Arrowood](https://github.com/Ethan-Arrowood/25-days-of-serverless-2019/blob/master/HttpDreidel) - `TypeScript` 146 | - [Krunal Solanki ](https://github.com/krunalsolanki/Dreidel_Spin) - `C#` 147 | - [Kevin Remhof](https://github.com/KevinRemhof/25daysofserverless/tree/master/week-1/challenge-1) - `C#` 148 | - [Michael Brown](https://github.com/aguywithcode/25-days-of-serverless/tree/solutions/week-1/challenge-1) - `C#` 149 | - [Colin Bates](https://github.com/ckabates/25-days-of-serverless-solutions/tree/master/Day1) 150 | - [Sharan Kumar](https://github.com/sharcastic/25days-of-serverless/tree/day-1-solution) 151 | - [Aryan Jabbari](https://github.com/AryanJ-NYC/25-days-of-serverless-challenge-1) - `TypeScript` 152 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day1SpinDreidel) - `Python` 153 | - [Denis Sellu](https://github.com/denissellu/25-days-of-serverles/tree/master/challenge-1-dreidel) - `Ruby, AWS Lambda, Invoke` 154 | - [Celestine Ekoh-Ordan](https://github.com/CEOehis/25-days-of-serverless/tree/master/challenge-1) - `JavaScript(NodeJS)` 155 | - [Abhishek Chaudhary](https://github.com/abhishek0220/25daysofserverless/tree/master/challenge_1) - `Python` 156 | - [Maciej Skuratowski](https://github.com/mskuratowski/25-days-of-serverless/tree/master/challenge-1) - `C#` 157 | - [Agata Krauzewicz](https://github.com/ExpressionSigh/25DaysOfServerless/tree/master/Challenge1) - `C#` 158 | 159 |
160 | 161 | #### WEEK ONE - CHALLENGE 2 162 | 163 | - 🏆 [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day2) - [Winner!](https://twitter.com/jenlooper/status/1201866366174842882) 164 | - [Adriana NAVA AGUILAR](https://github.com/tennamiqui/25-days-of-serverless/tree/master/week-1/challenge-2) - `C#` 165 | - [Blaine Price](https://github.com/wbprice/25-days-of-serverless-2019-solutions/tree/master/2) 166 | - [Borko Djurkovic](https://github.com/borkod/25-Days-of-Serverless-Solutions/tree/master/Week-1/Challenge-2) 167 | - [Chris Sainty](https://github.com/chrissainty/25DaysOfServerless/tree/master/Day1) 168 | - [Darren Robinson](https://github.com/microsoft/25-days-of-serverless/pull/68/commits/496ed8f1ea9ae86a37b79df2c30897c7d8ec4f26) 169 | - [Emmanuel Nwankwo](https://github.com/emmanuelnwankwo/25DaysOfServerless/tree/master/Challenge2) - `Logic App` 170 | - [Erik Harris](https://github.com/ncsuWolfpack/25DaysOfServerless-Challenge1.git) 171 | - [Ethan Arrowood](https://github.com/Ethan-Arrowood/25-days-of-serverless-2019/tree/master/LucyDilemma) - `Logic App` 172 | - [Gerade Geldenhuys](https://github.com/GeradeDev/25-days-of-serverless/tree/challenges/week-1/challenge-2) 173 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_02) 174 | - [Joshua Kroupenin](https://github.com/joshuakroupenin/lucyshedule) - `Logic App` 175 | - [JR Cook](https://github.com/Eldorian/25DaysOfServerlessDay2) 176 | - [Krunal Solanki](https://github.com/krunalsolanki/25DaysOfServerless/tree/master/Challenge2) 177 | - [Linda Nichols](https://github.com/lynnaloo/25-days-of-serverless-solutions/tree/master/keep-the-candles-burning) - `Logic App` 178 | - [Manjunath P R](https://github.com/mangzee/25daysofserverless/tree/master/Day2) - `Logic App, Twilio` 179 | - [Michael Brown](https://github.com/aguywithcode/25-days-of-serverless/tree/solutions/week-1/challenge-2) - `Logic App` 180 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-02) 181 | - [Manjunath P R](https://github.com/mangzee/25daysofserverless/tree/master/Day2) 182 | - [Mark Scholman](https://github.com/markscholman/25DaysOfServerless2019/tree/master/191201) 183 | - [Mike Wolford](https://github.com/mwolford/25Days-2) 184 | - [Mitko Tschimev](MitkoTschimev/25daysofserverless#2) 185 | - [Narciso Ocampo](https://github.com/nardsocampo/25DaysOfServerless/tree/master/week-1/challenge-2) 186 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day01) 187 | - [Oleksandr Olashyn](https://github.com/OOlashyn/DWC-25-days-of-serverless/tree/master/week-1/challenge-2/PowerAutomate) 188 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day2) - `Logic App` 189 | - [Shayan R S](https://github.com/Shayanrs31/25-days-of-serverless/tree/master/Day2) 190 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/02-task-scheduler) 191 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day02) 192 | - [John Long](https://github.com/jolo-dev/azure-serverless/tree/jolo-challenge-1/challenge_2) - `Typescript and Azure's Logic App` 193 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day2Lucy) - `Logic App` 194 | - [Denis Sellu](https://github.com/denissellu/25-days-of-serverles/tree/master/challenge-2-lucy) - `Ruby, AWS Lambda, AWS Step function` 195 | 196 |
197 | 198 | #### WEEK ONE - CHALLENGE 3 199 | 200 | - 🏆 [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/03-webhooks) - `Azure SQL Database & cat pics!!` - [Winner!](https://twitter.com/jenlooper/status/1202230202631409671) 201 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day3FurryFriends) - `PowerShell in Function App` 202 | - [Chris Sainty](https://github.com/chrissainty/25DaysOfServerless/tree/master/Day3) 203 | - [David Ojeda](https://github.com/davidojedalopez/day-03) - `Node.js, AWS services` 204 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/secretSantaHttp)- `Node.js, Table Storage` 205 | - [Drew Skwiers-Koballa](https://github.com/dzsquared/25-days-of-serverless-day3)- `C#, Azure Function, Azure SQL` 206 | - [Ethan Arrowood](https://github.com/Ethan-Arrowood/25-days-of-serverless-2019/tree/master/SecretSanta) - `TypeScript, Azure Functions, Azure SQL` 207 | - [Gerade Geldenhuys](https://github.com/GeradeDev/25-days-of-serverless/tree/challenges/week-1/day3) 208 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_03) - `C#, Azure Functions, MongoDB` 209 | - [Manjunath P R](https://github.com/mangzee/25daysofserverless/tree/master/Day3) - `C#, Azure Functions` 210 | - [Marc Duiker](https://github.com/marcduiker/25daysofserverless2019/tree/master/src/Day03) - `C#, Azure Functions` 211 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-03) 212 | - [Mitko Tschimev](MitkoTschimev/25daysofserverless#3) 213 | - [Narciso Ocampo](https://github.com/nardsocampo/25DaysOfServerless/tree/master/week-1/challenge-3) - `C#, Azure Functions` 214 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day03) - `Node.js Functions, Table Storage` 215 | - [Olivier Miossec](https://github.com/omiossec/25-days-of-serverless-omc/tree/master/3-12) 216 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day3) 217 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day3) 218 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day03) 219 | - [Sébastien Jousse aka LINQ lover](https://github.com/sjousse/25DaysOfServerless/tree/master/Day03) 220 | - [Shayan R S](https://github.com/Shayanrs31/25-days-of-serverless/tree/master/Day%203) 221 | - [Colin Bates](https://github.com/ckabates/25-days-of-serverless-solutions/tree/master/Day3) - `C#, Azure Functions, CosmosDb` 222 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day3SecretSanta) - `Python` 223 | - [John Long](https://github.com/jolo-dev/azure-serverless/tree/jolo-challenge-1/challenge_3) - `Python` 224 | - [Abhishek Chaudahry](https://github.com/abhishek0220/25daysofserverless/tree/master/challenge_3) - `Python, CosmosDB` 225 |
226 | 227 | #### WEEK ONE - CHALLENGE 4 228 | 229 | - 🏆 [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day4potluck) - `PowerShell, CosmosDB` - [Winner!](https://twitter.com/jenlooper/status/1202589175180091397) 230 | - [Blaine Price](https://github.com/wbprice/25-days-of-serverless-2019-solutions/tree/master/4) - `Node.js & Table Storage` 231 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-4) - `Node.js & Storage Table` 232 | - [David Ojeda](https://github.com/davidojedalopez/day-04) - `AWS Lambda, Node.js,DynamoDB` 233 | - [Drew Skwiers-Koballa](https://github.com/dzsquared/25-days-of-serverless-day4) - `Node.js, Azure Functions, CosmosDB` 234 | - [Ethan Arrowood](https://github.com/Ethan-Arrowood/25-days-of-serverless-2019/tree/master/EzraParty) - `TypeScript, Azure Functions, Azure CosmosDB` 235 | - [Franz Helmberger](https://github.com/FranzHelm/hlc.25daysofserverless.chall4) - `C#` 236 | - [Gabor Gulyas](https://github.com/Bhawk90/25days-of-serverless/tree/master/day-4) - `C#, Azure Functions, Table Storage` 237 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_04) - C#, Azure Functions, MongoDB 238 | - [Kevin Candlert](https://github.com/KevinJCandlert/25-days-of-serverless-submissions/tree/master/25-days-of-serverless/day-4) - `C#, Azure Functions, Table Storage` 239 | - [Marc Duiker](https://github.com/marcduiker/25daysofserverless2019/tree/master/src/Day04) - `C#, Azure Functions, Table Storage` 240 | - [Manjunath P R](https://github.com/mangzee/25daysofserverless/tree/master/Day4) - `C#, Mongo Atlas, Azure Functions` 241 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-04) - `TypeScript, Azure Functions` 242 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day04) - `Node.js, Azure Functions, CosmosDB` 243 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day4) - `C#, Azure Functions, CosmosDB` 244 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day4) - `C#, Azure Functions with Function Proxies` 245 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day04) - `C#, Azure Functions, Table Storage` 246 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/04-api-endpoint) - `C#, Azure Functions, Table Storage` 247 | - [Abhishek Chaudhary](https://github.com/abhishek0220/25daysofserverless/tree/master/challenge_4) - `Python, CosmosDB` 248 | 249 |
250 | 251 | #### WEEK ONE - CHALLENGE 5 252 | 253 | - 🏆 [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day5) - `Azure Functions, Azure Cognitive Service, .NET C#` - [Winner!](https://twitter.com/jenlooper/status/1202958630762504192) 254 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day5NaughtyorNice) - `PowerShell Function App and Azure Cognitive services` 255 | - [Blaine Price](https://github.com/wbprice/25-days-of-serverless-2019-solutions/tree/master/5) - `NodeJS, written using an Azure Function App and the Azure Text Analytics API` 256 | - [David Ojeda](https://github.com/davidojedalopez/day-05) - `Uses AWS Comprehend to detect sentiment in words.` 257 | - [Drew Skwiers-Koballa](https://github.com/dzsquared/25-days-of-serverless-day5) - `TypeScript/Node.js` 258 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_05) - C#, Azure Functions 259 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day05) - Node.js SDKs ,Blob Storage 260 | - [Ethan Arrowood](https://github.com/Ethan-Arrowood/25-days-of-serverless-2019/tree/master/NaughtyOrNice) `TypeScript, Azure Functions, Azure Cognitive Services Text Analysis` 261 | - [Franz Helmberger](https://github.com/FranzHelm/hlc.25daysofserverless.chall5) - `.NET C#` 262 | - [Gerade Geldenhuys](https://github.com/GeradeDev/25-days-of-serverless/tree/day04/week-1/Day5/NaughtyOrNice) - `Azure Function, Language detector, Text Translator, Text analytics (Sentiment analysis) C# .NET` 263 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-05) - `Node.js Azure Function with Congitive Service (Translator Text + Text Analytics) using respective Node.js SDK's.` 264 | - [Olivier Miossec](https://github.com/omiossec/25-days-of-serverless-omc/tree/master/5-12) - `PowerShell` 265 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day5) - `Logic App, Text translator API, Text Analytics API` 266 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day05) `C# with .Net Core, Azure Functions, Azure Cognitive Services and some fun with tuples.` 267 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/05-naughty-or-nice) `Azure Functions, Storage (Queue and Table), Azure Cognitive Services (Text Translator and Text Analytics) and an App Service. Oh, and C#` 268 | - [Abhishek Chaudhary](https://github.com/abhishek0220/25daysofserverless/tree/master/challenge_5) `Python with Text Analytics API` 269 | 270 |
271 | 272 | #### WEEK ONE - CHALLENGE 6 273 | 274 | - 🏆 [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-06) `TypeScript Azure Durable Functions with notifications to slack via webhook using Slack SDK.` - [Winner!](https://twitter.com/jenlooper/status/1203352300653338625) 275 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day6Sinterklaas) `Azure Automation Account - Logic App - Teams` 276 | - [David Ojeda](https://github.com/davidojedalopez/day-06) `AWS Lambda with NodeJS.` 277 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day06) `Node.js, Durable Functions, Slack` 278 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day6) `C#, Azure Durable function, LUIS, Slack API` 279 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day6) `C#, Azure Functions` 280 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/06-durable-pattern) `Slack, Azure Durable Functions and Javascript.` 281 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day06) `C#, LUIS, DurableFunction` 282 |
283 | 284 | #### WEEK ONE - CHALLENGE 7 285 | 286 | - 🏆 [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day07) `Azure Functions, Node.js, Unsplash, ReactJS, Azure Storage` - [Winner!](https://twitter.com/jenlooper/status/1203683409882701824) 287 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-07) `C#, Azure Functions` 288 | - [Chendrayan Venkatesan](https://github.com/ChendrayanV/iAzServerless/tree/master/iUnsplashx) `Azure Functions, PowerShell` 289 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day7) `C#, Azure function, Unsplash REST API` 290 | - [Olivier Miossec](https://github.com/omiossec/25-days-of-serverless-omc/tree/master/7-12) `PowerShell, Azure Functions` 291 | - [Gabor Gulyas](https://github.com/Bhawk90/25days-of-serverless/tree/master/day-7) `.NET Core, Unsplash Picture API, Azure Functions` 292 | - [Franz Helmberger](https://github.com/FranzHelm/hlc.25daysofserverless.chall7.git) `C#, Azure Functions` 293 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day7) `.net core 3.0, Cognitive service - Bing Image Search API, Azure KeyVault, Azure Functions` 294 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_07) `Azure Functions, C#, dot net, Bing Image Search SDK, Azure Keyvault` 295 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/07-picture-challenge) `Azure Functions, C#, Unsplash` 296 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day07) `Azure Functions, C#, Unsplash` 297 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day7Pictures) `Azure Functions, Powershell` 298 | - [Samuele Cozzi](https://github.com/samuele-cozzi/25-days-of-serverless-code/tree/master/day-7) `Azure Functions, C#, Unsplash` 299 | - [Drew Skwiers-Koballa](https://github.com/dzsquared/25-days-of-serverless-day7) `Azure Functions, TypeScript` 300 | - [David Ojeda](https://github.com/davidojedalopez/day-07) `AWS Lambda, NodeJS, Unsplash` 301 | - [Abhishek Chaudhary](https://github.com/abhishek0220/25daysofserverless/tree/master/challenge_7) `Python and unsplash API` 302 | - [Colin Bates](https://github.com/ckabates/25-days-of-serverless-solutions/tree/master/Day7) `C#, Azure Function, Unsplash Api` 303 |
304 | 305 | #### WEEK TWO - CHALLENGE 8 306 | 307 | - 🏆 [Gabor Gulyas](https://github.com/Bhawk90/25days-of-serverless/tree/master/day-8) - `Azure Functions, Azure Table Storage, SignalR and Blazor Web App` - [Winner!](https://twitter.com/jenlooper/status/1204081874458595329) 308 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/08-incident-status-page) - `Azure CosmosDB, SignalR, Azure Functions, Azure Storage running a UI, Javascript` 309 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-08) - `C# Azure Functions with Azure Storage of status data, SignalR service for real-time updates to an Angular app` 310 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day8Status) - `PowerShell in Azure Function App` 311 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day8) - `.net core 3. Durable Function - Durable entities, SignalR` 312 | - [Chendrayan Venkatesan](https://github.com/ChendrayanV/iAzServerless/tree/master/IncidentStatus) - `PowerShell 😊 and ServiceNow REST API` 313 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day8) - `Azure functions , vue.js sample` 314 |
315 | 316 | #### WEEK TWO - CHALLENGE 9 317 | 318 | - 🏆[Chidera Olibie](https://github.com/Je-ni/25DaysOfServerless/tree/master/day9) - `Azure Functions, JavaScript` 319 | - [Gwyneth Pena](https://github.com/madebygps/25-days-of-serverless-2019/tree/master/day_09) - `Azure Functions, .Net, OktokitNet, Azure keyvault` 320 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-09) - `Python Azure Functions, GitHub webhook and PyGithub pip package.` 321 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-9) - `NodeJS Azure Functions, nodeJS and Octokit.` 322 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/09-automated-github-issue-comments) - `Two solutions. One using an Azure Function written in C#, and the other using a Logic App. Both solutions also use a KeyVault for the GitHub PAT token` 323 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Day9EbenezerScrooge) - `PowerShell and Azure Functions` 324 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day9GithubIssues) - `Python and Azure Functions` 325 | - [Gerade Geldenhuys](https://github.com/GeradeDev/med-park-360/) - `GitHub Actions` 326 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day9) - `C#, Azure Functions, Octokit` 327 | - [Olivier Miossec](https://github.com/omiossec/25-days-of-serverless-omc/tree/master/9-12) - `Powershell, Azure Functions, GitHub Actions` 328 | - [Rahul Ruikar](https://github.com/rahulruikar/25DaysOfServerless/tree/master/Day9) - `Azure Functions, Octokit, C#` 329 |
330 | 331 | #### WEEK TWO - CHALLENGE 10 332 | 333 | - 🏆 [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day10) - `C#, Azure Functions, Timer Trigger, Azure Blob and Table Storage` - [Winner!](https://twitter.com/jenlooper/status/1204775175436296192) 334 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-10) - `Azure Logic App, Azure Blob Storage, Website with Azure Blob Storage, and Vanilla JS` 335 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day10) - `Azure Logic App, Azure Blob Storage, and Website with Azure Blob Storage` 336 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/blob/master/Daya10DailyAggregatedDeals/Readme.md) - `Azure Logic App` 337 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/10-timer-trigger) - `Logic App, Table Storage, C#, Azure Functions, Angular, and Website with Azure Blob Storage` 338 | - [Colin Bates](https://github.com/ckabates/25-days-of-serverless-solutions/tree/master/Day10) - `C#, Logic App, Blob Storage` 339 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-10) - `Node, Azure Functions` 340 | 341 | 342 |
343 | 344 | #### WEEK TWO - CHALLENGE 11 345 | 346 | - 🏆 [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/) - `Azure functions using Python` 347 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-11) - `C#, HTML, Slack API, etc` 348 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day11) - `Cosmos Db, slack api - incoming webhooks, c#` 349 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya11Wishmaster2000) - `PowerShell in a function App - CosmosDB - Teams` 350 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/11-wishlist) - `C# Azure Functions and MVC site. CosmosDB, Slack API` 351 | - [Samuele Cozzi](https://github.com/samuele-cozzi/25-days-of-serverless-code/tree/master/day-11) - `JavaScript, CosmosDB, Slack API` 352 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day11) - `C#, HTTP triggered functions, Azure Queue Storage, Azure Table Storage, Teams API` 353 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day11) - `JavaScript, CosmosDB, Slack webhook` 354 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-11) - `JavaScript, CosmosDB, Slack Webhook` 355 | 356 |
357 | 358 | #### WEEK TWO - CHALLENGE 12 359 | 360 | - 🏆 [Mateusz Ochęcki](https://github.com/mochecki/25daysofserverless/tree/master/day12) - `Azure Function 3.0, .net core 3.0, API Management (Consumption Plan) with caching policy` 361 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-12) - `JavaScript, Redis` 362 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/12-caching) - `C#, Redis` 363 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day12) - `C#, .net core 3.0, octokit, markdig, Azure Redis cache` 364 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya12HolidayCards) - `PowerShell Function App ⚡ with the Github Markdown API` 365 | - [Samuele Cozzi](https://github.com/samuele-cozzi/25-days-of-serverless-code/tree/master/day-12) - `JavaScript, Redis` 366 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day12) - `Gist APIs, Github emoji APIs, Azure Redis Cache` 367 | - [Scott Rudy](https://github.com/scottrudy/25-days-of-serverless-dotnet/tree/master/day12) - `C#. HTTP triggered function leveraging input binding for Azure Table Storage for caching. Github Content API.` 368 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day12caching) - `Python, Redis` 369 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-12) - `NodeJS and Redis` 370 | 371 |
372 | 373 | #### WEEK TWO - CHALLENGE 13 374 | 375 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya13GetaJoke) - `PowerShell, CosmosDB` 376 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day13jokeapi) - `Python` 377 | - [Paweł Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day13/Functions) - `Python` 378 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/13-the-yule-lads) - `Python` 379 | 380 |
381 | 382 | #### WEEK TWO - CHALLENGE 14 383 | 384 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-14) - `C# Azure Functions, Azure SignalR Service and a Vue static website with Gravatar user icons.` 385 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day14) - `Signal R, Azure AD, vue.js, .net core` 386 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/) - `Azure function and Python` 387 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/14-yule-book-flood) - `C#/Javascript` 388 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya14YuleBookFlood) - `PowerShell Function App - SignalR - Azure Web App` 389 | 390 |
391 | 392 | #### WEEK THREE - CHALLENGE 15 393 | 394 | - 🏆 [Jayendran Arumugam](https://github.com/jayendranarumugam/25daysofserverless) - `Azure Computer Vision, Java Azure Functions` 395 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-15) - `Java Azure Function with Azure Cognitive Services Computer Vision` 396 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day15) - `Bing Search API, Cognitive Services, Vision API, C#` 397 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya15Weihnachtsmarkt) - `PowerShell Function App with the Unsplash API and Cognitive Services (Computer Vision)` 398 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/15-cognitive-services-computer-vision) - `Azure Function (v3), C#, Computer Vision, Azure's Cognitive Services` 399 | - [Samuele Cozzi](https://github.com/samuele-cozzi/25-days-of-serverless-code/tree/master/day-15) - `JavaScript, Unsplash` 400 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day15) - `2 node.js functions, React UI (hosted on Azure Storage a/c), Cognitive Services Vision API` 401 | - [Drew Skwiers-Koballa](https://github.com/dzsquared/25-days-of-serverless-day15) - `Typescript, Azure Function, Azure Computer Vision` 402 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day15cognitiveapi) - `Azure Functions, Python, Computer Vision` 403 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-15) - `JavaScript, Cognitive Services` 404 | 405 | --- 406 | 407 | #### WEEK THREE - CHALLENGE 16 408 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-16) - `Typescript Azure Function with Github Actions CI/CD` 409 | - [Jayendran Arumugam](https://github.com/jayendranarumugam/25daysofserverless/tree/master/CH16.functions) - `Python Azure Functions, Azure DevOps Pipeline CICD, VSCode` 410 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day16) - `c#, Azure DevOps, Azure Pipelines, Arm templates` 411 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya16Posadas) - `PowerShell Function App, Azure DevOps` 412 | - [Niall Kelly](https://github.com/nkelly75/25-days-of-serverless/tree/master/day16) - `Simple node.js function, CI/CD with Azure DevOps` 413 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day16posadas) - `Python, JSON schema, GitHub Actions` 414 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/16-ci-cd-for-azure-functions) - `C++, Azure Pipelines, ARM templates` 415 | 416 | --- 417 | 418 | #### WEEK THREE - CHALLENGE 17 419 | 420 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-17) - `NodeJS, Azure Functions` 421 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day17IoT) - `Python Azure Functions` 422 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/17-iot-hub) - `Azure Logic Apps, with web front end` 423 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day17) - `Python Azure Functions` 424 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya17BBQontheBeach) - `Powershell Azure Function` 425 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/blob/master/Day-17) - `NodeJS Azure Functions` 426 | 427 | --- 428 | 429 | #### WEEK THREE - CHALLENGE 18 430 | - 🏆 [Mandar Dharmadhikari](https://github.com/mandardhikari/25DaysOfServerlessChallange18) - `azure functions, event grid, blob trigger` 431 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-18) - `C# Azure Function, Blob Trigger and Computer Vision` 432 | - [Jayendran Arumugam](https://github.com/jayendranarumugam/25daysofserverless/tree/master/ComputervisionCh18.functions) - `Azure Functions with Java, Computer Vision, Blob Trigger` 433 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya18ThePerfectGift) - `PowerShell Function App, Computer Vision and Sendgrid` 434 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day18) - `C#, Blob Storage, SignalR, Bootstrap` 435 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/18-wrapping-the-perfect-gift) - `A C# Azure Function, Computer Vision as well as blob and table storage within a Storage Account` 436 | - [Maciej Skuratowski](https://github.com/mskuratowski/25-days-of-serverless/tree/master/challenge-18) - `C#, Azure Functions, Blob Storage, Blob Trigger, Table Storage, Table Trigger` 437 | - [Deepak Dhami](https://github.com/DexterPOSH/25dayofserverless/tree/master/day18giftPicture) - `Azure functions & Python` 438 | - [Daniel Paulus](https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-18) - `NodeJS with Azure Cognitive Service and a post hook to Slack` 439 | 440 | 441 | --- 442 | 443 | #### WEEK THREE - CHALLENGE 19 444 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/19-durable-entities) - `python, logic apps` 445 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya19Balloons) - `Powershell, ` 446 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day19/Functions) - `C#, Durable Entities` 447 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-19) - `` 448 | 449 | --- 450 | 451 | #### WEEK THREE - CHALLENGE 20 452 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/20-iot-with-cognitive-services) - `Azure Functions, Cognitive Services, Xamarin` 453 | - [Pawel Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day20/Functions) - `Azure Functions, Blob triggers, Signalr` 454 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-20) - `Azure Functions, C#, Computer Vision, Slack` 455 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya20AreTherePresentsYet) - `Powershell, blob triggers, IoT Hub, Computer vision, Email` 456 | 457 | --- 458 | 459 | #### WEEK THREE - CHALLENGE 21 460 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya21GiftRegistries) - `PowerShell Function App and CosmosDB` 461 | - [Colin Bates](https://github.com/ckabates/25-days-of-serverless-solutions/tree/master/Day21) - `C#, Azure Functions, Entity Functions, Postman` 462 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-21) - `C# Azure Durable Entity Functions` 463 | - [Pawal Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day21) - `C#, Durable Entities, Durable function` 464 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/21-serverless-workflows-durable-functions) - `Azure Function using Durable Entities and written in C#` 465 | 466 | --- 467 | 468 | #### WEEK FOUR - CHALLENGE 22 469 | 470 | - [Paweł Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day22/Functions) – `Azure Functions`, `C#`, `IoC container` 471 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/22-kay-vault-backup) – `Azure Functions`, `C#` 472 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya22WinterSolstice) – `Azure Functions`, `PowerShell` 473 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-22) – `Azure Functions`, `C#`, `Azure CLI`, `Managed Identity` 474 | 475 | --- 476 | 477 | #### WEEK FOUR - CHALLENGE 23 478 | 479 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya23ChasseGalerie) - `Azure Functions with PowerShell` 480 | - [Paweł Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day23) - `Azure Functions, C#` 481 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/23-instrumenting-functions) - `Azure Functions with C#, Durable Entities, Application Insights, ARM templates` 482 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-23) - `Azure Functions with Node, Application Insights` 483 | 484 | --- 485 | 486 | #### WEEK FOUR - CHALLENGE 24 487 | 488 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya24Gavlebocken) - `Logic App, Sentiment Analysis` 489 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-24) - `C# Azure Function, Key Vault, Managed Identity and Twitter webhooks` 490 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/24-security-and-integrity) - `C#, Logic App, CosmosDB, Azure Functions, Translation and Sentiment Analysis, App Service for the UI, Azure Key Vault.` 491 | - [Paweł Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day24) - `Azure KeyVault, Facebook Authentication` 492 | 493 | --- 494 | 495 | #### WEEK FOUR - CHALLENGE 25 496 | 497 | - [Barbara Forbes](https://github.com/Ba4bes/25daysofserverless/tree/master/Daya25KheerRecipe) - `PowerShell function App, Cognitive services (SpeechToText), Storage Account` 498 | - [Paweł Haracz](https://github.com/PawelHaracz/25daysofserverless/tree/master/Day25) - `Twillo, Blob storage, cognitive speech service, dotnet` 499 | - [Stuart Leaver](https://github.com/stuartleaver/25-days-of-serverless/tree/master/25-audio-transcription) - `C#, Azure Function, Speech to Text Cognitive Service and Twilio` 500 | - [Marcus Turewicz](https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-25) - `C# Azure Function, Speech to Text and Blob Storage` 501 | 502 | --- 503 | --------------------------------------------------------------------------------