<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prince Adimado</title>
    <description>The latest articles on DEV Community by Prince Adimado (@primado).</description>
    <link>https://dev.to/primado</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F997328%2F3464aed7-969b-4ff9-b7ef-b2b830434b46.png</url>
      <title>DEV Community: Prince Adimado</title>
      <link>https://dev.to/primado</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/primado"/>
    <language>en</language>
    <item>
      <title>7 Reasons, Why You Should Learn the Power Platform.</title>
      <dc:creator>Prince Adimado</dc:creator>
      <pubDate>Mon, 27 May 2024 15:58:36 +0000</pubDate>
      <link>https://dev.to/primado/7-reasons-why-you-should-learn-the-power-platform-39io</link>
      <guid>https://dev.to/primado/7-reasons-why-you-should-learn-the-power-platform-39io</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I found a &lt;a href="https://www.thurrott.com/dev/270412/power-platform-now-has-over-7-million-active-users"&gt;publication&lt;/a&gt; that stated that the Power Platform is now a $2 billion business with over 7 million monthly active users (MAUs). It also went further to state that 97 percent of the Fortune 500 use the Power Platform and even 92 percent of the Fortune 500 uses Power Apps in at least one department.&lt;/p&gt;

&lt;p&gt;What am I driving at? This shows that learning the Power Platform is a great tool in your arsenal of skills. During the Global Power Platform Bootcamp 2023 in Accra, I had the privilege of hearing &lt;a href="https://mvp.microsoft.com/en-us/PublicProfile/5003737?fullName=Samuel%20Segbornya%20Kodzo%20Adranyi"&gt;Samuel Adranyi&lt;/a&gt;, a Microsoft MVP, deliver an inspiring demo. He emphasized that when it comes to the usage of the Microsoft Power Platform, our imagination is the only limit to what we can achieve.&lt;br&gt;&lt;br&gt;
&lt;a href="https://dev.to/primado/power-automate-and-react-integration-automate-business-processes-2oli"&gt;Check out my blog post on how I integrated Power Automate and React.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If that didn't even blow your mind even further, it’s said that there are going to be 500 million apps to be built in the next five years. We should not pretend that there are enough code-first developers to do this.&lt;br&gt;&lt;br&gt;
Low code/no-code tools like the Microsoft Power Platform is a game changer that offers many services from data analytics and visualization, and automation, to app development, chatbot development, and recently website development which leverages the organization’s data.&lt;/p&gt;

&lt;p&gt;How much more can I say? Than to give you 7 reasons why you should learn the Microsoft Power Platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  7 Reasons, Why You Should Learn the Power Platform.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1️⃣ Rapid Application Development
&lt;/h3&gt;

&lt;p&gt;The Power Platform offers a low-code/no-code environment, allowing you to quickly build applications without extensive programming knowledge. Imagine trying to build a flow that sends an email when a new response is submitted and the data must be stored in either an Excel workbook or a SharePoint list.&lt;/p&gt;

&lt;p&gt;Wouldn’t it be very productive if there were existing connectors available like what we have in Power Automate rather than going full Ninja 🥷 mode to write all code for the APIs and integrations just to make this happen?&lt;/p&gt;

&lt;p&gt;Again, imagine a scenario where your organization receives hundreds of customer inquiries through various channels every day. Manually sorting through inquiries, assigning them to the appropriate team members, and responding individually can be time-consuming and prone to human error.&lt;br&gt;&lt;br&gt;
However, with the Power platform’s Power Automate, you can create a workflow that automatically captures and categorizes incoming inquiries, assigns relevant teams based on predefined rules, and even generates email responses.&lt;/p&gt;

&lt;p&gt;This automation not only makes the organization productive but also ensures faster response times improved customer satisfaction and increased operational efficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  2️⃣ Customizable Solutions
&lt;/h3&gt;

&lt;p&gt;With the Microsoft Power Platform, you can tailor applications to specific business needs. It’s so flexible that it enables you to create custom solutions that fit your organization’s unique requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  3️⃣ Data Visualization
&lt;/h3&gt;

&lt;p&gt;Looking for ways to analyze and visualize your data. Look no further, Power BI, a tool of the Power Platform, offers robust data visualization and analytics capabilities. You can create interactive dashboards and reports to gain valuable insights from your data, empowering data-driven decision-making.&lt;/p&gt;

&lt;h3&gt;
  
  
  4️⃣ Extensive Connector Library
&lt;/h3&gt;

&lt;p&gt;The second point showed how customizable the Power Platform is. Let’s talk about the extensibility of the Power Platform.&lt;br&gt;&lt;br&gt;
Power Platform won’t be where it is today if it can’t be extended to include 3&lt;sup&gt;rd&lt;/sup&gt; party services.  Do you know that you can create custom connectors to connect to your own API or third-party APIs?&lt;/p&gt;

&lt;p&gt;You can create customer actions that can be used in your workflows. And don’t worry if your data source is on an on-premises database. You can still create custom connectors for on-premise data sources. &lt;a href="https://learn.microsoft.com/en-us/power-automate/gateway-reference"&gt;Learn more.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Power Apps, you can create custom controls that can be used in your apps. Learn more about how to create custom controls using the &lt;a href="https://docs.microsoft.com/en-us/powerapps/developer/component-framework/overview"&gt;Power Apps Component Framework.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In data analytics and visualization, Power BI developers can extend Power BI’s capability to &lt;a href="https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-connector-extensibility"&gt;create custom data extensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Power Virtual Agents can also be extended in several ways. Bots can be configured to suit the individual needs of an organization and to provide further extensibility with other services and features. This includes the use of Microsoft Bot Framework skills to augment the bot’s capabilities, integration with Microsoft Teams, Facebook, Telegram, and other channels, and more.&lt;/p&gt;

