Plug N Play 2

Point Taken’s implementation of Dynamics Customer Insights Journeys, combined with Pro-Code addresses several significant business challenges in managing events and classes. This innovative solution enhances operational efficiency, reduces manual workload, and improves the experience for both administrators and students. Here’s how the solution meets these needs:

Solution:
Automated Attendance and Location Tracking
Challenge: Accurately tracking attendance and ensuring real-time location insights for students in large campuses is cumbersome.

Solution:
Attendance is tracked by using MappedIn and presented in Dynamics Customer Insights Journeys to students as a PCF component. Integrated MappedIn APIs and SDKs provide real-time indoor navigation and location tracking for students nearing classrooms or event spaces. Combined functionality with Customer Insights Journeys we are able to send emails with links that registers if the student attended the event or class automatically.

Power to the developer, and MAGIC!

When a pro-code developer creates magical code, we low-code developers need to assist where we can to speed up the work. We have created a good solution based on Azure AI Services, where we send data from Dataverse via Power Automate to a Python Flask app that translates everything we send into a message delivered to our Howler. Given the time we had, this would not have been possible.

The physical Howler integration is approaching, and the Arduino is working hard. It’s put together by paper, tape and glue. And much love! Here we have an example of what we have in store:

An example of translation and delivery of message follows:
“I don’t like you anymore. You have proven to be untrustful!” -> “Dear Sirius,

Oh, how the tides have turned! I find myself in a whirlwind of emotions, and I must confess, I don’t like you anymore. Your betrayal stings like a Cruciatus curse, and it’s clear you’ve proven to be utterly untrustworthy!

How could you, of all people, turn your back on family? It’s as if you’ve taken a page from the Marauder’s playbook, but this time, it’s not a prank—it’s a dagger to the heart!

Desperation claws at me, and I can’t help but feel the madness creeping in, like a Dementor’s chill. You’ve left me no choice but to sever the ties that bind us.

Goodbye, Sirius. May you find your way back to the light, though I fear it may be too late for you.

Yours in fury,  
Bellatrix”

Our architecture

Coding the Magic: Embedding Numbnut with PowerPotters’ IoT Setup

Greetings, wizarding developers and tech enthusiasts! ✨

At Team PowerPotters, we’re always looking to bring the magic of innovation to life through clever use of hardware and software. For our submission to the Embedding Numbnut badge, we present the heart of our IoT-powered solution: an ultrasonic sensor connected to an ESP32 microcontroller, bringing physical interactions to our potion production platform.

Here’s how our code, coupled with an end-to-end setup, transforms real-world sensor readings into actionable data for our modern workflows.


🪄 The Ultrasonic Detector: Turning Hardware into Magic

Our ultrasonic detector is more than a simple sensor—it’s the spark that initiates our potion brewing process. Connected to an ESP32 microcontroller, it captures data in the physical world (like liquid levels or proximity) and seamlessly integrates it with our cloud-based systems using Power Automate.

Key Features of the Sensor Setup

  • Real-Time Data Capture: The ultrasonic sensor measures distances (or liquid levels) using sound waves, triggering actions when specific thresholds are reached.
  • ESP32 Integration: The ESP32 runs the control code, processes sensor readings, and communicates with cloud endpoints via Wi-Fi.
  • Cloud Connectivity: Using HTTP POST requests, the ESP32 sends data to Azure Logic Apps, triggering automated workflows for further processing.

🧙‍♂️ The Code That Makes It Work

Below is the magical incantation—our C++ code—that powers the ultrasonic detector. Let’s break it down:

#include <WiFi.h>
#include <HTTPClient.h>
#include <ESPAsyncWebServer.h>

// Define GPIO pins
#define LED_PIN 18
#define ULTRA_SENSOR_E 4
#define ULTRA_SENSOR_T 2
#define TRIGGER_pulse 1

int DURATION;
long DISTANCE;

// Wi-Fi credentials
const char* ssid = "Simen's Galaxy S20+ 5G";
const char* password = "#######";

// Server endpoint URL
const char* serverUrl = "https://<YOUR-ENDPOINT>";

