Creating Exam Portal on Power Apps

We are going to build a exam portal using Canvas Apps. Our datasource is going to be an excel sheet that is hosted on OneDrive business account. Your datasource can be of your choice like sharepoint list, sql server etc.

Our datasource consists of four tables, exam, questions, options, and results.

Power Platform Online Training

Exam Table has two columns. Id and Exam.
Id – Unique Identifier
Exam – Name of Exam

Power Platform Online Training

Questions Table has 4 columns. Id, QuestionNumber, Question, ExamId.
Id – Unique Identifier
QuestionNumber – Question Number in that particular Exam.
Question – Question Description
ExamId – Which Exam does this question belong to?

Power Platform Online Training

Options table has 4 columns. Id, Answer, IsCorrect, QuestionId.
Id – Unique Identifier
Answer – Option Description
IsCorrect – Marking which answer is correct
QuestionId – Which Question does this option belong to?

Power Platform Online Training

Results table has 6 columns. User, UserEmail, Score, ExamName, ExamId, JsonObject. User – User Name
UserEmail – User Email
Score – Score of a user for a particular Exam
ExamName – Name of the Exam
ExamId – Id of the Exam
JsonObject – User Data that is used to capture Selected Options for a question, calculate score and also understand how user has performed in Exam.

Upload this file to OneDrive and create a Power Apps Canvas Application from Blank in Power Apps Portal. Establish a connection to your OneDrive account and connect to all the four tables.

Power Platform Online Training

Create two Screens Home and Exam, Home screen will have all the exams which user can take, and Exam Screen will have questions and exam once user selects his desired Exam. In Home Screen, create a blank vertical gallery and bind the Exams Datasource.

Power Platform Online Training

Edit Gallery and Insert Button with Text property set to ThisItem.Exam which populates Exam Name on Buttons.

Power Platform Online Training

On the OnSelect Action of the Gallery Apply the following code –

Navigate(Exam,ScreenTransition.Fade, {selectedexam: ThisItem})

Navigating to the Exam Page and creating a context variable in Exam page called selectedexam and passing in the selected exam using ThisItem. In Exam page create a label and change it’s Text Property to selectedexam.Exam to show the heading of the Exam. Design the page with Question – 1 Label that shows the Question Number and then two Icons right and left to go to next and previous questions respectively, a finish button once user wants to finish the exam.

Power Platform Online Training

Now, Exam Screen has a action called OnVisible which gets triggered once the Exam Screen is Visible. Fetch the first question and options for that question of the Selected Exam by using the following code:

UpdateContext({question: First(Filter(Questions, ExamId = selectedexam.Id))});

ClearCollect(option, Filter(Options, QuestionId = question.Id));

You now have the first question and it’s options in selected exam, update the Question number label’s Text property as

“Question - ” & question.QuestionNumber

And question label’s Text Property as question.Question

Now for options select an empty vertical Gallery and bind the datasource with the option collection we have created.

Power Platform Online Training

Edit the gallery and insert a checkbox with the its next label set to ThisItem.Answer to display answers

Power Platform Online Training

All our questions have only one correct answer, so we should let user select only one checkbox and not multiple check boxes. To do this we start with creating a label to count the number of check boxes that are selected.

Power Platform Online Training

Upon selecting the checkboxes the count label will increment and decrement the values.

Power Platform Online Training

Turn off the visible property of the count label and In Checkbox DisplayMode write the following code:

If(Self.Value || Value(label_CountSelectedOptions.Text) = 0, DisplayMode.Edit, DisplayMode.Disabled)

This code will ensure that only one checkbox is selected at once. You might think to Count the Selected number of Checkboxes directly in the display mode of the Checkbox, but you will not get the access to the other checkboxes as we are creating them with gallery.

Power Platform Online Training

Now, we must fetch previous question and its options upon clicking previous icon. Next question and its options upon clicking next icon. but previous icon should be disabled if we are on the first question and next question should be disabled if we are on the last question. To help us with all this functionality we are going to declare more variables in our Exam’s Screen OnVisible action

Power Platform Online Training

questioncount – to get the number of questions in the selected exam