&lt;p&gt;The list can go on and on about how the Power Platform has evolved into what we have today.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1wokmktf3zcf4jcbu11i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1wokmktf3zcf4jcbu11i.png" alt="Power Platform Connectors" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5️⃣ Integration Capabilities
&lt;/h3&gt;

&lt;p&gt;The Power Platform seamlessly integrates with other Microsoft products and services, such as Microsoft 365, Dynamics 365, and Azure.&lt;br&gt;&lt;br&gt;
This integration allows you to leverage existing data and systems, enhancing overall efficiency and productivity.&lt;/p&gt;

&lt;p&gt;Power Platform Integrates with Microsoft 365 to provide you with the tools you need to build custom apps, automate workflows, and analyze data.&lt;/p&gt;

&lt;p&gt;You can use Power Automate to create workflows that connect to Microsoft 365 services like Outlook, Excel, and SharePoint. You can also use Power Apps to build custom apps that integrate with Microsoft 365 services like Teams and Dynamics 365.&lt;/p&gt;

&lt;p&gt;Moreover, you can use Power BI to analyze data from Microsoft 365 services like Excel and SharePoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  6️⃣ Learning and Career Opportunities
&lt;/h3&gt;

&lt;p&gt;Acquiring skills in the Power Platform can open various career opportunities. The demand for professionals proficient in this awesome tool called the Power Platform is on the rise and organizations are seeking individuals who can leverage its capabilities to drive digital transformation.&lt;/p&gt;

&lt;h3&gt;
  
  
  7️⃣ Community and Support
&lt;/h3&gt;

&lt;p&gt;Power Platform has a vibrant and supportive community of users, developers, and experts. There are Microsoft MVPs I cited in one of my articles on &lt;a href="https://prince-adimado.hashnode.dev/mastering-the-power-platform-essential-tips-to-level-up-your-skills"&gt;tips to master the Power Platform&lt;/a&gt;. Power Platform has a huge community of users, find out more &lt;a href="https://powerusers.microsoft.com?wt.mc_id=studentamb_158955"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Engaging with the community provides opportunities for learning, collaboration, and knowledge sharing, ensuring you.&lt;/p&gt;

&lt;p&gt;You can also find user groups on the Power Users page I provided at this point. User groups organize community-led events which bring together can continually enhance your skills and stay up to date with the latest developments tech enthusiasts, students, and developers under one roof to learn and network.&lt;/p&gt;

&lt;h2&gt;
  
  
  🙏 Let's Conclude
&lt;/h2&gt;

&lt;p&gt;Thank you for reading this far. I have shared 7 solid reasons why you should learn the Microsoft Power Platform. From how applications, no matter how small or big, can be built rapidly through the Power Platform. Applications built with the Power Platform are highly customizable to suit the organizational brand.&lt;/p&gt;

&lt;p&gt;Writing complex lines of code to visualize your data shouldn't be a limitation to you when you have the data Visualization tool, Power BI which is the leading industry tool in data visualization.&lt;br&gt;&lt;br&gt;
If you haven’t read my article on tips to learn the Power Platform, &lt;a href="https://prince-adimado.hashnode.dev/mastering-the-power-platform-essential-tips-to-level-up-your-skills"&gt;check it out here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Support me by, &lt;a href="https://buymeacoffee.com/primado"&gt;BUYING ME A COFFEE&lt;/a&gt;. 🙏&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>powerplatform</category>
      <category>powerautomate</category>
      <category>powerapps</category>
    </item>
    <item>
      <title>Mastering the Power Platform: Essential Tips to Level Up Your Skills</title>
      <dc:creator>Prince Adimado</dc:creator>
      <pubDate>Mon, 27 May 2024 15:45:09 +0000</pubDate>
      <link>https://dev.to/primado/mastering-the-power-platform-essential-tips-to-level-up-your-skills-3g2g</link>
      <guid>https://dev.to/primado/mastering-the-power-platform-essential-tips-to-level-up-your-skills-3g2g</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Maybe you click to open this article to find out how you can learn Power Platform to skill up or you wanted to have a good read just to find out what the article contains. No matter the reason; time they say it’s money, give me a few minutes of your valuable time to share my truth.&lt;/p&gt;

&lt;p&gt;The Microsoft Power Platform has evolved over the years with the initial release of Power BI in 2011 which serves as a powerful tool for data visualization and business intelligence capabilities for users. Microsoft went further to release Power Apps a low-code application development in 2016 together with Power Automate which was initially called Flow for creating workflows to streamline business processes.&lt;/p&gt;

&lt;p&gt;Microsoft thought it wise to integrate and expand these tools. In 2017, Microsoft Integrated Power BI, Power Apps, and Power Automate under a unified umbrella known as the Microsoft Power Platform.&lt;/p&gt;

&lt;p&gt;What if businesses can build and deploy chatbots without writing complex lines of code or even if code should be written it should be low code? Microsoft introduced Power Virtual Agents (PVA) in 2019 to come and demystify chatbot development.&lt;/p&gt;

