In the end of 2017, my school time was finally approaching its end. Sure, the final exams would take place next year in spring/early summer, but we were already thinking about how to celebrate our graduation.
We split up in several working groups to organize different things. There was one group that took care of the final yearbook, one was planning the graduation ball any one, the one I took part in, was designing and ordering T-Shirts for us.
You know, the ones with a funny motto and all our names on it.
We were able to find a company where we could order all our shirts in bulk for a lower price. But that put us in front of another problem: how can we ask every student what shirt he wants, collect the money and, once the shirts arrive, hand out the correct one to everyone who ordered it. Our graduation class was fairly large with about 120 students.
So why bother trying to organize that with paper lists if computers can to the job way more efficiently? So I had the idea to develop an online shirt ordering system.
It had to fulfil the following requirements:
- Orders have to be paid with cash, as online payment may not be available to all students, we don't want to bother with business registration and payment fees.
- It should keep track of every payment accepted and every shirt delivered. Nobody should be able get a shirt without a verified payment.
- It should sum up all the money collected by each member so it can be easily transfered to a common bank account.
So this is the concept I came up with:
- Students visit the website and fill out an order form with name, shirt type and size.
- The website generates a pdf order confirmation with a QR-Code on it.
- To pay the order, the student has to go to a member of our working group and show them the QR-Code.
- The working group member can scan the QR code with his phone which leads him (after a login) to a confirmation form. If he got the money, he can mark the order as paid.
- Once the shirts arrive, everyone who ordered and paid one can show us their order confirmation. We scan it again, hand out the shirt and mark the order as delivered.
Here you can see the overview of how much money I collected. When we had to make the shirt order I could easily transfer the sum displayed to the bank account of the person who had to place the order. The system can also show a detailed overview of all the shirt orders by name. Obviously I cant show this here for privacy reasons.
In the end my shirt store managed 116 shirt orders worth 1880€. As far as I could tell there weren't any issues with the system. The only problem was that some students lost their order confirmations. So I had to add a search-by-name function to be able to hand out their shirts, too.