Kult å kunne få og gi input på kode på tvers av lag, input fra andre som ikke er relatert til prosjektet kan gi bra innsikt på hvordan problemer kan løses!
Viktig å dokumentere prosjektet slik at andre kan sette seg inn og bidra, kanskje starte med en readme?
Hello everyone! It has been a very interesting event this year, we got a new room, new participants and a lot of new challenges and ideas.
We were impressed with the sustainability challenge that we got yesterday and wanted to contribute a little bit with some ideas around it.
Some of us have been in this event many times and learned some tips that might suit everyone and in addition contribute a little bit with some of the the Principles of Sustainable Software Engineering.
Try not to go to bed so late, it’s not good for your mind and body to work under stress, you are less productive and creative. Try instead waking up early after a good sleep and you will think clearly and ideas will just start flowing.
Remember of course to shutdown your Azure services during the night and start them again during the day (Take a look at https://aka.ms/learn-green) to learn more about what we mean.
The solution is using CosmosDB to store Users and Telemetry coming from the different devices/assets
CosmosDB is fast and easy to maintain for noncomplex solutions. The main use here is for very simple data structure and for mass data allocation. Since we are getting data from this DB in real time, so we need to send a lot of requests in very short time ranges. Since CosmodDB is DocumentDB based so it handles these kinds of situations smoothly.
Azure WebApplication
We have created a web application as the user interface to keep track on the assets. The web applications is based on .Net Core 6 with React/TypeScript. We have implemented some of the main .net core features as:
– Entity Framework: To connect in a simple way to CosmosDB
– Controllers: As API endpoints
– Azure KeyVault Provider: As a provider, the same as an appsettings file. This protects all of the secret variables like codes, keys, connection strings and so on.
– Session: To create an encrypted cookie (Https, SameSite) to keep the session alive
– Cors: to prevent other origins to send requests to the BackEnd
– Dependency Injection: To inject all different services to the solution, including custom services and custom repositories.
– Hub: To connect to the SignarlR applcation
Azure Maps
Azure maps is used to track the geo location for all different assets. It will show the position of all assets in real time with the help of Signal R.
We have given a little bit of extra styling to the pointers and added some of the out of the box controls.
Azure Signal R
We have implemented Signal R to open a websocket for real time communication. The main idea was to avoid so many common http requests to the backend which is not so good when it comes to performance and security.
The front end sends requests to the Hub and it immediately gets a response so the data is always fresh and new. This is the way we keep track on the assets by getting all the telemetry/data needed from the Cosmos DB.
Our sensor-rig has been deployed to several locations throughout the Oslofjord! A typical day goes by without incident. But today our sensors detect MUTANT-activity.
Combining light-, sound-, moisture- and airqaulity sensors, sonar, and atmospheric measurements we can safely determine a new threat has appeared. We post this through our cloud rig which will alert our intrepid reptiles! (Donatello is such an oldschool guy that he recieves smses to his old mobile phone, which is not of the smart-kind).
The cloud rig is an azurefunction which is connected to an EventHub which pushes our messages through to Dataverse, which then posts a snappy alert to Teams with the help of PowerAutomate.
Our sensors also display a summary of threatassesment on the local rig, to avoid a technician doing maintenance and is suddenly caught unawares by the new mutant.
Etter vår første dag på ACDC har gjengen med totalt 4 års erfaring fått ny kunnskap og motivasjon! 😀 Etter kun 1 dag har vi i the Sopranos fått til mange kule features (til Munchmuseets glede):
Munch – besøksapplikasjon
Denne applikasjonen er ment for å berike de besøkendes opplevelse av museet! Målet er at Muchmuseet ikke er et museeumman besøker en gang i livet, men som er levende og dynamisk og tiltrekker seg besøkende flere ganger. Vi har lagt til noe kule features for å innvolvere de besøkende enda mer i kunsten vi har:
GiveMeMoreInfo! Bruker kunstig intelligens til å kjenne igjen malerier og gi brukerne mer informasjon av maleriet. Dette gjøres ved å ta et bilde gjennom besøksappen, og vipps så kommer informasjonen til deg! Dette skaper nye muligheter for kunstinteressenter! Det er jo kjent at museer ønsker å maksimalisere bruken av veggplass til malerier noe som gjør at det ofte ikke er plass til utbrodert informasjon om maleriet/kunstverket. Dette kan nå løses med vår nye “GiveMeMoreInfo!” funksjonalitet i Munch besøksapplikasjonen. Mer info kommer senere 🙂
Besøk vårt digitale museeum utstilling! Vi har gleden av å presentere muligheten til å gå på digitale utstillinger med lånte malerier fra andre museer, NFT’er, musikk og masse masse mer!
Snakk med vår nye ChatBot: Chat botten vår bruker kunstig intelligens for å hjelpe deg med spørsmål du måtte ha under besøket!
Munchmuseet har gleden av å introdusere vårt nye virtuelle museum. Her har vi inngått avtale med andre museer verden rundt for å kunne vise kunstverk fra deres utstilling.
På forsiden av appen finner man Virtual Tours, som tar deg til det virtuelle museet.
Trykker man på Virtual tours vil man komme inn i det virtuelle museumet. Dette gjør det mulig å opprette et samarbeid mellom ulike museer der man kan vise kunst fra andre museumer. Det gjør det også mulig for museumet å ha en inntektskilde selv om samfunnet skulle bli stengt ned igjen.
I dette rommet kan man se at det er satt ute i naturen, noe som ikke ville vært mulig i virkeligheten, ettersom maleriene ikke tåler vind og vær så godt. Her kan man også høre fuglekvitter og bølge lyder.
Muligheten for mange ulike og veldig spesialiserte utstillinger har åpnet seg. I den virkelige verden er man begrenset av plass og område + lokasjon. Med virtuelle utstillinger kan man spesialisere lyd og område, samt plassering av kunstverkene som kan skape en ny type museumopplevelse. Maleri i taket, i en mørk kjeller, i naturen? Hva med forskjellige rom med begge deler. kan åpne opp for ulikt publikum på samme tid. På den måten kan man virkelig tilpasse omgivelsene til å få frem kunsten.
Dette gir oss også mulighet til å stille ut NFT som kunstverk, noe som er i vinden i dag. Muligheten til å vise frem digital kunst som det blir produsert mer og mer av i dagens samfunn.
Det er også mulig å bruke med VR briller, kan gjøre det enda mer gøy å gå på virtuelt museum. Kanskje fremtiden vil bringe VR-briller til biblioteker og kulturhus så musumsturen kan bli en enda mer unik opplevelse for flere.
The backend for the end-user mobile app (.NET MAUI) is integrating with Dynamics 365 via MS Dynamics Web API, to create SOS alerts and get status updates.
The backend for the Turtle back-office (Blazor web app) is communicating with Azure via MS Graph API to programatically create Azure AD users.
Both backends are retrieving access tokens for MS APIs using MS OAuth API.
The Turtle code-base (GitHub) is configured to automatically post events to Discord, such as commits and releases.
Bombshells sliter litt med dårlig moral for tiden og trenger å drømme litt i hverdagen. Derfor har de nå laget en bucketlist i SharePoint som de har hentet inn i en PowerApp. Siden de kommuniserer mye med Teams i hverdagen har de valgt å legge inn appen der for å ha den lett tilgjengelig.
For Bombshells løser dette et sosialt behov, men tilsvarende løsninger kan brukes for å lage oppgavelister, legge til rette for bygging av backlogger osv. Det er en svært kostnadseffektiv måte å lage tilpassede verktøy som kan vise informasjon på tvers av Sharepoint intranett og Teams. I tillegg vil man enkelt kunne koble opprettelse eller endring av items opp mot automatisering i Power Automate.
Appen er selvfølgelig styles med riktige farger i forhold til Bombshell sin grafiske identitet.
De kan redigere eller legge til nye drømmer rett i appen.
SharePoint holder på dataene og viser dem slik som standard.
Nå ligger alt til rette for å drømme seg bort i hverdagen.