questionid – get the question id of the selected question

firstquestionid – get the first question id of the selected exam

Now, update the next icon’s OnSelect action with the following code:

Power Platform Online Training

You can see that we are incrementing the value of questionid when the current question that is being displayed is less than the questioncount. Then we are fetching our new question and its respective options with the help of questionid.

We disable the next icon if quesionnumber is not less than the questioncount so that we do not go out of the bounds of this exam.

Power Platform Online Training

Similarly, we update the previous icon’s OnSelect action with the following code:

Power Platform Online Training

Here, we are decrementing the questionid as long as the current questionid is greater than the first question’s id. We then use the questionid to fetch the question and its options.

We now disable previous question icon when questionid is not greater than the firstquestionid

Power Platform Online Training

Now we can easily go through all the questions that are from the selected exam using the next and previous icons. We now must capture all the selected options by user and also calculate the score. To do this we are going to introduce a new collection variable called jsonobject on Exam’s OnVisible Property.

Power Platform Online Training

We are capturing the questionid, selectedoption and if it is correct or wrong. By default we will be having selectedoption as empty string and iscorrect as false. All this happens for the first time when user loads the exam. we now have to get data for the selectedoption and also if it is correct. We do that by introducing a new variable called selectedOption on the OnCheck action of checkbox_Options

Power Platform Online Training

we must update the selectedOption to blank when the particular checkbox is unchecked. Imagine a situation where user first selects a checkbox (we will update the selectedOption). Now user unchecks the checkbox, doesn’t select any other option and goes to previous or next question. selectedOption will still be the first checkbox which the user has selected which will cause a problem when we update our jsonObject in our next code.

Power Platform Online Training

We must capture the user’s selectedoptions in jsonObject to calculate the score. So, update the next’s icon OnSelect action with following code:

Power Platform Online Training

Now there are two new things which are added to the next’s icon OnSelect action. First we Patch the jsonObject updating the current questionid object from the jsonObject collection, we update selectedoption and iscorrect properties. Then we change the questionid and get the new question and option details. We then check if jsonObject collection holds a new object that is used to track this newly updated question and if not we will add a new record to the jsonObject collection with the new questionid and by default selectedoption as empty string and iscorrect as false. We update the same code in the previous icon’s OnSelect action to patch jsonObject. Once you are done answering all the questions the jsonObject will now be something like this:

Power Platform Online Training

our checkboxes are not able to retain the previously selected option by user when you go previous and next a few times. We can do this by changing the default property check boxes with the following code by using the jsonObject collection

Power Platform Online Training

Everything till here looks perfect, but we still have a problem, our checkboxes start acting weird and will not be able to still retain the selected options by the user. This problem is because jsonObject will be patched with empty selectoption and iscorrect as false though the user has provided correct options and just skimming through questions before finishing the exam. To address this issue we have to update our code. Create a new variable called answerSelected which is true on the OnCheck action of the check box.

Power Platform Online Training

Now, on update the OnUnCheck action with the following code:

Power Platform Online Training

We are making answerselected as false and also we have introduced a new variable to capture if a question is already answered and now unchecked.
We now update the pathing of our jsonObject with the following code:

If(answerSelected || alreadyAnsweredandUnChecked, Patch(jsonObject, LookUp(jsonObject, questionid = question.Id),{selectedoption: If(selectedOption.QuestionId = question.Id, selectedOption.Answer, "")}, {iscorrect: If(selectedOption.QuestionId = question.Id && selectedOption.IsCorrect = "1", true, false)}), false);

So, we patch our jsonObject only if it is answered or alreadyAnsweredandUnChecked. We update this code in next and previous icons.

Finally, our exam starts behaving as expected and now we are left with Finish button’s functionality. Update the OnSelect Action of Finish button with the following code:

Power Platform Online Training

You observe me doing the patching of jsonObject here as well, the reason for that is we must capture the data no matter on whatever question the user decides to finish his exam. it might be on question 2 while there are 4 or 5 questions in the exam. we finally patch Results with a new record calculating score and sending the jsonObject in Json format just in case if you want to show the user’s performance and for the admin to cross verify if the score has been calculated properly. Open, excel workbook Result’s table and you will be able to see the following:

