Covid Report is a small project I made in my free time to allow parents from EMSB schools to submit cases easily and anonymously. They were also able to view cases in their child's grade or classes. This project was up and running until the EMSB created their own tool for reporting Covid cases.
One of the main problems with this project is being able to filter fake data out of the real data. To solve this I used FingerprintJS to create a fingerprint for the visitor. This fingerprint would be submitted and validated server side when someone submitted a case, allowing me to check if they've already submitted a certain amount of cases and more.
Another challenge was sorting grade levels and classes properly. In order to do this I created a custom sorting function that would assign a number to each grade level or class by taking each character in the name and ranking it based on what it was and it's position. For example, let's say there was a class named
1A. This function would create a number to rank it base on
1 in postition 1 and
A in position 2. This would allow me to sort everything in the correct order. Check it out at this link.
Through this project, I learned about Prisma, FingerprintJS, and headless components. What I learned about headless components sparked an interest in me and I've started to build my own component library.