&lt;p&gt;Until recently, the new kid on the block, Power Pages, which provides rich, customizable templates, a fluid user experience through the design studio, and an integrated learning hub to quickly build sites for your unique needs.&lt;/p&gt;

&lt;p&gt;Through these years low-code languages like Power Fx were introduced to provide developers superpowers to build applications in Excel-like syntax.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤝 Getting Started
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://powerapps.microsoft.com/en-us/blog/3-low-code-trends-why-low-code-will-be-big-in-your-2021-tech-strategy/#:~:text=In%20the%20next%20five%20years%2C%20500%20million%20more,the%20last%2040%20years%2C%20according%20to%20the%20IDC."&gt;It was estimated that 500 million apps will be created in the next in next five years&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There simply aren’t enough professional pro code developers to go around the volume of work ahead to modernize businesses. But the good news is that low-code platforms like the Power Platform are here to empower more people regardless of their coding ability to create apps.&lt;/p&gt;

&lt;p&gt;As a Power Platform developer, myself, I have devised 4 tips to help us to continue to skill up and stay updated in the tool we have purposed in our hearts to learn.&lt;/p&gt;

&lt;p&gt;Here are the four powerful tips to help you learn the Microsoft Power Platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four Tips to Help You Learn the Microsoft Power Platform
&lt;/h2&gt;

&lt;h2&gt;
  
  
  💡 Documentation
&lt;/h2&gt;

&lt;p&gt;We have heard the phrase “Read the docs”. How these three words could save us from a lot of frustration and waste of precious pearls of time. I remember the first workflow I built in Power Automate during a Microsoft Student Ambassador event by then-a Gold Student Ambassador, Shadrack Inusah who gave a demo. I re-watched the recording repeatedly just to fully build and run my first flow.&lt;/p&gt;

&lt;p&gt;I was a novice who had heard of how amazing the Microsoft Power Platform is. The fact is I didn’t read the documentation of Power Automate and it went on for months, always trying to build workflows but the thought of looking up the docs didn’t come up my mind.&lt;/p&gt;

&lt;p&gt;I remember, pausing learning the Power Platform because I didn’t know how to use certain connectors. So, I paused, until the 4&lt;sup&gt;th&lt;/sup&gt; quarter of 2022 when I started to explore Power Automate again.&lt;/p&gt;

&lt;p&gt;But this time, I started reading the Power Automate documentation, and I realized Microsoft has all the connectors documented. So, I started to explore and learn to build workflows.&lt;/p&gt;

&lt;p&gt;How can one learn a tool without reading the documentation of its usage?&lt;/p&gt;

&lt;p&gt;Documentation refers to the written information, instructions, and explanations that accompany a software, product, service, or process.&lt;br&gt;&lt;br&gt;
It provides comprehensive details about how to use, configure, troubleshoot, and maintain a particular item or system.&lt;/p&gt;

&lt;p&gt;Documentation serves as a valuable resource for users, developers, administrators, and other stakeholders involved in the use or implementation of a product or service.&lt;/p&gt;

&lt;p&gt;To us developers, Documentation provides developers with insights into the purpose, features, and functionality of a software, library, or API. It helps us gain a comprehensive understanding of how to effectively use the tool or framework.&lt;/p&gt;

&lt;p&gt;To conclude on this point, I say just Read the Docs. It can’t be overemphasized.&lt;/p&gt;

&lt;p&gt;Links to the various Documentation of the Power Platform&lt;/p&gt;

&lt;p&gt;🔸&lt;a href="https://learn.microsoft.com/power-platform?wt.mc_id=studentamb_158955"&gt;Power Platform Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸&lt;a href="https://learn.microsoft.com/power-automate?wt.mc_id=studentamb_158955"&gt;Power Automate Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸&lt;a href="https://learn.microsoft.com/power-apps?wt.mc_id=studentamb_158955"&gt;Power Apps Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸&lt;a href="https://learn.microsoft.com/power-bi?wt.mc_id=studentamb_158955"&gt;Power BI Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸&lt;a href="https://learn.microsoft.com/power-virtual-agents?wt.mc_id=studentamb_158955"&gt;Power Virtual Agents Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸&lt;a href="https://learn.microsoft.com/power-pages?wt.mc_id=studentamb_158955"&gt;Power Pages Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡Community
&lt;/h2&gt;

&lt;p&gt;Each one of us comes from a community. A community is a group of individuals who share common interests, goals, or characteristics and come together to interact, support, and collaborate with one another.&lt;/p&gt;

&lt;p&gt;To developers, the community holds significant importance and offers several benefits. Here are what community means to developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learning and Knowledge Sharing:&lt;/strong&gt; community provides an environment for developers to learn from one another, exchange ideas, and share knowledge. It also offers opportunities to expand technical skills, stay updated with the latest industry trends, and explore new technologies. Developers can ask questions, and seek guidance from experienced members of the community.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Career Growth and Opportunities:&lt;/strong&gt; Engaging in a developer community can present career growth opportunities, such as attending conferences, participating in hackathons, or coding challenges.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you check the documentation pages of the various Power Platform tools, you will see “Community” on the navigation bar. Microsoft Power Platform has community forums for all the tools. Do you have a question you want to ask, a bug that has been troubling you for days or even weeks? Check the Power Platform community, it could be that your issue has been fixed.&lt;/p&gt;

