Hva har skjedd siden i går?

I dag har teamet jobbet beinhardt for å stable på beina en fungerende løsning. Vi har jobbet målrettet og hardt for å forbedre de fire hovedområdene av konseptet vårt.
Teamet syr sammen det vi har laget til en fungerende løsning

Most Extreme Business Value

Når du kommer hjem fra en lang dag med studier og kriminalbekjempelse, er det godt at du slipper å tenke “hva skal vi ha til middag i dag?”.
Kjøleskapet har allerede oversikt over hva du har, vår flotte app kan gi deg oppskrift på hva du kan lage. Har du en favorittpizza? Har du det du trenger?
Du trenger ikke bekymre deg. Hvis du mangler noe, kan du sjekke handlelisten i vår flotte webapp. Hvis du ikke orker lage maten selv, send en bestilling til Pizza Time (@pointtaken). Alt gjøres gjennom vårt enkle grensesnitt i vår PowerApp.

Alt dette letter hverdagen til en hvilken som helst superhelt! Skilpadder spesielt 😉

Vi kaller det Fridgitoid 9000®

Ved å lage pizza, ta ut matvarer, og rangere de pizzaene du liker best vil du generere data i vårt Dataverse-miljø som vi kan analysere og presentere i PowerBI dashbord.
Dette vil åpne ny verden av innsikt i matvarekonsum!

Vi frigjør masse tid i hverdagen til alle hverdagshelter, samtidig som vi fjerner behovet for “hva skal vi ha til middag i dag?”

Rock Solid Geeknes

Vi har fått hele kommunikasjonslinjen på plass fra kjøleskap til sky. Knappen på arduinoen registreres av den tilkoblede raspberry pi’en, som igjen sender bildet til Azure for analyse.

Det viste seg å være nokså utfordrende å få en enkel knapp til å fungere på arduinoen. I mangel av riktige resistor satt vi opp knappen på en alternativ måte:

Dette gjorde at signalet fra knappen ikke var konsekvent ”0” når den ikke var trykket ned, men vekslet mellom 1 og 0. Løsningen ble å ta vare på de 10 siste state’ene til knappen, og først når vi hadde status «1» 10 ganger på rad, registrerte vi dette som et knappetrykk. En løsning vi er godt fornøyde med.

Kjøleskapet er også snekret sammen av papp gaffateip og kjærlighet. Med integrert webkamera og skuff til mikrokontrollene våre. Arduinoen er også utstyrt med en roterende motor, som skal gi Frigitoid 9000 litt sårt trengt bling.

3D-printet deksel til Arduino

Killer App + Excellent User Experience

For å gjøre det lettere for Ninja Turtles i kollektivet å handle inn det som mangler i kjøleskapet har vi bestemt oss for å lage en responsive SPA applikasjon med React og .NET core 6 som kan brukes på mobil.
Applikasjonen gjør en spørring mot Microsoft Dataverse og lister ut ingredienser som ikke står registret i kjøleskapet.
Bruker har mulighet til å markere matvarene som er kjøpt inn, og når matvarene legges i kjøleskapet blir de registret, og matvarene forsvinner fra handlelisten.
Applikasjonen kjører på en app service i Azure og vi har skrevet kode for infrastruktur med Pulumi.
Vi jobber også med å automatisere CICD as code med YAML og det vil bli kjørt i Azure Devops.

Vi tenker også å benytte PowerBI til å hente ut data på hvilke pizzaer som blir spist mest og en oversikt over hvilke matvarer som blir handlet mest.
Vi ønsker å intrigere dette inn i vår powerapp slik at dette blir synlig for bruker.

Mer om dette i en annen bloggpost 😉

WebApp
PowerApp

Bombshell Updating recent posts

Her er de postene som vi har oppdatert og kommet med nye. Please review

Tieving Bastards Thieving shellbombs | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Glossy pixels Glossy pixels – Bombshells rebranding | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Sharing is caring Sharing is caring | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Stairway To Heaven Straight up and away! | Arctic Cloud Developer Challenge Submissions (acdc.blog)
Chameleon Dashes and numbers | Arctic Cloud Developer Challenge Submissions (acdc.blog)

It’s cool, it’s hip, it’s open source!

We have used several open source and hip packages in our React app. Node.js with cors and express for api requests, reactstrap (the React GUI underdog) for page layout and root design and the react-webcam package for accessing the users camera. All open source, all hip, baby!