AsyncWebServer server(80);

void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
pinMode(ULTRA_SENSOR_E, INPUT);
pinMode(ULTRA_SENSOR_T, OUTPUT);

WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected to Wi-Fi");

server.on("/trigger", HTTP_POST, [](AsyncWebServerRequest *request){
digitalWrite(LED_PIN, HIGH);
sendDuration();
digitalWrite(LED_PIN, LOW);
request->send(200, "text/plain", "Request received, duration sent");
});

server.begin();
}

void sendDuration() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverUrl);
http.addHeader("Content-Type", "application/json");

sense();
String payload = "{\"duration\":" + String(DURATION) + "}";
int httpResponseCode = http.POST(payload);

if (httpResponseCode > 0) {
Serial.println(http.getString());
} else {
Serial.println("Error sending POST request");
}
http.end();
}
}

void sense() {
digitalWrite(ULTRA_SENSOR_T, HIGH);
delay(TRIGGER_pulse);
digitalWrite(ULTRA_SENSOR_T, LOW);
DURATION = pulseIn(ULTRA_SENSOR_E, HIGH);
DISTANCE = (DURATION * 0.034 / 2) + 1;
Serial.println(DURATION);
Serial.println(DISTANCE);
}

How It All Comes Together

  1. Sensing the Magic:
    • The ultrasonic sensor emits sound waves, measuring the time it takes for the echo to return and calculating the distance.
  2. Data Processing and Transmission:
    • The ESP32 processes the sensor data and sends it as a JSON payload to an Azure Logic Apps endpoint using HTTP POST requests.
  3. Triggering the Workflow:
    • The payload is received by Power Automate, initiating a series of actions, such as potion brewing approval or status updates.
  4. Automation and Insight:
    • The sensor data is logged, analyzed, and acted upon without any manual intervention, showcasing true IoT integration.

🐍 Why This Deserves the Embedding Numbnut Badge

Our setup is the perfect embodiment of Embedding Numbnut:

  • Hardware Integration: The ultrasonic sensor and ESP32 work in harmony to capture and transmit real-world data.
  • IoT Innovation: We’ve demonstrated how to bridge the gap between physical hardware and cloud-based workflows.
  • Seamless Automation: By connecting sensors to Power Automate, we’ve eliminated manual tasks, ensuring precision and efficiency.
  • Slytherin Ambition: True to our house, we’ve taken a simple sensor and turned it into a powerful enabler of potion production magic.

🪄 A Picture Is Worth a Thousand Spells

Below is a snapshot of our code being loaded onto the ESP32, where the magic begins:


🔮 The Future of Embedded Magic

With our ultrasonic detector at the heart of our IoT setup, we’ve showcased how embedded hardware can power real-world automation. We humbly submit our case for the Embedding Numbnut badge, proving that even the smallest components can create the most magical outcomes.

Follow our journey as we continue to innovate and enchant the world of ACDC 2025: acdc.blog/category/cepheo25.

#ACDC2025 #EmbeddingNumbnut #PowerPotters #IoTMagic #SlytherinInnovation

Share == Care

PART 1 – Code, dataset or api is made available for other teams

Introduction

In the spirit of collaboration and knowledge sharing, we are excited to announce that the Hogwarts Academic Calendar SPFx Web Part is now available on GitHub. This project showcases the Hogwarts Academic Calendar using a rich calendar view built with React and react-big-calendar

Project Overview

The Academic Calendar is a SharePoint Framework (SPFx) web part designed to display events in a calendar format. It leverages modern front-end technologies to provide a seamless and responsive user experience. Key features include:

  • Displaying events in a calendar view
  • Detailed event information on click
  • fast serve command line utility, which modifies your SharePoint Framework solution, so that it runs continuous serve command 10-15x times faster, than the regular gulp serve.

You can find the complete source code and detailed instructions in the GitHub repository.

Getting Started
To get started with the Academic Calendar SPFx Web Part, follow the instructions in the README. The README provides a comprehensive guide on how to clone the repository, install dependencies, build, bundle, and deploy the solution to your SharePoint environment.

Conclusion