&lt;p&gt;Apart from the Community forums, there are Microsoft Power Platform User groups depending on where you find yourself. Do you even know that all the Microsoft User Groups can be found on the community page of the Power Platform website? &lt;a href="https://powerusers.microsoft.com?wt.mc_id=studentamb_158955"&gt;Learn more&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡Resources from Microsoft Cloud Advocates and MVPs
&lt;/h2&gt;

&lt;p&gt;Microsoft MVPs are part of the driving force to help Microsoft to continue fulfill its mission which is “to empower every individual and organization on the planet to achieve more”.&lt;/p&gt;

&lt;p&gt;It cannot be overstressed; Microsoft MVPs are doing the most to promote the Microsoft Technologies their MVPs for.&lt;/p&gt;

&lt;p&gt;Microsoft MVPs (Most Valuable Professionals) are individuals who are recognized by Microsoft for their exceptional contributions to the technical community.&lt;/p&gt;

&lt;p&gt;MVPs demonstrate expertise, community engagement, and willingness to share knowledge and experience with others.&lt;/p&gt;

&lt;p&gt;Microsoft has tons of technologies you may not even know, but there are MVPs for all technology categories in Microsoft.&lt;/p&gt;

&lt;p&gt;These professionals have YouTube Channels, and blog websites, some even go to the extent to produce tutorials to sell on either their own platforms or paid platforms like Udemy.&lt;/p&gt;

&lt;p&gt;They contribute to the body of knowledge and without them, you may even guess the disadvantage.&lt;/p&gt;

&lt;p&gt;Overall, Microsoft MVPs are highly respected and influential community leaders who make significant contributions to the technical community by sharing their expertise, promoting Microsoft technologies, and fostering collaboration and knowledge-sharing among developers, IT professionals, and other technology enthusiasts.&lt;/p&gt;

&lt;p&gt;On the other side, we have Microsoft employees. Microsoft Cloud advocates are technical evangelists who work closely with developers, IT professionals, and even students and the broader technical community to drive the adoption and provide guidance on Microsoft’s cloud technologies.&lt;/p&gt;

&lt;p&gt;Cloud Advocates are passionate about empowering individuals and organizations to leverage the full potential of Microsoft Azure, Power Platform, and other cloud services.&lt;/p&gt;

&lt;p&gt;If you’re truly within the Microsoft ecosystem, you may have seen some on LinkedIn and Twitter&lt;/p&gt;

&lt;p&gt;I can’t end this point without mentioning Microsoft Learn Student Ambassadors. At this moment you’re reading a blog post written by a Gold Student Ambassador. We also help promote Microsoft Technologies on our various campuses across the globe. We are on-campus student ambassadors helping our peers to leverage the opportunities Microsoft has to offer to students.&lt;/p&gt;

&lt;p&gt;💡&lt;br&gt;
I have an event coming up on July 22, 2023, on the Power Platform. This webinar will help you get started or even if you’re into it already, a Power Platform specialist will be my guest speaker to tell us the skills needed to secure a job as a Power Platform developer. &lt;a rel="noopener noreferrer nofollow" href="https://lu.ma/7d5zdo34"&gt;Learn more.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Resources by Microsoft Cloud Advocates
&lt;/h3&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@AprilDunnam/"&gt;April Dunnam&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@RezaDorrani"&gt;Reza Dorrani&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@TheOyinbooke/"&gt;TheOyinbooke&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Resources by Microsoft MVPs
&lt;/h3&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@sadranyi"&gt;Samuel Adranyi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@kojo_shaddy"&gt;Shadrack Inusah&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@ShanesCows"&gt;Shane Young&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 Thomas Festus &lt;a href="https://festman.io/"&gt;(FestMan Learning Hub)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@LisaCrosbie/"&gt;Lisa Crosbie&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@KristineKolodziejski"&gt;kristine Kolodziejski&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@DamoBird365"&gt;DamoBird365&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;a href="https://www.youtube.com/@Richie4love"&gt;Rachel Irabor&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Build Projects and Document
&lt;/h2&gt;

&lt;p&gt;From time to time, we are told by Microsoft Cloud Advocates, MVPs, and even student ambassadors to learn in public.  You don’t know it all, don’t hide what you’re learning. For this one, we will continue to over-emphasize it. 😂&lt;/p&gt;

&lt;p&gt;Some people secured job offers by learning and sharing in public. They utilize LinkedIn and Twitter to share their learning.&lt;/p&gt;

&lt;p&gt;We are encouraged to document our journey into Tech, and this is one of the ways to achieve that.&lt;/p&gt;

&lt;p&gt;Whenever you build a project no matter how small it is, document it. As you continue to do this you will have good memories to fall back on later in the future.&lt;/p&gt;

&lt;p&gt;I can’t make this point lengthy, so I will cut it short.&lt;/p&gt;

&lt;h2&gt;
  
  
  🙏 Let's Conclude
&lt;/h2&gt;

&lt;p&gt;Microsoft Power Platform will continue to evolve and even expand to include more services. You may not know how well-integrated the Microsoft Power Platform is unless you follow the first tip. Which is to read the docs.&lt;br&gt;&lt;br&gt;
Documentation will save you a lot more time and effort which otherwise would have been wasted in over-brainstorming and saying to yourself “why”.&lt;br&gt;&lt;br&gt;
Create an account on the community page of Power Platform there are tons of information over there. How much more can we say about Microsoft MVPs, Cloud Advocates, and Microsoft Learn Student Ambassadors who help in the adoption of Microsoft Technologies?&lt;br&gt;&lt;br&gt;
If you’re a student engage with the Student Ambassadors communities on your campus and if there is none. &lt;a href="https://prince-adimado.hashnode.dev/all-you-need-to-know-about-microsoft-learn-student-ambassadors-program-mlsa"&gt;Why don’t you become a Microsoft Learn Student Ambassador?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continue to learn and build your skills in the Power Platform by utilizing the resources and tips to help you skill up.&lt;/p&gt;

