top of page
CAS Project:
Prom Ticket QR Code and Check-in System

1: Identify own strengths and develop areas for growth

2: Demonstrate that challenges have been undertaken, developing new skills in the process

3: Demonstrate how to initiate and plan a CAS experience

4: Show commitment to and perseverance in CAS experiences

5: Demonstrate the skills and recognise the benefits of working collaboratively

Learning outcomes

Joining the prom planning committee, I decided to focus on making prom tickets. There were a few people in this group, and we decided to divide the workload by getting into roles and doing we were good at. For example, Lana was responsible for the visual aspect of the tickets, while I worked on the QR code and check-in system. I thought of myself to be moderately proficient at programming, and since I was learning about databases in computer science, I saw that this was a great opportunity to apply the concepts in a practical manner.

1. Investigation

2. Preparation

I first communicated with Lana to make sure the visual and technical aspects of the ticket would align with each other, i.e. the ticket would leave enough room for a QR code and the QR code would not go against the aesthetics of the ticket.

​

Then, I talked to Shaina, who was leading the committee, to see the specific user requirements of the system. I noted that the tickets were going to be a source of identity verification, to see exactly who attended the event and what time they did, so the QR codes had to be uniquely generated. The information contained in the codes also had to be linked to an online database so that multiple gatekeepers could see the attendance status at the same time. Overall, the system had to be simple and intuitive that it was easy to use on the day of prom.

After acquiring the ticket template and the user requirements, I started designing the QR code and ticketing system. I thought of multiple design plans, as seen on the left, and created prototypes. 

 

Ultimately, the system I created contained three parts, which are all linked to each other and available online:

  1. Google form to collect guests' personal information

    • Results collected in Google Sheets database and normalized​.

  2. QR code generator

    • Using the Google Sheets previously created, plus a Google API, unique QR codes are created for each ticket owner. They are uploaded to a Drive folder for other organizers.

    • The QR code contains a link that, when scanned, sends information to another Google Sheets database containing the name of ticket owner.

  3. QR code scan results & attendance sheet

    • The second database tracks the name and time each person checks in.

    • The second database is linked to the first database (guest list), and has a column that verifies if the person checking in is part of the guest list or not. This is to make sure the tickets are authentic.

Premyuda Sakkapannikon.png
Prom Tickets

3. Action

4. Reflection

In my preparation stage, I learned that I had to find a middle ground between the ideal

program I wanted to create and the needs of the user. Initially, I wanted to make the

database and generate the QR codes using Microsoft Access since it was the

standard, and was a program I studied in class. However, as I researched user

requirements, I learned that the system needed to be accessible online, through a

mobile browser, and available for many people. I had to find an alternative because

MS Access was only usable as a Windows application. Thus, I opted for Google Sheets.

Although it had limited capability, it was available on all devices and platforms, and

people were much more familiar with it.

​​

Due to limited time and technical ability, I had to make compromises and revise to the development plan. For example, at first, I planned to autogenerate a ticket by using a program that combined the ticket template with the unique QR code. But when attempting to make my prototype, it turned out that I would have to create a new program myself, and that was something I was inexperienced with. Even more, the formats of the ticket and QR code were not compatible. Thus, I ended up making the tickets manually, which took less time. 

​

Finally, on the day of prom, my product was put to use. Overall, the system was successful. For one, it had no major bugs and could quickly check people in. Furthermore, I was glad that the system was easy to use. Shaina, who helped me test it since development, knew the ins and outs of it very well, so she was proficient at using it. Katrina, even with no prior knowledge, also learned the program quickly.

​

After prom was over, I discovered "mail merge," a process that would have allowed me to send a batch of emails with unique attachments of prom tickets. I regret that I had not found out about it earlier, as it would have saved a lot of time for other prom organizers. However, I am still glad I made the program work on Google Sheets, because I can pass it on to the junior prom planners, giving them a systematic way of managing tickets without extensive coding knowledge. Plus, now that I know about mail merge, I am eager to integrate this to improve on the current project for the juniors, and in my future projects to automate things even more.

Google Sheets

5. Demonstration

Here is a demo of how the program works (using my own QR code).

bottom of page