By making the Academic Calendar SPFx Web Part available on GitHub for other teams, we aim to promote a culture of collaboration and continuous improvement. We encourage other teams to explore the repository, provide feedback, and contribute to the project.

Together, we can build better solutions and share knowledge across teams. Feel free to reach out if you have any questions or suggestions.

PART 2 – A sensible contribution(pull request) on a compeeting teams solution.

Here I decided to extend the hand of hospitality to our dear friends at The Team Who MUST Be Named. My contribution came in the form of a PR, where i noticed they had not had time to implement some error handling for their method darkledger/src/components/DarkLedger.tsx

This seemed like a sensible contribution. Here is the implementation:

Sharing is Comfort: PowerPotters’ Second Attempt at “Sharing is Caring”

Greetings, wizards, witches, and benevolent hackathon competitors! ✨

At Team PowerPotters, we take feedback seriously—almost as seriously as a Slytherin takes their ambition. After receiving feedback on our initial Sharing is Caring submission, we’ve reflected, regrouped, and risen to the occasion with an updated act of collaboration and generosity.

Our first attempt (detailed here: Brewing Collaboration Magic: Why Team PowerPotters Deserves the “Sharing is Caring” Badge) was met with thoughtful comments from the judges (pictured below), who rightly pointed out that the Sharing is Caring badge isn’t just about benefiting from another team’s efforts but also giving back in a meaningful way.

So, we’re here to make another attempt—not just to earn the badge, but to truly embrace the spirit of sharing.


🪑 Giving Up Comfort: A Tale of Slytherin Generosity

Every great hackathon wizard knows the importance of a comfortable setup. With long hours of spell-casting (and coding), having the right chairs can be the difference between a productive sprint and a stiff back. That’s why we came prepared with enchantedly comfortable chairs to keep us focused and energized.

But when we saw our fellow Slytherin team, The Golden Snitches, struggling with their less-than-magical seating arrangements, we couldn’t sit idly by (pun intended). In the true spirit of Sharing is Caring, we shared our comfortable chairs with their team, even though it meant sacrificing some of our own comfort.

Why did we do it? Because we believe that no Slytherin should struggle when another has the means to help.


Why This Act Embodies the Badge Criteria

Here’s how our act aligns with the Sharing is Caring badge requirements:

  1. Sharing Resources: We gave up a valuable resource—our comfortable chairs—for the benefit of another team. This gesture wasn’t just a token of goodwill but a meaningful contribution to their experience at the hackathon.
  2. Building Connections: By helping another team within our house, we strengthened the bonds of camaraderie and showed that even Slytherins know the value of cooperation.
  3. Rising Above Feedback: The judges’ comments inspired us to think beyond technical contributions and recognize the impact of tangible, human gestures.

🐍 Reflections on Feedback and Growth

The judges’ feedback reminded us that true collaboration isn’t just about integrating APIs or sharing tools—it’s about making a positive impact on others, no matter how big or small. This experience has reinforced the importance of stepping outside our own bubble and thinking about how we can lift others up.

We hope this second attempt demonstrates our commitment to the Sharing is Caring badge and the values it represents.


🔮 A New Chapter of Sharing

As proud members of House Slytherin, we’ve proven that ambition and generosity can go hand in hand. Whether it’s a seamless API integration or something as simple as a comfortable chair, we’re here to make a difference—not just for our team but for the hackathon community as a whole.

We humbly submit our revised case for the Sharing is Caring badge and thank the judges for pushing us to grow and embody the true spirit of this challenge.

Follow our journey as we continue to share, innovate, and enchant ACDC 2025: acdc.blog/category/cepheo25.

#ACDC2025 #SharingIsCaring #PowerPotters #SlytherinGenerosity #GoldenSnitches

Sharing is Caring – Expanding the Circle of Knowledge

🏅 Sharing is Caring Badge – Expanding the Circle of Knowledge ✨🤝

In the world of magic, sharing knowledge is one of the most powerful spells you can cast. The Sharing is Caring Badge celebrates our commitment to openness, collaboration, and community growth. This time, our efforts took the form of opening up our interactive map repository to the public and contributing to a pull request for another magical team—The Team Who Must Not Be Named. 🧙‍♀️💫