&lt;p&gt;If you have been able to make it this far, thank you.&lt;/p&gt;

&lt;p&gt;Support me by, &lt;a href="https://buymeacoffee.com/primado"&gt;BUYING ME A COFFEE&lt;/a&gt;. 🙏&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>powerautomate</category>
      <category>powerplatform</category>
      <category>powerapps</category>
    </item>
    <item>
      <title>Power Automate and React Integration: Automate Business Processes</title>
      <dc:creator>Prince Adimado</dc:creator>
      <pubDate>Mon, 27 May 2024 15:37:42 +0000</pubDate>
      <link>https://dev.to/primado/power-automate-and-react-integration-automate-business-processes-2oli</link>
      <guid>https://dev.to/primado/power-automate-and-react-integration-automate-business-processes-2oli</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Are you curious about the rising trend of citizen developers and their collaboration with professional developers to streamline business processes? Discover how the Microsoft Power Platform empowers both developers to work hand in hand as we walk you through building a registration form with React, integrating it with Power Automate, and leveraging Excel as a data storage solution.&lt;/p&gt;

&lt;p&gt;Imagine an organization instructing its software engineers to build a registration landing page for an event, the data must be stored in an Excel file. Also, imagine in that same organization there is a low-code developer. How can these two developers work together on this project?&lt;/p&gt;

&lt;p&gt;This is where the citizen developer and the pro developer can work together to execute this project.&lt;/p&gt;

&lt;p&gt;I first saw a demo of a web app like this in ASP.NET Core during the Global Power Platform Bootcamp 2023, in Accra, Ghana by &lt;a href="https://mvp.microsoft.com/en-us/PublicProfile/5003756?fullName=Frank%20Arkhurst%20Odoom"&gt;Frank Odoom a Microsoft MVP&lt;/a&gt;. So, I decided to replicate it in a JavaScript library I'm familiar with.&lt;/p&gt;

&lt;p&gt;In this article, I will walk you through how to build a registration form with React that sends data through an API to Power Automate and then saves the data in an Excel file. We won't just save the form data in Excel but also send out an email to the user, this is to make sure that the email address is valid else it won't be saved in file Excel which is acting as our data storage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;To start building this project, we first need our API. How can we get the API to use in our source code in React?  Let me first list the steps I went through to fully build this project.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Set up the Power Automate workflow to handle API data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test the API using Postman to ensure successful data transmission.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a React app and build the registration form.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Utilize Axios for making HTTP requests from the React app.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implement React Hook Form for form validation and handling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use React Router for seamless navigation, including a success page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create the Success page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deploy the React app to make it accessible online.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Build the Power Automate Workflow
&lt;/h2&gt;

&lt;p&gt;If you are new to Power Automate, you will need a Microsoft 365 license to be able to use the Power Platform. Create your Microsoft 365 developer tenant here. If you're unsure how to get started you can see this post with more details on how to set up Microsoft 365 Developer Account.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1:
&lt;/h3&gt;

&lt;p&gt;To start with, we first need to know which type of Power Automate flow to use. Understanding the flow type will help you know the trigger connector to use. For this flow, we shall use the Instant cloud flow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4d9utxo9edyilk5fum1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4d9utxo9edyilk5fum1.png" alt="select which type of flow on the Create page in Power Automate" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the figure below, give your flow a name, then select the connector &lt;strong&gt;&lt;em&gt;“When an HTTP request is received”&lt;/em&gt;&lt;/strong&gt;. Proceed to create your flow, by selecting the Create button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj57avj6rjqhm9etkinpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj57avj6rjqhm9etkinpl.png" alt="select the trigger connector and name your flow" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2:
&lt;/h3&gt;

&lt;p&gt;After selecting the create button, you will be directed to your flow. You will see the trigger connector when you first create it. In the connector, you will need to generate the JSON payload.&lt;/p&gt;

&lt;p&gt;A JSON payload refers to the data that is sent or received in JSON format as part of a request or response in a web application or API. Power Automate has made it very simple for us to just write a sample payload and then use the feature in the connector to generate schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv5qbtb2z3ketfoffki6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv5qbtb2z3ketfoffki6.png" alt="generate sample payload " width="757" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the “Use sample payload to generate schema”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5u44brwmj40e9di4ueoc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5u44brwmj40e9di4ueoc.png" alt="write a sample payload and click on  done to generate schema" width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After writing your sample payload, click on &lt;strong&gt;"Done"&lt;/strong&gt; to generate the schema.&lt;br&gt;&lt;br&gt;
Click to show the advanced options, in the method dropdown menu, choose POST as the HTTP verb. We are going to make a POST request.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3:
&lt;/h3&gt;

&lt;p&gt;Search for the connector, &lt;strong&gt;&lt;em&gt;“Parse JSON”&lt;/em&gt;&lt;/strong&gt; and select it.&lt;/p&gt;

