Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fboucher/not-a-dog-workshop

Workshop to build an automatic Not a Dog application , using the Serverless Azure Functions and Cognitive Services
https://github.com/fboucher/not-a-dog-workshop

azure azure-devops azure-pipeline ci-cd cognitive-services workshop

Last synced: about 2 hours ago
JSON representation

Workshop to build an automatic Not a Dog application , using the Serverless Azure Functions and Cognitive Services

Awesome Lists containing this project

README

        

[![Build Status](https://dev.azure.com/cloud5mins/Not-a-Dog-Workshop/_apis/build/status/FBoucher.Not-a-Dog-Workshop?branchName=master&?WT.mc_id=tohack-github-frbouche)](https://dev.azure.com/cloud5mins/Not-a-Dog-Workshop/_build/latest?definitionId=22&branchName=master) [![GLO Board](https://img.shields.io/badge/with-GLO_Board-orange/?color=05887F&logoWidth=15&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABMCAMAAADeDICLAAAABlBMVEX///8A/+Bm7Mx0AAAAAXRSTlMAQObYZgAAAXlJREFUeNrV2NGOwjAMRNH4/396X5Cm26twww5IrF9CXfvUSlskWPuYOUh4kJ25HzN3RsOBi+SrMolLINu7hFx2t5dROgicLVyRC1fkwgWssru9zJZzuXFd7l2/gT3MXndL+ZEw12VO+lg6OA5gcV3OkitNBxMiDNdk7oXsRLkXzcDswfJJeHVwkIgfhOfL4ZDXzzV8nRIwZHUdNtldhym7SzgZkdWNhokpu8uJvxRep7DLPvC/hte7YfnahOzu3Zr4m0KYXs+FdZCTRD3EbeGzn2MGr/fBkXCdAia034t5GY6HBGXePLgcUEfehw8cWGRxoWDXSQtLxEZ2WAxkHTaX6UEHHzeBJR94s5z0z/aMw3jZKGd1WFzZZofpAoasMN3kVXZ4bgObPGfwYJ69nE8Os8VlUlw2rsvzBJ6h63JoiDjn7v3GOcwel22rWaTy78ItjHIPlBKu/kCe2cKs+xNN2FmnBzCft5fpBN+MsB0dGGxt47AOwsvjB19NCt1bbfikAAAAAElFTkSuQmCC)](https://app.gitkraken.com/glo/board/XQPiybIcWAAP_ToG)

[![Deploy to Azure](https://img.shields.io/badge/Deploy%20To-Azure-blue?logo=microsoft-azure)](https://portal.azure.com/?WT.mc_id=dotnet-0000-frbouche#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FFBoucher%2FNot-a-Dog-Workshop%2Fmaster%2Fdeployment%2FdeployAzure.json?WT.mc_id=cloud5mins-github-frbouche) ![Starts](https://img.shields.io/badge/dynamic/json?url=http://api.github.com/repos/fboucher/Not-a-Dog-Workshop&label=Stars&query=$.stargazers_count&color=blue) [![Serverless Library](https://img.shields.io/badge/Serverless%20Library-%E2%9C%94%EF%B8%8Fyes-blue?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAACx1BMVEUAAAAAAAAAAP8Af38AVaoAf78AVaoAbbYAXLkAc7kAZqoAWqUAY7gAZrIAZa4AYKwAY7QAZ7YAZ7MAZ7UAZLMAY7MAZLUAZrIAZLcAY7QAZrIAZLMAZLYAZ7YAZLYAZrcAZbgAZLMAZ7YAZbIAZLQAYrMAY7UAZLUAZLYAZbQAZrcAZbMAZbgAZbQAZrQAZrgAZrcAZbgAaLkAZbUAZbYAZ7YAZbUAZrUAZ7YAZ7cAZbcAZrcAZ7cAZrcAZ7cAZrcAZrcAZbcAZ7YAZ7cAZrcAZrYAZrcAZbYAZrcAZ7cAZrYAZrcAZrcAZ7cAZ7gAZrcAZrcAZ7cAZ7gAZ7gBaLcCaLcDabgEaLYFabUGarQGa7oHarMIbLoKbbsMbrsOb7wPcLwQcb0Rcb0SbawTcr0Xdb4Ydb8Zdr8dc6UeecEfdKQgcqMhe8Eic6IkdqEkfcIndJ4of8MqeJ0rgcQsdpsseZwxhMY2eZQ3iMc7fZI7gJJBjstCfYxGkcxHkcxMh4hNlc5TmM9VioFVmtBYnNFZnNFbndFbntFcntFcntJdn9Jfh3lhodNiodNnpNVopdVsi3Bsp9Ztj3BulXFuqdZuqddwqtd0mG11mG12j2l7mml9kWWGn2KMlluUpVmWpliaqFWpoEeusEivokOz0uq31Ou51eu61uy7pju81+2/2O3BqDfB2u7C2u7C2+7DqTbD2+7EuTrF3O/F3e/G3e/H3e/H3u/ItTbKqzLKuzbL4PDOsjDOvTTW5vTb6vXdwyrgsyPg7ffitCLk7/jm8PjqyCLq8/ns9PrttxrwuBjxuBfyzB3zvBfzzBzz+Pz0uRb1uRX1+fz2+v33+v34+/35uxL5/P36/P77wxP70Bf7/f78yhT8yxT8zBX8zRX8zhX8zxb80Bb8/f79vA/9vQ/9vhD9vxD9wBH9whH9xBL9xhP9xxP9yBOZ2sNJAAAAU3RSTlMAAQECAwQGBwsLDxESFCMlKSovOz1AQkNHSFBRUVFUVVpbW11gYmRlZmdoaWlqbXByc3V5e36AgYOIubrBysvR09XX2drd3ub2+vv7/Pz8/f7+/mxm4TkAAAHCSURBVHgBXcz1U1VBHEDxr90d2N2KLYbYAbZwVAzB7g6xOxS7OzCwu8UQFVtEBUMxWFeeoX+Ee5e5bxg+v56ZI155itesX80nl6STpYJ/EI5uzUplShsKtwVGP4+LexEff7hlQfHy7YKxU6kkrZ+NI7CsG2pj3VLql9YbgZ5lxCraHRjJDKW+an2qzwgg0A6zdQSWvhm/V6nf+tXkWS/nAi0ymFILWJEY0fuuSv6hd8H21wuA0qa0hrXvVzJHqb/6egiwKWERNBfJBxtM4IBSKfpJTEzM8b7rExbTOadUZNunCOj3UH3+6fF49NuZsC5xOT7SaOv3VcBCZSXpPRir3y2rIk1vx4YBS/ZHRh5SynMuBCP0wbE64jfl8clQrC3q39MJGGFno4dXlcqEPzqRmi4kp6yx4XT0UIpJAZgWe3QgMPbjn4M2nLk6hB65RdrDpHtRJu34dn8YMOj85cHgLyJ1gTF3jvTnxod5Trh0xQTKmZIjABh1MXzil30Y86Oc0CazGCWDcOy+OQBXp0JiNcZxbTpe1SVVRr9gmLoZV1df8SoRwOxebuhQRNLIXq8dVnCrGlklnfyVGjZpUD6vuP4DQn3cxeG842QAAAAASUVORK5CYII=)](https://serverlesslibrary.net/sample/b6d4f0d0-13c4-4de9-8590-5a267a8c3cde)

# Not a Dog Workshop

This workshop is for beginners who would like to learn more about the cloud and then try some available services. Today artificial intelligence (AI) can benefit a lot of our applications and most of the time it's easier than we think to implement it.

![Dog or Not a Dog Application](https://github.com/FBoucher/Not-a-Dog-Workshop/blob/master/medias/workshopHeader.png)

During this workshop you will deploy and complete a web application able to detect when the pictures are dogs or not and keep our image folder "clean". We call that application: *The automatic Not a Dog application*.

> We are using dogs as topics, but you can definitely extend the capability of the application to manage pictures of an event, the office, or a group. You could automatically generate tags and so many things...

## What You Will Need Before the Workshop

To get the best of this Not a Dog Workshop, we **strongly** suggest that you prepare your station with all the required software. Nothing complicated and all the tools that we are going to use during the workshop supports macOS, Linux, and Windows - so you can hit the ground running, no matter the platform.

[How to install all the prerequisites](workshop-prerequisites.md)

## Part 1 - Deploy the solution to Azure

To get started we will deploy a simple Asp.Net Core MVC application to Azure. This website will display all the images contained in our Azure storage.

There are many different ways to deploy to Azure. You can deploy directly from development tools like Visual Studio or build a Continuous Integration and Continuous Deployment (CI-CD). For today's workshop, everything is prepared for you. Click the following link to get started.

**[Deploying the startup solution to Azure](Part1-Deploying-the-startupSolution.md)**

## Part 2 - Creating the Cognitive Services

The goal of this step is to create a Cognitive Service, and use its Vision API to detect dogs in our images.

**[How to Create a Cognitive Service](Part2-Create-an-Cognitive-Services.md)**

## Part 3 - Build and Deploy the Azure Function

Now that we have some Artificial Intelligence (AI) that will analyze the images, we need some code that should be executed every time a new picture is added.

To do this we will use an Azure Function.

**[Build and Deploy the Azure Function](Part3-Build-and-Deploy-The-Azure-Function.md)**

## Part 4 - It's time to play!

Does our dog detector work correctly?! It's time to test our application...

**[How to use the Automatic Not a Dog Application](Part4-Its-time-to-play.md)**

## Resulting Solution

If you are interested in deploying the end result (without doing all the workshop), go check this one-step deployment.

**[Deploy the Automatic Not a Dog Solution](final/readme.md)**

---

## Learn More

At the top of this page there is a badge status

[![Build Status](https://dev.azure.com/cloud5mins/Not-a-Dog-Workshop/_apis/build/status/FBoucher.Not-a-Dog-Workshop?branchName=master&?WT.mc_id=tohack-github-frbouche)](https://dev.azure.com/cloud5mins/Not-a-Dog-Workshop/_build/latest?definitionId=22&branchName=master)

Every check-in into the master branch will trigger an Azure Pipeline to build the project. This **Azure DevOps** project is public. Click on the badges to open the project and see all the details.

[Azure DevOps](https://azure.microsoft.com/services/devops/?WT.mc_id=dotnet-0000-frbouche) is free! You can have:

- Unlimited number of public or private **projects**
- **Repositories** (or link your Git repo to it)
- **Boards** to keep tracks of your works, tasks, issues.
- Build and Release **Azure Pipeline** to have nice CI-CD processes.
- So much more!

## Video version

If you prefer I have a video where I walkthrough all the workshop (aussi disponible en francais!).

[![YouTube](https://github.com/FBoucher/Not-a-Dog-Workshop/raw/master/medias/YouTubeThubnail.png)](https://youtu.be/ic-eP-gtFSo)

## Contributing

If you find a bug or would like to add a feature, check out those resources:

- To see the current work in progress :[GLO boards](https://app.gitkraken.com/glo/board/XQPiybIcWAAP_ToG)

- Watch the behind the scene [videos](https://github.com/FBoucher/stream-projects#not-a-dog-workshop), and learn how this project was created.

Check out our [Code of Conduct](CODE_OF_CONDUCT.md) and [Contributing](CONTRIBUTING.md) docs. This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):


Simon Brookes
Simon Brookes

📖
Frank Boucher
Frank Boucher

📖 💻 📹