Developed this app for a friend, who is in the business of quizzing, trivia, innovation-themed workshop, problem-solving, etc.
This app is for daily engagement with their audience in the form of trivia of the day.
App Link: https://yng1h.glideapp.io
A set of MCQs is logged for every day, along with the right answers.
After a user takes the quiz, there is a section for them to view their performance on each attempt of the quiz.
There is another section for a leaderboard, wherein the scores from the first attempt of the day are summed up for all the quizzes they take. Hence a login by email is desireable.
Hi @sardamit this looks great. I would like to try and build something similar, could you share your spreadsheet and logic so others can recreate and build upon?
A quick tutorial would be fantastic to see how you went about it!
Hey!
I checked out your usecase and from the look of it, my app’s constraint is that you have to have the same format for every question every day. Otherwise you have to rewrite the components every day in the app.
So, for instance, if your first question is an MCQ, your question in Q1 for all subsequent days has to be an MCQ.
You can send me a DM and I will share the google sheet with you.
If I were to do a quiz, I would create If-Then-Else columns to check answers and if they are correct set a point value. Then create a Math column add up all of the points. If you need something a little more dynamic, you could probably do the same formulas in the sheet. I think it would be better in the sheet if you plan to change the quiz often.
Do you mean to store a new point value in a different row for each answer? Then perform addition at the end? I’m new to Glide and thought you would increment a single cell.
It seems like a lot of data if you are storing every answer score in a new cell. I suppose that’s useful if you want to show users their answer history, but can you increment a cell after each answer?
Hi everyone,
Thank you for all the questions.
This is a very complex spreadsheet to get the functionality of a daily quiz app.
As a result, it’s very difficult to explain the logic of every part of the app.
Therefore, I have opened the app for copying as a template.
Hope this would help.
Copying @JackVaughan to help others who have had similar questions and check this app out in detail.
Again, apologies for the delay in getting back.
Best,
Amit
Well, thinking about this a bit more, you could have a sheet that contains one row for each quiz. Create a column for each questions and a column for each correct answer. The user would open the details for each quiz, then click on a form button to open a form that displays each question and an entry field or choice component for an answer. A user will answer each question and then click on submit. This will write all of the answers to a new sheet. You can also use the column values to automatically write the correct answer to the same sheet. In the data tab, you can create If-Then columns to compare each correct answer to each user answer. If they match, then assign a value of 1, or whatever point value you want. You will do this for each question/answer. The very last column you create will be a math column that can add up all of the If-Then column values and give you a total point value.
Thank You @sardamit!
One privacy issue is that all participants email addresses are displayed publicly on the leaderboard. Potentially a legal issue (GDPR, California?) if participants are not asked to opt-in to that. Even then, there would need to be a way for them to ask you to delete it promptly. None of that is practical, but I’m just mentioning it.
The leaderboard really needs to display an alias instead.
@JackVaughan, data protection might be something to educate app builders about. There can be quite substantial fines for not complying. In some jurisdictions apps need to have separate privacy policies for applications and websites, when they differ. It would be useful to have a general privacy policy that reflects the kinds of data Glide works with, which could be customised and linked to in apps. Whichever way it’s done, it’s something people need to be made aware of.