In one sentence, Copa is a web app with intent to revolutionize hosting and participating in our high school's (SYK) soccer tournaments.
Here is some of what Copa brings to the table for participants:
- create lasting, customizable team profiles and invite friends
- check the latest tournament updates anywhere you are on mobile
- view easy-to-understand group stage and play-off standings
- know when and where each match occurs
- follow LIVE score updates
- gamble (not real money!) on match outcomes [still in development]
And for organizers:
- oversee registered participants
- notify of last-minute changes with notifications
- draw teams into groups using a fortune wheel
- customize the bracket structure
- schedule and run matches with an in-built timer
- crown the winner and immortalize memories with pictures [still ironing out]
A few years back, Eero Koskenvesa (SYK alumn) hosted the first niche, futsal-like tournament, where teams of four battled it out in six minute matches. Copa de Kuutio has since captured the hearts of many in our school (myself included), and typically sees nearly all 600 high school students coming together in a jubilant ceremony.
At the same time, these tournaments were organized through spreadsheets posted on Instagram, requiring a lot of manual labor to both plan and follow. The mission of the Copa web app is to simplify this process, simultaneously introducing new features and preserving tournament history, while maintaining the Copa spirit and low-barrier to entry.
Copa is the product of a year (and counting) of work, combining both front- and back-end technology to produce a single-page application (SPA). It is built on top of the MERN stack, which is a fusion of MongoDB, Express, React and Node. In addition, the application is currently hosted on Azure. For in-depth technical information and guidance on contributing, refer to the wiki.
At Copa, we take privacy and consent very seriously. You can find a disclaimer of what data is collected here. In addition, almost all features are opt-in, meaning that you have to consent to publicize your profile, your real name is only visible to the organizer, and so on. Again, the application acts as an opportunity to deeper engage with the tournament, not a mandate.
This application would not exist without the unwavering support of the community, and the shoulders of open-source giants upon which Copa resides.
- Urho Heinonen - student council representative; thank you for helping with Finnish translations and outreach
- Jarmo Hurri - CS teacher; thank you for keeping me sane through seemingly endless bugs
- L21i - my class; thank you for helping beta-test Copa to resolve many of the seemingly endless bugs
- brackets-manager
- react-query
- material UI
- passport-js
and many more acknowledged in package.json...