&lt;p&gt;Select the on the Content input, to add &lt;strong&gt;&lt;em&gt;“Body”&lt;/em&gt;&lt;/strong&gt; as the dynamic content.&lt;/p&gt;

&lt;p&gt;At the schema input, just copy the JSON payload generated in the trigger connector.&lt;/p&gt;

&lt;p&gt;You should have something like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuwvlduzpgegcntzme6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuwvlduzpgegcntzme6e.png" alt="parse Json in Power Automate" width="758" height="418"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Select the &lt;strong&gt;&lt;em&gt;“Compose”&lt;/em&gt;&lt;/strong&gt; connect and parse the JSON variables generated in the &lt;strong&gt;&lt;em&gt;“Parse JSON”&lt;/em&gt;&lt;/strong&gt; connector above, as dynamic content in the &lt;strong&gt;&lt;em&gt;“Compose”&lt;/em&gt;&lt;/strong&gt; connector.&lt;/p&gt;

&lt;p&gt;You should have something like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvifxnvakur0js85rhmf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvifxnvakur0js85rhmf.png" alt="compose the values in Power Automate" width="753" height="168"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Step 5:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In this step, we have to initialize the data received to a variable. So search for &lt;strong&gt;&lt;em&gt;“Variable”&lt;/em&gt;&lt;/strong&gt; and Select it to show the connectors. Choose the &lt;strong&gt;&lt;em&gt;“Initialize Variable”&lt;/em&gt;&lt;/strong&gt; connector.&lt;/p&gt;

&lt;p&gt;Give the variables a name and initialize, select &lt;strong&gt;&lt;em&gt;“String”&lt;/em&gt;&lt;/strong&gt; as the data type for both variables &lt;strong&gt;&lt;em&gt;“full_name"&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;"email_address”&lt;/em&gt;&lt;/strong&gt;.  Remember that in the JSON payload schema, the data types are both strings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi2xyzpfs16mxlg23x4z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi2xyzpfs16mxlg23x4z.png" alt="initialize the values as variables" width="762" height="505"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Step 6:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In this step, we proceed to craft our email message. Search for Outlook and choose the &lt;strong&gt;&lt;em&gt;“Send an email (V2)”&lt;/em&gt;&lt;/strong&gt; connector. We will use this connector to send an email once the form is submitted.&lt;/p&gt;

&lt;p&gt;Craft your email message, this is how I wrote mine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvhtnaa84nw9l7lpo000h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvhtnaa84nw9l7lpo000h.png" alt="compose your email in the outlook connecto" width="752" height="588"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Step 7:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We shall use Excel for data storage when the form is submitted. You first go to your OneDrive and create an Excel online file. It will be ideal to create a folder where you can be able to reference this easily. As I did for Outlook in the previous step, search for Excel and choose &lt;strong&gt;&lt;em&gt;“Excel Online (Business)”&lt;/em&gt;&lt;/strong&gt;. From the list of Excel connectors, choose the &lt;strong&gt;&lt;em&gt;“Add a row into the table”&lt;/em&gt;&lt;/strong&gt; connector.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Test the API using Postman to ensure successful data transmission.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now we are done building our flow, the next step is to test whether our flow works. We don’t need to finish building the UI with React to be able to test our flow.  &lt;br&gt;&lt;br&gt;
Create a Postman account if you don’t have one.  We will use Postman to make a POST request to the HTTP POST URL or the API.&lt;/p&gt;

&lt;p&gt;To get the API URL, go to the trigger connector to copy the URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: you will need to save your flow for the HTTP POST URL to be generated.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Follow this guide to test your flow.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/6EsItBfvrsw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Create a React app and build the registration form.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is where we build the UI of the registration form using React.&lt;/p&gt;

&lt;p&gt;To follow along, I used Tailwind CSS as the framework for styling, and also we will use Vite as our development server and a build tool that focuses on fast development experiences.&lt;/p&gt;

&lt;p&gt;To create a Vite project, run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;vite&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;latest&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;my-project&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--template&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;react&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;my-project&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install Tailwind CSS, run these commands&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-D&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;tailwindcss&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;postcss&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;autoprefixer&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;npx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;tailwindcss&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-p&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follow this guide on the &lt;a href="https://tailwindcss.com/docs/guides/vite"&gt;Tailwind CSS website&lt;/a&gt; to finish the setup-up of your project.&lt;/p&gt;

&lt;p&gt;Now, let’s proceed to build the form. Since this is a guide, I won’t be giving details on how I style the form. But I will show I applied React Hook Form, Axios, and React Router to achieve the functionality of the web app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useForm&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-hook-form&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;


&lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;App font-serif bg-gray-300 min-h-screen&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex justify-center items-center py-[5rem] sm-425:py-0 &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;max-w-[30rem]  &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex flex-col bg-[#fff] w-full rounded-md px-5 py-12 sm-425:pt-16 sm-425:min-h-screen sm-375:min-h-screen sm-375:pt-16 sm-320:min-h-screen sm-320:pt-12&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;description mb-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt;
                  &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;badge&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mlsa logo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                  &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;w-20 h-20 mx-auto&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-black text-2xl font-semibold text-center py-3 sm-320:text-center sm-425:text-center sm-375:text-center&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;MLSA&lt;/span&gt; &lt;span class="nx"&gt;Ghana&lt;/span&gt; &lt;span class="nx"&gt;Days&lt;/span&gt; &lt;span class="mi"&gt;2023&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h1&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;font-medium text-sm text-justify &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;MLSA&lt;/span&gt; &lt;span class="nx"&gt;Ghana&lt;/span&gt; &lt;span class="nx"&gt;Days&lt;/span&gt; &lt;span class="nx"&gt;is&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;day&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt; &lt;span class="nx"&gt;that&lt;/span&gt; &lt;span class="nx"&gt;brings&lt;/span&gt; &lt;span class="nx"&gt;together&lt;/span&gt; &lt;span class="nx"&gt;students&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="nx"&gt;developers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;tech&lt;/span&gt; &lt;span class="nx"&gt;enthusiasts&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;learn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;share&lt;/span&gt; &lt;span class="nx"&gt;ideas&lt;/span&gt; &lt;span class="nx"&gt;on&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;latest&lt;/span&gt;
                 &lt;span class="nx"&gt;technologies&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;Microsoft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mt-3 text-lg font-semibold&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Register&lt;/span&gt; &lt;span class="nx"&gt;here&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;form&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;onSubmit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;handleSubmit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;onSubmit&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form__group flex flex-col mb-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="nx"&gt;htmlFor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Full&lt;/span&gt; &lt;span class="nx"&gt;Name&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;watchAllFields&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; 
                    &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
                    &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
                    &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Enter your full name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;border-2 outline-none border-gray-400 focus:ring-1 focus:ring-amber-500 rounded-md p-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                    &lt;span class="p"&gt;{...&lt;/span&gt;&lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;full_name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;maxLength&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt; &lt;span class="p"&gt;})}&lt;/span&gt;
                    &lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;invalid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;errors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;full_name&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;false&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="sr"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;}
&lt;/span&gt;                  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;errors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;full_name&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;required&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;alert&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-red-500 text-sm&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;This&lt;/span&gt; &lt;span class="nx"&gt;field&lt;/span&gt; &lt;span class="nx"&gt;is&lt;/span&gt; &lt;span class="nx"&gt;required&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&amp;gt; &lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="err"&gt;}
&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form__group flex flex-col mb-5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="nx"&gt;htmlFor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Email&lt;/span&gt; &lt;span class="nx"&gt;Address&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;watchAllFields&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; 
                    &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
                    &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
                    &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Enter your address&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
                    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;border-2 outline-none border-gray-400 focus:ring-1 focus:ring-amber-500 rounded-md p-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                    &lt;span class="p"&gt;{...&lt;/span&gt;&lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;pattern&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sr"&gt;/^&lt;/span&gt;&lt;span class="se"&gt;\S&lt;/span&gt;&lt;span class="sr"&gt;+@&lt;/span&gt;&lt;span class="se"&gt;\S&lt;/span&gt;&lt;span class="sr"&gt;+$/&lt;/span&gt; &lt;span class="p"&gt;})}&lt;/span&gt;
                    &lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;invalid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;errors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;false&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                  &lt;span class="sr"&gt;/&amp;gt; &lt;/span&gt;&lt;span class="err"&gt;}
&lt;/span&gt;                  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;errors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;required&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;role&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;alert&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-red-500 text-sm&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;This&lt;/span&gt; &lt;span class="nx"&gt;field&lt;/span&gt; &lt;span class="nx"&gt;is&lt;/span&gt; &lt;span class="nx"&gt;required&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&amp;gt; &lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="err"&gt;}
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form__group &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; 
                    &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;submit&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
                    &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Submit&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bg-amber-500 w-full text-white font-semibold py-2 px-4 rounded-md cursor-pointer hover:bg-amber-600 active:bg-amber-700 focus:outline-none focus:ring-1 focus:ring-amber-500&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                  &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;              &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/form&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;)&lt;/span&gt;   
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code represents a React Component that renders a registration form for an event called MLSA Ghana Days 2023. The form includes 2 fields, and these fields are the same as the JSON payload in the Power Automate flow. The form includes fields for the user’s full name and email address, along with a submit button. It utilizes React Hook form for form validation and handling. When the form is submitted, the &lt;code&gt;onSubmit&lt;/code&gt; function is called. Finally, the form is styled by Tailwind CSS classes and made responsive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilize Axios for making HTTP requests from the React app.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useForm&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-hook-form&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;axios&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useNavigate&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;




&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;App&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;register&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;handleSubmit&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;watch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;getValues&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;formState&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;errors&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useForm&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;watchAllFields&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;watch&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;navigate&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useNavigate&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;onSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

      &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;formdata&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;getValues&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;full_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;formdata&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/api&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
         &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;full_name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;full_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;
         &lt;span class="p"&gt;});&lt;/span&gt;

         &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Response:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
         &lt;span class="nf"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

         &lt;span class="c1"&gt;// Redirect to Success message&lt;/span&gt;
         &lt;span class="nf"&gt;navigate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/success&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Error:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nf"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;subscription&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="nf"&gt;watch&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;subscription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;unsubscribe&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;watch&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

&lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="c1"&gt;// JSX code for the form below&lt;/span&gt;

