/Not-a-Dog-Workshop

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

Primary LanguageC#Apache License 2.0Apache-2.0

Build Status GLO Board

Deploy to Azure Starts Serverless Library

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

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

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

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

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

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

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


Learn More

At the top of this page there is a badge status

Build Status

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 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

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

  • Watch the behind the scene videos, and learn how this project was created.

Check out our Code of Conduct and Contributing docs. This project follows the all-contributors specification. Contributions of any kind welcome!

Thanks goes to these wonderful people (emoji key):

Simon Brookes
Simon Brookes

📖
Frank Boucher
Frank Boucher

📖 💻 📹