Power Platform Online Training

You can find this project on GitHub

For details on our upcoming courses and webinars, Visit @https://www.bestdotnettraining.com/courses-and-webinars

To always stay up-to-date with our free webinars and course with our WhatsApp Tech Group, Join now!

For any Query,
Mr. Lalith Prasad

Mobile/WhatsApp Number: +91 97011 18218
Email: lalith.p@deccansoft.net

Learn and get five Microsoft certifications in one course| Azure Suite

Complete Azure Online Training

If you are looking for Complete detailed knowledge in Microsoft Azure, then you are at the right blog. 

Day 1: https://youtu.be/XJrimyvx4w0
Day 2: https://youtu.be/z6yanmcD6Ks

With Microsoft Azure, you can build and manage a huge quantity of data. Its flexibility and scalability provide a wide range of connections between On-premises and the public cloud. Because of its streamlined process and cost-effectiveness, Microsoft Azure attracts more organizations and customers.

As Microsoft Azure has grown rapidly, every IT professional needs to acquire Microsoft Azure skills and certifications. Learning Azure is one of the best investments to leverage your career.

Here’s the value of Microsoft Azure Certification
In the cloud market, the most in-demand certification path is becoming a Microsoft Azure certified professional. The knowledge and experience that you gained from this certification will help you to improve tech qualities and unlock a wide range of job opportunities. 

Getting certifications from an international vendor (like Microsoft) should improve your career credibility. So that certified professionals should get better recognition and attractive salary packages in any organization across the globe. Anyway, Learning from the globally known training center and real industry experts only help you to meet the corporate objectives.

Now, are you thinking of the best Azure online training?

Don’t worry! We Bestdotnettraining is the perfect place to start your career in Azure.  Azure is our forte, Start from Azure scratch and ride on the journey to become an Azure expert.

With our high-impact virtual training, you will get an interactive and immersive learning experience on Azure technologies. This is an all-in-one platform for Azure learners where you can access basic level Azure programs(AZ-900, AZ-104, AZ-204, AZ-303 & 304) to advanced courses( AZ-400, AZ-500). 

Learn AZURE from the best trainer Sandeep Soni with 25+ years of experience in software and corporate training, and an Azure Architect himself, and be ready to grab corporate job opportunities.

Connect with your trainer https://www.linkedin.com/in/sandeepsoni123/

Deep dive into Microsoft Azure courses

We proudly launched a live training on Microsoft AZURE, known as AZURE SUITE. In this pocket-friendly package, you can get complete knowledge of the Microsoft Azure course (AZ-104 + AZ-204 + AZ-303 & AZ-304 + AZ-500). Enroll now for a free demo session https://forms.gle/NhnWYzbAi4iT1jnNA to avail of the special offer.

With this Azure suite course, you can take the following Certifications –

A fresh live training batch begins on 11th September 2021. You will not only get to learn from Sandeep Soni LIVE but will also get special benefits like:

  • Complete Course Documentation for Certification exam
  • You will be able to repeat the entire course multiple times a year
  • You will get a 1-month FREE Azure portal access and MOC
  • Above all, you will get to learn azure from a 360 degree, from Administrator, Developer and Architect point of view

As the value of Azure services increases every day, this Azure Suite should be a solid base for your superior professionalism. Make your career in Microsoft Azure, Register NOW https://forms.gle/NhnWYzbAi4iT1jnNA to avail the special offer.

For Microsoft Azure Online Training, please visit: https://www.bestdotnettraining.com/azuretraining

Subscribe to our YouTube channel to stay updated with our free webinar and courses, visit –https://www.youtube.com/channel/UCzWd8lsefYoh42OCrg6FzuQ

To know more about this course, visit – https://www.bestdotnettraining.com/azuretraining

Join our WhatsApp Tech Group and stay up to date about our free webinars and courses, we also conduct Quizzes on a daily basis with an exciting gift, join now and win https://chat.whatsapp.com/K6ot2JhuSJj5g2ooO21t0B

For details about the upcoming courses and webinars, visit – https://www.bestdotnettraining.com/courses-and-webinars

