The order came to us from the Department of Magical Games and Sports, with the following requests: “Create an app that can increase engagement around Quidditch and our British and Irish players. We especially want this to become popular among the muggle-born students in order to save them from the muggle sport Football. We would also like an app for administrators here at the ministry, preferably with some reporting included.”
The Quidditch Captains League(QCL) is a great addition to the Hogwarts School of Witchcraft and Wizardry, bringing together students’ love for the magical sport and their natural competitive spirit. With this game both muggle-born and children growing up in the wizarding world can engage in friendly rivalry within the app.
The purpose of the QCL app is to promote house unity and some friendly rivalry at Hogwarts, and to encourage inter-house cooperation and appreciation for individual talents. While traditional Quidditch matches pit houses against one another, the QCL allows students to draft players from any house or team, encouraging inter-house cooperation and appreciation for individual talents. By rooting for players across houses, students could build friendships and camaraderie beyond their own house.
In addition, the QCL provides a unique platform to teach valuable life skills. Participants can analyze player statistics, study team performances, and strategize to optimize their rosters. These activities encourage critical thinking, numerical literacy, and decision-making. Professors could even incorporate the game into lessons on Divination (predicting player performance), Arithmancy (using numerical data for predictions), and teamwork dynamics.
Not every student at Hogwarts has the opportunity to play Quidditch due to limited team spots or varying skill levels. The QCL allows everyone to engage with the sport, regardless of physical ability or flying skills. Students who might not feel confident on a broomstick can still demonstrate their passion for Quidditch through strategic gameplay.
Fabric Fera Verto
In order to improve the business productivity of our solution we opted for creating a workflow using Dataflows. Instead of manual data entry and import, we created several dataflows to enrich our solution as a whole. The workflows were set to automatically refresh at a scheduled interval, making sure that our database always would stay up to date both in terms of new and existing data. The source used in our dataflows were utilizing a Web API, which would enable us to build a dynamic solution including near real-time data.
Below is a snippet of the public API that we utilized to populate our respective tables in our Dataverse database.
Dataflows offered an effective and low code approach of integrating external data into our system. The API consisted of multiple tables and columns which gave us the flexibility to cherry pick the statistics that were of most interest for our solution. We following a simple three step process for managing each data flow:
- Select table
- Filter and transform data
- Remove unnecessary columns
Once the data processing had been completed, we mapped the columns to the respective columns in our dataverse table.
Lastly, for the import method we opted for the merge option in order to be able to update our existing data automatically. This option was also essential in order to avoid duplicate data and manually configuring bulk deletion rules.
By using this external API https://hp-api.onrender.com/api/spells we got some spells professor Snape had hidden in the restricted section of the library! By this we add business value to our existing data by enriching our dataset with Publicly available sources that consist of spells in the Harry Potter universe and therefore adding business value to our solution. And by that claiming the Dataminer Badge.
This is the magical world, where managing Quidditch teams, tracking player stats, and keeping an eye on team standings feels as easy as casting spells. That’s right, we have embedded a Power BI dashboard in our model driven admin app. Because even in the wizarding world, data visualization is essential. The reason for this is for the administrators of the app to have the opportunity of sending out news and stats to the app users.
It’s like having the Marauder’s Map, but for data – every player, team, and stat laid out in beautiful charts and graphs. And the best part? I don’t even have to say “Alohomora” to unlock the insights. They’re just… there.
Low-Code Charms:
NB: All these Low-Code Charms will be shown in more detail in the video! Stay tuned 😉
Our solution has mainly relied on using low-code charms. From the user interface, to the logic behind the app, and everything in between. We consider our app functional, scalable, and easy to use keeping it efficient and low on complexity. We’ve achieved this in only three days and using only the power of low-code tools in Microsoft’s Power Platform.
From start to finish, we’ve built a comprehensive app using a carefully selected stack of Canvas apps, Model-driven apps, Power Automate, Power BI, Power FX, and Copilot Studio. The beauty of this setup? We’ve crafted a complete, fully functional solution without writing a single line of traditional code. It’s the epitome of “low-code charm,” and here’s how it all fits together.
Low-code Canvas App:
The Canvas app is where the magic happens on the front end. This is the user-facing part of the app, designed to be intuitive and user-friendly. It’s where players interact with the game—selecting teams, viewing player stats, and getting immersed in the experience.
- Low-code Customization: We used PowerFX to customize the app’s logic. Simple formulas handle everything from navigation to displaying dynamic data, giving us full control over the interface without writing any traditional code.
- User Experience: Whether it’s selecting a wizard for a Quidditch team or viewing a leaderboard of top players, users can easily navigate the app and get the info they need. It’s all built using drag-and-drop functionality and interactive buttons.
2. Model-Driven App: Streamlined Admin Management
Behind the scenes, the Model-driven app handles all the data administration, especially for managing players, teams, spells, duels and player types as well as a PowerBI dashboard with data visualization of relevant player and team data for potential future use.
- Dataverse Integration: The model-driven app pulls in data directly from Dataverse. With no-code setup, we were able to structure the database tables and build relationships between them seamlessly.
- Admin Controls: Admins can easily manage data like player rankings, guild creation and administration, and stats, thanks to the built-in Microsoft Dataverse tables, views and forms.
3. Power Automate: Workflow Automation for Efficiency
Power Automate ties everything together by automating several processes in the app. Examples are sending notifications when a player is added to a team or communicating with external providers such as LINK Mobility.
4. Power BI: Real-Time Data Visualization
To keep things even more engaging, we incorporated Power BI for real-time data visualization. For now, it is just integrated in the model driven app providing the chance of creating newsletters and keeping the admins of the app to track.
In the future, the dashboard couøld be embedded and get personalized for each user of the app, but that is a task for the next hackathon :’)
5. Copilot Studio: Helping Newbies Learn the Game
To make the game accessible to everyone, even beginners, we integrated a Copilot Studio chatbot into the app. This is a low-code, AI-powered solution that acts as a personal assistant for players, helping them understand the game’s various features.
- Chatbot Interactions: Players can ask the bot about player stats, guild rankings, and even the best spells to use during the matches. The bot is powered by data from Dataverse, ensuring it provides accurate, up-to-date information.
6. Power FX: The Glue That Holds Everything Together
Power FX was our secret weapon throughout the app, handling all the logic from page navigation to real-time data filtering. With its simple formula syntax, we could easily define interactions, calculations, and data display rules.
What we’ve achieved with this app is a fully functional, data-driven, interactive experience using only low-code tools. Every aspect of the app—from the user interface in the Canvas app to the admin management in the Model-driven app, to the real-time data insights in Power BI has been built with simplicity, it is after all, what we can do best in team Sopranova 😉
Digital transformation:
When a new player goes to the app and try to register we authorize the person using Link-Mobility`s SMS technology. In the backend there is a Link open API connector that handles the information, and from there send a security code to the new player. The new player then makes an registration and is now a part of the game as a game_player.
We also made it easy for players to follow up on results. By making a Power Automate to fetch data in dataverse (end_date of game and game_player). The player will now get a email with the score and the opportunity to go directly in to the game page in the canvas app.
Pro-Code Potions
This application is designed with robust connectivity in mind, integrating multiple API connectors to ensure seamless communication and functionality. Each integration is achieved through public custom connectors in Power Automate or precise HTTP calls, allowing for smooth data exchange and interaction with external services. By leveraging these advanced techniques, we ensure that our application remains flexible, scalable, and capable of adapting to various external systems with ease.
ALM Magic:
Throughout this process, we adhered to several best practices for ALM in Power Platform:
- Environment Strategy: We used separate environments for development and production, ensuring that changes were tested before deployment.
- Solutions: We utilized managed solutions for production environments and unmanaged solutions for development, aligning with industry guidelines.
- Source Control: Our integration with Git and the implementation of a branching strategy ensured effective version control and collaboration.
- Automation: By configuring Power Platform Pipelines, we automated our deployment processes, reducing manual errors and ensuring consistency.
- Governance and Security: We implemented role-based access control and ensured compliance with security protocols, protecting our data and applications.
Look at the ACDC Craftman blog post
Magic Matrix:
We’ve used Copilot Studio, we created a personalized chatbot and embedded it directly into our Canvas app. The goal? To provide players with quick, accessible info about the game, so they can jump in without needing to spend hours figuring out all the details.
The chatbot is designed to help players learn about key game elements, including: Wizards, Spells and Guilds. Players can get to know the strengths and roles of different wizards, quick details on which spells and pull data from the game’s leaderboards, helping them make better decisions when assembling their Quidditch teams.
We’ve integrated the game’s Dataverse tables to power the chatbot’s responses. This means that all the information the bot provides is pulled in real-time from our database, ensuring that the advice and stats are always up-to-date.
PS: We think that our solution is best explained with visuals! Wait for the video. Stay tuned
xoxo Sopranova