Land Collection

magic land card tracking web app

collection.connorlynch.ca

Last Updated:

I have been playing Magic: the Gathering for over 13 years, slowly amassing cards. During that time I decided to narrow my efforts to collecting the most versatile game piece; lands. My friends were generous with donations, I rapidly accumulated stacks of unorganized cards with no immediate place to put them. I realized that manually keeping track of over 900 cards each with a variety of unique printings would be an impossible task. So I got to work designing a system to collate the cards and a database to track each land.

The first step was to build a database that would gather and sort the cards. I used scryfall’s API to make a database trigger that would query if any lands were released that day. Instead of manually sorting the cards I built functions that would do it automatically each card into the correct binder based on game attributes. The goal was to have the database stay up to date with new cards and sort only needing the scryfall API. The database was a success, keeping up with new set releases while I began working on the web app.

It was daunting taking on the website portion of this project, I prefer the M and C of ModelViewControl framework. Knowing I lacked an eye for design, I again looked to scryfall for inspiration, so some visual similarities may be noticed. The biggest hurdle aside from learning a new framework, was building a custom paginator. Typically digital collating does not have gaps in its queries, however since the website is a clone of a real item, a custom solution was necessary. Despite some pages looking sparse and some quality of life features missing, the app is responsive and does as advertised. For the first build I am happy with the results and excited for what's next.

I am happy with the Alpha build of the website, the database sorting has some bugs and will need updates as card designs are innovated. The web app similarly has some issues and lacks some features, but will be rectified with future releases. Keep posted!