Execute the Microsoft Azure DevOps Services and Spotout the Business Growth

AZ-400: Azure DevOps Online Training

If you have missed the demo webinar for this Complete azure training, then find it here:

Day 1: https://youtu.be/XJrimyvx4w0
Day 2: https://youtu.be/z6yanmcD6Ks

Developing and deploying the product in a short period with no blunder is as yet hard for developers/organizations. Yet, presently you can bypass these issues with Microsoft Azure services. Indeed! You can save your time in projects by executing appropriate Aure DevOps service that would follow the application from end to end level.

Azure DevOps

Azure DevOps has lots of highlights that might amaze you in the cloud ecosystem. Azure DevOps is Microsoft Software that gives a toolchain tracking control from development to deployment level. You can get adaptable access for various platforms to run various languages and deploy them on any cloud.

Azure DevOps services

This conveyance model executes a connection between an organization’s azure development team and the operations team. DevOps tools that control whole activities with one unit. The target of DevOps is to track the process from top to end level consequently lessening the general time. It will assist the organization with accomplishing the objective and increment business esteem in a short period by giving effective yields. It is built with loads of logic that give an alert to the development team when an issue is recognized in the production environment. 

Azure DevOps offers various services for organizations to further develop results. Here, you can simply search for a DevOps services list to work on your insight.

DevOps infrastructure services

When the association is prepared to acknowledge DevOps, infrastructure automation is the main angle to effective the DevOps venture. infrastructure is a consistent part of programming advancement that goes about as a spine for the entire framework to execute appropriately. You can improve your workflow by eliminating waiting time which will give higher accuracy and better efficiency. Infrastructure plays a vital role in leveraging deploying scripts, engaging teams, monitoring tools, tracking performance, and more.

DevOps consulting services

If any organization will try to adopt the azure DevOps, its first target is to expand the objective/worth of the association. However, it is absurd without applying the appropriate DevOps Strategy. You ought to recognize the pragmatic approach from business layers. Today, numerous counseling groups are accessible to work out the DevOps computerization.

DevOps implementation services

After finding out the proper strategy, you should apply it to your traditional system approach and shift every process into Azure DevOps.This may take time to shift and everyone must learn about DevOps basics to work with that.

DevOps CI/CD Services

CI/CD pipeline is a progression of steps that should further develop programming delivery to expand the business esteem. Continuous integration (CI) is useful for data integrations and repositories while performing continuous delivery (CD). You can get to short-deliver activities whenever without defects. These automated pipelines perform moment cycles for product release without errors.

DevOps containerization services

Containerization is the key role player in the DevOps process to achieve the perfect solutions that ensure higher reliability, portability, and quality. The packaging software code required dependencies and configurations to track the process for successful deployment.

DevOps release management service

This process will manage the whole software delivery lifecycle, such as developing, testing, and deploying. Various tools are implemented to track the system which reduces the time delay and error. By using DevOps we may deploy the application in a short time in a secure way.

Azure DevOps feature

  • You can improve customer satisfaction by providing reliable service.
  • Dashboard control
  • Improved Source Control
  • Plan and Track Your Work
  • Continuous Integration and Deployment (CI/CD)
  • Support for Manual and Exploratory Testing
  • Integrated Collaboration Services
  •  Azure Cloud-hosted Services

Subscribe to our YouTube channel to stay updated with our free webinar and courses, visit – https://www.youtube.com/channel/UCzWd8lsefYoh42OCrg6FzuQ

To know more about this course, visit – https://www.bestdotnettraining.com/azure-devops-online-training

Want to know the course syllabus, download it here – https://bdtmaterial.blob.core.windows.net/shared/BDT_Syllaubus_Documents/Azure_DevOps_Syllabus.pdf

Join our WhatsApp Tech Group and stay up to date about our free webinars and courses, we also conduct Quizzes on a daily basis with an exciting gift, join now and win https://chat.whatsapp.com/K6ot2JhuSJj5g2ooO21t0B

For details about the upcoming courses and webinars, visit – https://www.bestdotnettraining.com/courses-and-webinars

CareerStep: A job training and 100% Job Assured program