Opening the Interactive Map Repo to the Public 🗺️🔓

In the spirit of sharing, we’ve unlocked the door to our interactive map solution and opened up the repo for public use. Our goal? To empower fellow wizards and witches to enhance and build upon what we’ve created, making the tool more accessible and usable for everyone. 🌟

This map, powered by Google Maps API, allows users to track Orders of Doom, pinpointing targets and requesters in real-time. By sharing this repo, we’ve invited the community to contribute, adapt, and build with us. We believe that magic becomes even stronger when it’s shared with others.


Contributing to “The Team Who Must Not Be Named” 🐍💬

In addition to sharing our own work, we’ve also been busy helping The Team Who Must Not Be Named (@inmeta). We contributed to a pull request (PR) on their GitHub repo for the academicCalendar project which is a Quidditch Calendar (SharePoint Framework) web part that displays the Hogwarts Academic Calendar using a calendar view. This web part is built using React and integrates with the react-big-calendar library to provide a rich calendar experience. Construct, insert custom events or connect to your own data.

Here’s what we did:

PR Overview:

  • Objective: Translate strings to Norwegian to improve localization for Norwegian-speaking users.
  • Translation Magic:
    • Translated UI strings into Norwegian for a more seamless user experience.
    • Updated environmental descriptions (SharePoint, Teams, Outlook) to Norwegian, ensuring that all app environments felt local and familiar.
  • Consistent Formatting: Ensured that the Norwegian translations kept the same structure and formatting as the original resource file to maintain consistency and functionality.

Before contributing, we forked the repo to ensure we had a clean copy of the project. By doing this, we were able to work on our own version, implement the necessary changes, and submit the improvements back to the original repository. This way, everyone can benefit from the updates, and the original team can review and merge them at their own pace. 🔄✨


Let’s continue to spread magic, one shared line of code at a time! 🌟🖥️💫

Crawler

Badge: Crawler

FetchXML

We used FetchXML to fetch data from Microsoft Dataverse. It allowed The Golden Snitches to query for complex queries with filtering, sorting, and aggregation, making it ideal for creating dynamic and interactive content in our Power Pages Portal for the students and Professors.


For example this part of the fetch xml is getting the marketing form connected to the event dynamically:

Because we are getting the form dynamically trough fetch xml we can remove another burden from the user that would need to copy a script and add it to a page. But now we can display the form by using liquid:

Search bar for map of Hogwarts

Navigating the vast and magical halls of Hogwarts can be quite the adventure. To make it easier for students and professors to find their way around, we’ve integrated Mappedin’s innovative search bar and routing functionality. Whether you’re looking for a specific classroom, common room, or office, Mappedin provides multiple ways to find your destination quickly and efficiently.

Visual Room Search

One of the standout features of Mappedin at Hogwarts is the ability to search for rooms visually. Users can simply click on an area of the map to explore different rooms within that section. This intuitive approach allows for a more interactive and engaging experience, making it easy to locate rooms without needing to type in specific search queries. Imagine being able to click on the Gryffindor Tower and instantly see all the rooms within!

Comprehensive Room Search

For those who prefer a more traditional search method, Mappedin offers a comprehensive room search functionality. Students and professors can search through every room in the castle by entering keywords or room numbers. This feature ensures that no matter how specific your search criteria are, you can find exactly what you’re looking for with ease. Need to find Professor McGonagall’s office? Just type her name, and you’re set!

Auto-Complete Search

Mappedin’s auto-complete search feature takes convenience to the next level. As you start typing in the search bar, the system automatically suggests possible matches based on the characters entered. This predictive search capability not only saves time but also helps users find rooms even if they only remember part of the room name or number. Start typing “Potions” and the Potions Classroom in the dungeons will pop right up!

Setting Routes

