Azure, JavaScript & PCF: Level Up Social Media Monitoring & Analysis
I teamed up with Aaron Powell, Microsoft Cloud Advocate to given take my social media monitoring solution [1] to whole new level of powerful awesomeness with the help of Azure JavaScript & Power Apps Component Framework (PCF). In this article we explore how citizen and professional developers can come together to build POWERful solutions with the Power Platform.
What did we make?
An immersive and AI enriched social media monitoring and analysis model driven app to monitor any hashtags or mentions of your choice!
How did we do it?
2) Identify the location with Power Automate
4) Call an Azure Function which leverages Azure Cognitive Services to analyse & enrich data then store it in Cosmos DB
For those interested in getting knee deep in code - its all on GitHub here -> https://github.com/aaronpowell/event-twitter-insights/blob/master/README.md
5) Create an Azure Static Web App to generate a word cloud based on the key phrase extraction
6) Retrieve enriched data from a message using and Power Automate
7) Surface the data and visualizations in a Model Driven app
8) Extend the model driven app user interface with PCF
In my next article I will deep dive into more technical details behind the beauty and power of the solution, below is a high level technical overview of the working parts involved
Power Automate
We use two flows in Power Automate to achieve the data capture and enrichment
Capture the tweet data, establish unique identifiers in the Common Data Service for the model driven app, calculate location and pass a message to an Azure Queue
Retrieve a message from a queue, write the enriched data to the Common Data Service for the model driven app
Azure
We leverage Azure Functions, Queues, Cognitive Services & Cosmos DB to do the following:
Consume messages from a queue with Azure Functions & integrate with Cognitive Services
Write data to Cosmos DB
Write messages to a queue which can be consumed by Power Automate
Visualise data in a web app
Link to GitHub repo below [3]
Model Driven App & PCF
The model driven app is the key interface to all the data, we used a range of features to display this data to users in ways which is valuable and creates an enjoyable user experience
Dashboards to visualise and drill down on the tweet data with simple user driven point & click filtering
Many to Many relationship between Key Phrase & Tweets so drill down can be seen from both the tweet and the particular key phrase
Custom PCF Controls were sourced from the amazing PCF Gallery built by other POWERfulDevs out there and shared for absolutely free [2]
Embedded twitter feed https://pcf.gallery/twitter-pcf-control/
Plotting tweets on a map https://pcf.gallery/google-maps-control/
Website URL previews https://community.dynamics.com/365/marketing/b/dynamics-365-for-marketing-community-blogs/posts/url-website-preview
Custom URLs based on the tweeters details https://pcf.gallery/custom-url-control/
[1] https://www.ameyholden.com/articles/social-media-monitoring
[3] https://github.com/aaronpowell/event-twitter-insights/blob/master/README.md