&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The provided code snippet showcases the functionality of a registration form implemented in a React application. Here's an overview of its functionality:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;useForm&lt;/code&gt; hook from the React Hook Form library is utilized to handle form registration, submission, and validation. It provides methods like &lt;code&gt;register&lt;/code&gt;, &lt;code&gt;handleSubmit&lt;/code&gt;, and &lt;code&gt;watch&lt;/code&gt;, as well as access to form state and validation errors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;watch&lt;/code&gt; function is used to monitor changes in form fields and store the values in the &lt;code&gt;watchAllFields&lt;/code&gt; variable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;useNavigate&lt;/code&gt; hook from React Router is used to enable programmatic navigation. It allows for redirection to a success page after form submission.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;onSubmit&lt;/code&gt; function is called when the form is submitted. It retrieves the form data using &lt;code&gt;getValues&lt;/code&gt; a component from React Hook Form and makes a POST request to the &lt;code&gt;/api&lt;/code&gt; endpoint, sending the &lt;code&gt;full_name&lt;/code&gt; and &lt;code&gt;email&lt;/code&gt; values in the request body.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note: The /&lt;code&gt;api&lt;/code&gt; is the HTTP POST URL you copied in Power Automate to test the flow. Copy the API URL and paste it, to allow Axios to make the request.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;If the request is successful, the &lt;code&gt;reset&lt;/code&gt; function is called to clear the form fields, and the user is redirected to the success page using the &lt;code&gt;navigate&lt;/code&gt; function.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If there is an error during the submission process, the error is logged to the console.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;useEffect&lt;/code&gt; hook is used to subscribe to changes in form field values using &lt;code&gt;watch&lt;/code&gt;. Whenever a change occurs, a callback function is triggered to log the updated value, field name, and field type. The subscription is unsubscribed when the component is unmounted.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In your &lt;code&gt;main.jsx&lt;/code&gt;, create a route using &lt;code&gt;CreateBrowserRouter&lt;/code&gt;. This will handle the navigation between the two pages.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;ReactDOM&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-dom/client&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./App.jsx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Success&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./component/Success.jsx&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;createBrowserRouter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;RouterProvider&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-router-dom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createBrowserRouter&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;

  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/success&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Success&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="nx"&gt;ReactDOM&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createRoot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;RouterProvider&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well, we are almost done. Let’s proceed to create the success page, this page as mentioned above, after form submission &lt;code&gt;useNavigate&lt;/code&gt; will route from the home page to this success page.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;check&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../assets/check.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Success&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;success font-serif bg-gray-300 min-h-screen&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex justify-center items-center py-[10rem] sm-425:py-0 sm-375:py-0 sm-320:py-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;max-w-[30rem] bg-white rounded-xl shadow-2xl sm-425:min-h-screen sm-425:rounded-none&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;description px-5 py-5 sm-425:py-[10rem] sm-375:py-[10rem] sm-320:py-[10rem]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;flex flex-col &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt; 
                                    &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;check&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; 
                                    &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; success check icon&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                                    &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;w-20 h-20 mx-auto&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                                 &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-black text-2xl text-center font-semibold py-3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                                    &lt;span class="nx"&gt;Thank&lt;/span&gt; &lt;span class="nx"&gt;you&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;registering&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;MLSA&lt;/span&gt; &lt;span class="nx"&gt;Ghana&lt;/span&gt; &lt;span class="nx"&gt;Days&lt;/span&gt; &lt;span class="mi"&gt;2023&lt;/span&gt;
                                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h1&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                           &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;font-medium text-base text-center mt-2 text-gray-600&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Kindly&lt;/span&gt; &lt;span class="nx"&gt;check&lt;/span&gt; &lt;span class="nx"&gt;your&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;confirmational&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The success page only contains styling for the page and does not include any functionality but just displays the page.&lt;/p&gt;

&lt;p&gt;Now we are done, but you must test your application to make sure it works and after form submission, it saves the data to Excel. I will include a demo video here to show you how my version of the web app functions and looks.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/5K068gF_ol8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In conclusion, we have embarked on an exciting journey of building a registration form with React, harnessing the power of Power Automate. By leveraging the capabilities of React Hook Form and Axios, we have achieved seamless form validation and submission.&lt;/p&gt;

&lt;p&gt;The integration of Power Automate and React has demonstrated how low-code solutions can complement traditional software development, enabling us to create robust applications with ease.&lt;/p&gt;

&lt;p&gt;I hope this guide has inspired you to explore the endless possibilities of integrating drag-and-drop tools like the Power Platform into your development projects, we are only limited by our imagination by the extensibility of the Power Platform.&lt;/p&gt;

&lt;p&gt;You can find the link to the GitHub repository of the source code &lt;a href="https://github.com/primado/registration-form-pa"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Feel free to share your feedback and connect with me on &lt;a href="https://linkedin.com/in/primado"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://twitter.com/_primado"&gt;Twitter&lt;/a&gt;. Let's continue innovating together!&lt;/p&gt;

&lt;p&gt;Support me by, &lt;a href="https://buymeacoffee.com/primado"&gt;BUYING ME A COFFEE&lt;/a&gt;. 🙏&lt;/p&gt;

</description>
      <category>react</category>
      <category>excel</category>
      <category>outlook</category>
      <category>powerplatform</category>
    </item>
    <item>
      <title>Power Automate and React Integration: Automate Business Processes</title>
      <dc:creator>Prince Adimado</dc:creator>
      <pubDate>Mon, 27 May 2024 15:00:50 +0000</pubDate>
      <link>https://dev.to/primado/power-automate-and-react-integration-automate-business-processes-591i</link>
      <guid>https://dev.to/primado/power-automate-and-react-integration-automate-business-processes-591i</guid>
      <description></description>
      <category>powerplatform</category>
      <category>powerautomate</category>
    </item>
  </channel>
</rss>