In addition to searching for rooms, Mappedin allows users to set routes to their desired destinations. Once a room is selected, the system provides step-by-step directions, ensuring that students and professors can navigate the castle efficiently. This routing functionality is particularly useful in a large and complex building like Hogwarts, where finding the shortest path can be a challenge. Whether you’re heading to the Great Hall for a feast or the Astronomy Tower for a late-night class, Mappedin has you covered.

  1. Search by clicking a room and get information about where it is visually

2. See all available rooms instead of writing

3. Auto-complete search where it’s intelligence will find rooms based on your input.

Claiming the Embedding Numbnut and Retro Badge

Hackathons challenge us to think outside the box, and our project brought together modern innovation and retro charm. We’re claiming two badges that perfectly showcase this fusion: Embedding Numbnut and Reto Badge. Here’s how we earned them!

🪞 Embedding Numbnut

When you think of “embedding,” your mind might go straight to software and APIs. But why stop there? We decided to embed technology into a physical object: a mirror.

  • What We Did:
    • We started by building a physical frame for our smart mirror, creating a seamless combination of form and function.
    • Behind the reflective surface lies a digital interface, powered by a screen and fancy software. The result? A fully interactive experience that combines the elegance of a mirror with the power of modern technology.
    • This transformation – taking a humble, everyday object and embedding it with a rich digital experience – redefines what it means to “embed.”
Behold the mighty mirror of Noitceles. Note the QR code, its mentioned below!

Our smart mirror isn’t just tech slapped onto a frame; it’s a deeply integrated design that blurs the line between physical and digital.

🕰️ Reto Badge

Every great innovation owes something to the past, and our project embraces retro technology in creative ways:

  • The Mirror:
    • Mirrors are an ancient invention, going back thousands of years. By using this timeless object as the foundation of our tech project, we brought a sense of history into the digital age.
  • Retro Tools in Modern Tech:
    • We used jQuery on Power Pages to manage interactive elements. Sure, jQuery might feel like a blast from 2013, but it proved to be a reliable and efficient choice for this project.
    • Our project also includes QR code generation, another nostalgic yet practical feature that bridges past trends with current functionality.
Oh the jQuery

By blending modern capabilities with retro technologies, we’ve crafted a project that feels both forward-thinking and delightfully old-school.

Community Champion Badge – Spreading the Magic

The Community Champion Badge celebrates going beyond our own goals to lend a helping wand to others. This time, the magic of collaboration brought us together with the enchanting team, The Broomstick Pilots, who sought guidance on harnessing the power of OneFlow.


A Knock on the Common Room Door 🚪💬

The Broomstick Pilots reached out, curious about our OneFlow setup and installation. With their inquisitive minds and an eagerness to learn, we knew we had to channel our inner Hogwarts professors to help them unlock the full potential of this amazing tool. 🪄


Spreading the Spell of OneFlow 📜✨

We gathered around and conjured a short but spellbinding introduction to OneFlow, showcasing how it can transform the way contracts are created and signed. Here’s what we shared with them:

  1. Getting Started:
    • How to set up OneFlow in their environment.
    • Connecting it to their workflows with a sprinkle of Power Automate magic.
  2. Why OneFlow is a Game-Changer:
    • Effortless collaboration on contracts before signing.
    • Seamless e-signature functionality on any device.
  3. Tips and Tricks:
    • Integrating OneFlow with Dataverse for centralized contract management.
    • Using templates to speed up the contract creation process.
  4. Encouragement:
    • We cheered them on to experiment and build something unique with OneFlow, assuring them they were just a few incantations away from something incredible. 🌟

Why We Helped 💛

At its core, being a Community Champion means embracing the true spirit of wizardry: collaboration, knowledge-sharing, and lifting others to greatness. The Broomstick Pilots’ excitement reminded us why we love working with these tools in the first place—it’s all about creating magical experiences together.


Spreading the Magic Doesn’t Stop Here

This badge is a reminder that every great wizard (or developer) started somewhere, and sometimes, all they need is a nudge in the right direction. Whether it’s a spell, a script, or a step-by-step guide, sharing knowledge makes the entire community stronger.

To @prosesspilotene (The Broomstick Pilots, it was a joy flying alongside you! 🧹✨ We can’t wait to see what magical solutions you conjure up with OneFlow.