CareerStep program 2nd batch Starts this September to know more about CareerStep to can visit, https://www.deccansoft.com/careerstep/?source=h

Are you a Fresh Graduate or job searcher seeking a job to start your career in the IT field but striving somewhere to accomplish your goal? Are you disappointed by attending many interviews yet did not get even one offer? Very few engineering graduates are employable!

This is what the IT field debates on academic studies. The gap between your graduate studies and IT job work is what the CareerStep program aims to fill.

What makes this program different is the hands-on training on technologies besides theoretical training, soft skills training, resume preparation, practical examples, assignments, weekly tests, mock interviews, career guidance, and mentoring. At the end of every major module, a Live Project would follow which would give you enough confidence in the module covered.

Our focus is to make you prepared for real-time client projects which you will be working on in your job. We have a goal to make our students successful in their software careers. To achieve this, we need participants also to have a career goal, commitment, and dedication to achieve it.

What is the CareerStep program?

CareerStep, a 100% JOB GUARANTEE program is architected by Mr. Sandeep Soni based on his 25+ long years of corporate Experience. In this program, you will get software technology training and soft skill courses from scratch to an advanced level. 

In this program, you will be trained by premium faculty and they should follow your every work to fabricate your IT venture. The span of the course is 3-4 months of forceful preparation.

JOB READY Training methodology

  1. Ability to write code in real-time
  2. Confidence in group discussion
  3. Communication skills development
  4. Personality development
  5. Resume building skills
  6. Ability to Crack interviews

Three-step process

We divided the whole training process into three easy steps which will boost the candidate’s confidence and improve their technical and other soft skills in a very short period.

Step 1: Enrollment process

The candidates have to clear two rounds of interviews that will be conducted by Team Deccansoft.

  • Round 1: A non-technical discussion is conducted by the HR team of Deccansoft. In this round, your communication skills, confidence, and career interests are to be evaluated.
  • Round 2: Deccansoft’s technical team will contact you through telephone for a technical evaluation of your knowledge in any programming language or technology.

If you are qualified for the training, our team will connect you for the enrollment process. Moreover, only 15 members are allowed per batch.

Step 2: Training process

  • In this step, the aggressive training starts with .Net, Web Application Development, Mobile Application Development, Desktop Application development.
  • You can access Mr.Sandeep soni’s pre-recorded video and live classes which will train you to work in the corporate ecosystem. 
  • Assignments on every topic give you a better understanding of the module.
  • Weekly tests will be conducted by the team and necessary actions will be taken to improve the candidate’s growth. 
  • At the end of every module, you will have a chance to develop real-time projects that will help you to manage the challenges in the work system.
  • soft skills, and personality development training are also given to the candidates. Mentoring and career guidance sessions will improve your confidence and will help you to focus on your goal.
  • Our expert team will train you for effective resume building and mock interviews to help you to overcome the nervous-wrecking moment during the interview.

Step-3: Placement process

  • After four months of training, the appointment letter is offered to every participant as a software engineer trainee by Deccansoft.
  • Deccansoft’s placement division will eventually try to place the candidates with clients of Deccansoft with whom we have an MOU for placements. 
  • The salary of the candidate will then be decided based on his/her performance in the interview and other selection processes by the client.

Outcome-based education is the Future.CareerStep is our solution for 100% Job Guarantee. Snatch this opportunity and build your expert professional career in the IT field.

Attend the Launch event of this program on 11th August 2021 by Sandeep Soni.

First Batch starts on 15th August 2021.
NOTE: ONLY 15 members are allowed in a batch. Remember to block your seat to avoid being put in the wait list.
Contact: +91 8008327000 for more queries

Click on the link to know more about CareerStep https://www.deccansoft.com/careerstep/?source=h

You can also join our WhatsApp tech group for all the latest updates on the Free webinars and courses@ https://chat.whatsapp.com/K6ot2JhuSJj5g2ooO21t0B

Subscribe to our YouTube channel to stay updated with our free webinar and courses, visit –  https://www.youtube.com/user/Deccansoft123

For any queries please contact, Kashmira Shah @
+91 8008 327 000