react-strap
node, cors, express
webcam component

Power Platform :: Head 2 Head

Here comes the Power Platform head 2 head challenge!

How many are the ninja turtles gang?! YES, four! And in todays challenge you get 4 different possibilities to claim the head 2 head badge, 25 points and a prize! Additionally, if you embedded any of the 4 challenges in your solution and blogged about it, you might get extra badges!!!

Together we get the best solutions!

We started this mornig with a call to a company called OneFlow. We have had some conversations with them before, and decided that we wanted to try to get something done together with them today. We wanted to bulid an API integration from Dynamics 365 HR to OneFlow, so that we can sen out Employment Agreements for digital signatures directly from Dynamics! If this is not a huge business value, then we don’t know what are!
This is what this we did together with them right here and now, and how it works:

Contract is generated in oneflow, and is sent to the company representative as well as the employee.

When the contract is signed electronically by both parties, power automate get a callback with information on which employee that has signed and we can tick off “contract signed” in HR and add an url link to the contract in oneflow.

The solution is set up to support Swedish BankID,

Danish NemID, Finnish BankID,

Norwegian BankID and advanced e-signature for other countries with e-mail/phone verification

SOME blogging from the interwebs

The turtle’s IT department, named Pizza Time, is hard at work showcasing their awesome setup. To make it easy to follow what happens we’ve brought the blog posts back into the intranet.

Setup consists of crawling the ACDC blog, for Pizza Time posts only via Graph Connectors.

Graph Connector Crawl Setup

To show these back on the home site we use the PnP Modern Search web parts (https://microsoft-search.github.io/pnp-modern-search/) with Graph connector support. The display is using a custom handle bars template matching the ACDC blog schema.

The custom template uses HTML5 content tags for proper screen reading and navigation.

How it looks in Teams

Lazy chat bot makers  

Since Power Virtual Agents are all about creating chatbots on the fly, we decided to try the auto generation of topic from external sources.

By providing links to the official museum website and lexica sources we got a list of proposed topics. Surprisingly, most of the topics were useful to include in the chatbot. In combination with some information, we extracted ourselves the chatbot can now answer topics regarding Munch, opening hours and the different exhibitions that are currently available.

The information is presented to the user in an intuitive and interactive manner (lol).

Middle-age Mutable Ninja Tuples is plugged in

Users who register as Turtles (those who want to help people in need) in our Blazor web app are automatically created as Azure AD Users and automatically assigned a Dynamics license, using MS Graph API. The only thing missing for Turtles to be able to log in to the Dynamics mobile app is getting a security role in Dynamics.

We would have programatically assigned a Dynamics security role right away, but there’s a problem: users aren’t immediately synced from Azure AD to Dynamics – it can take several minutes.

As a workaround, a Dynamics plug-in listens to user creations and automatically adds the correct security role when new users are added to Dynamics.

When the plugin has done its work, users will be able to log in to the Dynamics app for phones.

Bilde gjennkjenning

Vi i Munchmuseet er veldig glade for å kunne lansere en ny funkjsonalitet i Munch besøksappen: GiveMeMoreInfo!

Syns du at maleriene våre vekker interesse, men du skulle gjerne hatt enda mer informasjon om maleriet? Da har vi løsningen for deg!
GiveMeMoreInfo! gir deg mer informasjon om maleriet du ser på gjennom applikasjonen. Det eneste du trenger å gjøre er å ta et bilde av maleriet, og informasjonen hentes inn automatisk!

Link til video: https://youtu.be/DUkVdxUdlGI

Teknisk informasjon:

  • Vi bruker Ai Builder for å gjenkjenne ulike malerier. Denne har blitt trent ved bruk av ca. 15 bilder fra hvert maleri. (Litt Nasty??)
  • Vi bruker en Power Automate for å motta bilde fra Canvas Appen, sender bildet videre til AI modellen som returnerer hvilket bildet det kjenner igjen i fotografiet tatt fra Canvas Applikasjonen.

I fremtiden håper vi å kunne bruke appliasjonen for å:

  • Utvide til å gi tilpasset informasjon baser på alder f.eks
  • Gi informasjon om lignende mallerier du kunne ha likt som Museet også har inne eller i sin virtuelle samling
  • Gi forslag til besøk i andre museer basert på dine interesser.
  • Vise hvordan bildet faktisk så ut da den ble laget ( mallerier er ofte gule grunnet at coaten over har decomponert grunnet UV lys og ligende)