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!
## Rules
1. Solve each [coding challenge](https://aka.ms/25daysofserverless) in the first 25 days of December.
2. Tweet your progress during the challenge period using the hashtag [#25DaysOfServerless](https://twitter.com/search?q=%2325DaysOfServerless).
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).
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.
## Suggested Resources
- **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=25daysofserverless-github-cxa)**
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)**.
## Submit your solution as a custom ISSUE to our repository
🚨 **Submission Process Change:** Starting Dec 3, 2019 🚨
> _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._
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:
1. Create a Github repo with your solution for that challenge
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.
Have questions or comments? Submit a regular [ISSUE](https://github.com/microsoft/25-days-of-serverless/issues/new/choose) here with details.
## Discord Channel
Discussion Channels are available on Discord: [Permanent Link to Server](https://discord.gg/8kbAeud)
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/) applies to all discussion channels.
## Solutions
Here all the link solutions of each challenges published in **[dev.to](https://dev.to/)**
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |
| [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)** |