Documente Academic
Documente Profesional
Documente Cultură
Jacob West
Executive Summary
Mobile Magic Collector is a mobile Android Application which looks to fill the empty
space in which there could be a visual deck builder for Magic the Gathering players. The goal of
this application is to create an application in which a user can save cards to a collection or deck
list, and have a visual representation of their deck along with statistics for their deck lists. The
purpose of this project is to help the players of Magic the Gathering that are visual learners and
receive help from visualization of their lists rather than a text-based list. The population affected
by this project will consist of any Magic the Gathering players who have access to an Android
phone, as the application will only be currently available for Android phones. The anticipated
outcome of the project will be the full production and release of Mobile Magic Collector as an
application onto the Google Play Store so that any user will be able to use the application to store
their collection information or information about their deck lists.
West 3
Table of Contents
Executive Summary 2
Feasibility Discussion 8
Functional Decomposition 9
Final Deliverables 10
Approach/Methodology 10
Ethical Considerations 12
Legal Considerations 12
Timeline/Budget 14
Usability Testing/Evaluation 15
Final Implementation 19
Discussion 21
Conclusion 22
References 23
West 4
off of Scryfall.com’s API that is used to create a list of your own Magic the Gathering collection
and create decks from that collection. Magic the Gathering is a trading card game that has been
around for over 25 years, and to this day, holds a massive playerbase. With an ever-expanding
list of over 20,000 different cards, there are many variations and different ways to go about
Card collections are something now that are commonspace for each player to have, but
sometimes can get out of control and are hard to keep track of. The initial idea for MMCollector
sparked from a lack of an application which features deck building with an interface that has the
card images to represent the cards, rather than just reading a card name from a list.
What this project looks to do is solve the issue of not having a more visual-based deck
builder or collection recorder by creating an application where any Magic the Gathering players
can record their collection, build their decks, and get a good visual representation of what they
might have laying around in their collection. This product benefits the community of Magic the
Gathering players by giving them something that can be used in order to create a visual
representation of not only a collection, but their decklists as well. People who lean on a more
creative side or a visual way of learning benefit strongly from being able to look at all of their
options and be able to visualize everything in front of them, and that’s what I intend
There are several goals and objectives that I am looking to fulfill by the time
MMCollector is completely finished. First, and most important, is adding a person’s cards to a
collection list. This is the first step in being able to get anywhere with the application, and from
there many more things can be added. The reason why this is the most important thing is that
collection lists can be longer lists than decklists, which will currently be set to have a limit on the
amount of cards that can be included. Once this is finished it makes implementing decklists
much easier as they essentially would just be small versions of the collection lists. With adding
decklists, instead of simply keeping track of what cards are in a collection, the idea is to pull
cards from the collections to put into decks. If a user wants to create a decklist with cards that are
not in their collection though, this opens up the decklist to manual entry for cards and the number
of cards they wish to add. This gives an opportunity to add in new dialogs in order to show what
a person might need (in terms of card quantities) to get to finish their lists. With Scryfall’s API,
this opens up the opportunity to even show expenses for how much it might cost for someone to
finish the deck list with average card prices, and potentially even link to outside vendors who
could sell those cards. After the decklists portion is created, the next goal would be to create a
statistical tracker for the decklists. Statistics tracking is very commonplace in deck building in
order to keep track of your average cost, colors, card types, and any other statistics that might be
helpful to the deck builders. Using these numbers, the application would create updating graphs
to represent each of the different statistics. This means that a user might be able to keep track of
how much of something they would like to add into the deck if they feel an average might be too
low in certain areas, or if they are unhappy with any other portion of the list statistically. Once all
West 6
of the statistics portion is done, there is a final piece that builds off of it that could be added as an
additional feature, which would be land recommendation. In Magic the Gathering, in order to
play your cards from your hand, you need specific cards called land cards in order to be able to
play them. There are averages that are well known and used by the community created by Frank
Karsten of the company Channel Fireball, based off of your average color counts and average
card costs that can lead to a rough idea of how many lands should be in your deck (Karsten,
2018). This would be a feature that isn’t entirely necessary, but could be good for people who are
not used to deck building extensively and need that extra bit of help in order to get a good
recommendation for their deck. Finally, once all of these things are finished, the last goals for
export collection lists or deck lists to text files, or even copy them to your phone’s clipboard to
be able to paste them into web forums, or to share with friends. With this feature, there could be
a potential to create an import function as well so that someone might be able to share their
decklist with a friend and immediately have it load within the application.
The stakeholders and community in this project are primarily the Magic the Gathering
community as a whole. The community has a lot of different options currently for deck building
through applications or web pages, but nothing with a good visual representation for those who
might need it to help imagine their ideas in a more concise way. What they gain from
MMCollector as an application is not only something they can use in order to track their Magic
collections, but also use to create their own decklists with a good visual representation of what
the deck looks like. Another thing that is lacking from a lot of deck building applications out on
West 7
the market currently is a form of statistics tracking built into the deck list maker. Most deck
building applications that are currently on the market keep track of simple things like what colors
are featured in the deck, but only a few are able to provide statistics alongside the deck.
MMCollector looks to include these features in order to give the community an application
where they can easily keep track of this information for the people who really wish to grind the
numbers of where their deck list might need work. Outside of these features - another massive
thing would be the sharing of decklists. This is sometimes easily done through screenshots of a
page with your list on it, but MMCollector looks to solve that as well by being able to copy and
paste your deck list so that it can be easily shared with friends or other members of the
community.
Currently on the Google Play Store alone, there are somewhere over 100+ different
applications that are related to Magic the Gathering in some way. Not all of these applications
are deck building applications or collection tracking applications, but those that are the highest
rated among the applications tend to have multiple features that make some of the other
applications obsolete. Among those that are deck building or collection tracking applications,
there are many that are blocked behind optional paywalls and several that lack a non-text based
representation of the user’s collection or decklist. Creating MMCollector would fill this role in
being a non-paywalled collection tracker and deck builder for users who possibly wish to have a
better visual representation of their card lists as they expand their collection and build new decks
to try out.
West 8
Feasibility Discussion
With creating MMCollector, the first applications that really come to mind as a direct
competitor to the application idea would be the application Delver Lens, created by Delver Lab.
Delver Lens is an application that does a lot of what I set out to create with MMCollector, and
also features a card scanner with your phone in order to scan directly into a collection just by
reading the card information with the camera. The application also features a locally stored
database which is pulled regularly upon opening the application if there were any changes since
you last opened the application. This allows users to use this application while they are offline,
which is a large difference from my own application which requires an internet connection in
order to pull the card details from Scryfall’s API. This application has some of the features that I
wish to implement in MMCollector and could be used as a great research tool in order to
potentially build off of what I like from their application and maybe take a variation of it when
creating MMCollector.
Another application that is very highly rated in the Magic the Gathering community is
MTG Familiar, made by gelakinetic. This application is not nearly as in depth with their deck
building or collection tracking section as Delver Lens, but has a large community and is
something I personally have used for several years. It does have an extremely in depth searching
function, similar to that of Delver Lens, and has a deck builder also as part of the application but
is nowhere near the main feature of the application. The main use of the deck builder or
collection tracker for MTG Familiar also is blocked after a certain point by a paywall in which
you would have to create an account with them and spend money in order to continue to use the
application for that purpose after creating a certain number of decks. MTG Familiar has a lot of
West 9
features that if I were to be able to meet deadlines quickly, would be tempting to also integrate
into MMCollector to make it a more well-rounded and general use application for Magic the
Gathering, and not just for collection and deck list tracking. This application, similar to Delver
Lens, also features a small local database that is downloaded to the phone in order to keep track
addition to the application community for Magic the Gathering and still would have it’s own
unique feel in comparison to the other applications. Both of these applications differ from what I
intend to create with MMCollector in that my design for the application will be predominantly
image-based, while most of these applications continue to use text-based lists, with Delver Lens
giving you the option of either. MMCollector also will search for live-data and has the potential
to be updated near instantaneously alongside the Scryfall API, which is updated daily rather than
only pulling a database change when there is a new set that has been released, which usually
occurs every two to three months. I believe these differences help the creation of MMCollector
stand-out from the other applications in the Magic the Gathering community and potentially give
the community a new and unique way of collection tracking or deck building.
Functional Decomposition
● Deck sharing
West 10
Most of the design for the application is built off of these 3 main features, as they are able to be
Performance - Fast with next to no delay, there are requirements for the API calls but the
Reliability - Extremely reliable as most API calls are instantaneous and are updated daily.
Cost - $25 to cover the registration fee to put the application onto the Google Play Store
Code Size - Long, even with API calls there are a lot of calculations and other functions that
have to be done on the application’s side after the API is called and information is pulled.
Final Deliverables
The final deliverables for the capstone project will be a mobile application that is
available on Android. When finished, the application will be able to be downloaded from the
Google Play Store and will be available for anyone to use. There are no plans for a webpage or
any other additional deliverables besides the application in the project’s current state, but if the
application will not be ready enough to put onto the Google Play Store, a website may be created
in order to push out a download for testing or downloading the application to anyone’s mobile
Approach/Methodology
In creating MMCollector, I intend to follow a waterfall model for the design process. My
research for starting the program is going to be done by reading up on Scryfall’s API in addition
to doing research on Android development through web forums such as stackoverflow and other
miscellaneous sites. A lot of what I plan to create has been implemented in similar ways but for
West 11
other applications, so bringing them together in the manner I would like to will likely be
My first process that I will need to go through in order to get the application started will
be creating a way to access Scryfall’s API within the application. Once that is created, I’ll need
to decide on a rough count for how many unique cards might be able to be added to a collection
list, and then move from there to creating the deck list portion of the application. When creating
the deck list portion, I will need to do some in-depth reading into Scryfall’s API to make sure I
can keep track of the different statistics I want to track for later in the project. Creating a fast and
simple way of getting these averages and other information will be key to completing the
statistics portion in a timely manner. This will also require some research into how to get all of
these statistics to show up with a graphical representation in the application, as that is something
that I have not done before in an app that would need to be constantly updated as things are
removed or added from a deck list. After all of these things are finished, the last things that will
need to be put together are just visual features and making sure the application looks ideal
enough to publish for other people to use. I will be having people test the application at each
phase of this process starting with the collection list, then to the deck list portion, then to the
statistics portion, and finally the exporting and copy portion, stopping part way in-between each
big milestone to ensure that everything works as intended. The people testing the application
along with myself have several years experience with playing Magic the Gathering and have
used applications in order to create collection lists and decklists before. They will be able to
provide feedback at all of the stages of creation of the app so that I can appropriately follow the
waterfall design model and continue onward once everything works as intended in each phase.
West 12
Ethical Considerations
Currently, I don’t believe there will be any ethical concerns regarding MMCollector. The
project is generally just for use by hobbyists, and does not provide anything that would hinder
any underprivileged groups. My one concern for MMCollector is that the program will only be
available on Android devices, which leaves out a separate section of users that wish to use it for
iPhones. It could negatively impact iPhone users in a way that if this application were to be more
generally used by people who own Android devices, then iPhone users would not have access to
Legal Considerations
When creating MMCollector, a lot of legal considerations come into play since I am working
with a major company’s property and an API from a webpage that wasn’t created by myself.
With using Magic the Gathering properties, I first have to look at Wizards of the Coast policies
in order to ensure that there will be no issues with the creation of MMCollector.
According to Wizards of the Coast’s fan content policy page, there are seven important
steps that I must take in order to create the application in a fully legal manner (Wizards of the
Coast, 2017). Step one is to make sure that the application is entirely free (Wizards of the Coast,
access your Fan Content; You can’t sell or license your Fan Content to any third parties
for any type of compensation; and Your Fan Content must be free for others (including
Wizards) to view, access, share, and use without paying you anything, obtaining your
Step two of the fan content policy is that I must tell the community that it is unofficial and to
include a note stating that MMCollector is unofficial fan content that is not approved or endorsed
by Wizards (Wizards of the Coast, 2017). Step three and four is that I must respect other
people’s IP and Wizard’s IP, respectively (Wizards of the Coast, 2017). Step five ensures that I
do not use Wizard’s IP for “use (that) is inappropriate, offensive, damaging, or disparaging”
(Wizards of the Coast, 2017). Step six would be in the case of a sponsorship, to ensure that I do
not use sponsors harmful to Wizards as a company (Wizards of the Coast, 2017). Finally, step
seven would be to follow my own laws of my region or country in addition to following all
Terms of Use and Code of Conduct regulations put in place by Wizards of the Coast (Wizards of
With using Scryfall’s API, I must abide by the following guidelines for all use in terms of
You may not use Scryfall logos or use the Scryfall name in a way that implies Scryfall
has endorsed you, your work, or your product. You may not require anyone to make
payments, take surveys, agree to subscriptions, rate your content, or create accounts in
exchange for access to Scryfall data. You may not use Scryfall data to create new games,
or to imply the information and images are from any other game besides Magic: The
For card images, there are distinct guidelines that I must follow according to the Scryfall
images API documentation page. I have to abide by the following guidelines when it comes to
Do not cover, crop, or clip off the copyright or artist name on card images. Do not distort,
skew, or stretch card images. Do not blur, sharpen, desaturate, or color-shift card images.
Do not add your own watermarks, stamps, or logos to card images. Do not place card
images in a way that implies someone other than Wizards of the Coast created the card or
that is from another game besides Magic: The Gathering (Card Imagery, n.d.).
All of these legal policies and implementations will be important for me to take into
account as I create MMCollector and will be implemented for the final production of the app.
This will be especially important as I plan to push the application to the app store for free use
once the application is finished for full production in order to ensure there is no legal troubles
Timeline/Budget
Original Timeline:
Part one of creating MMCollector was a significant success, and all of the ideas that were
planned out here were able to be finished. This first portion was mainly just set for starting up
Part two of creating MMCollector was also a success, with some exceptions. The creation
of search engine prediction had to get put aside and moved into a different part (Part 3). I was
able to get this working, but not to the point at which I believe it would be most efficient for the
user. Currently, the search engine prediction will show the words in a list underneath the search
bar, but there is no way for you to press the word for it to auto-fill the search bar, which was an
Part three consisted entirely of the creation of the deck page. This ended up becoming its
own individual page from the collection page that was originally planned and was eventually
scrapped due to time constraints. Deck pages have a limit of 75 cards over-all with no separation
of the main deck list (60 cards) and the sideboard (15 cards). Coding in the 4 of each card
restriction had too many issues with certain cards that were exceptions to this rule, so I instead
implemented this page in a way that any card can have more than 4 copies.
Part four built off of part three by taking the deck list and building in statistics for the
deck when you have finished creating it. Statistics that were implemented successfully were type
counts, while casting cost averages and color averages were not able to be added again due to
time constraints.
Part five sadly was scrapped entirely due to time constraints. There was not enough time
for me to be able to sort out duplicating deck lists and being able to have more than one list at a
time, so the user currently can only use one deck list.
Part six was successfully implemented, though, with the “sharing” feature being the last
feature added to the application. Users are able to copy down the deck list file to their phone and
then paste it to any friends who would want to take a look at it.
West 16
Usability Testing/Evaluation
The usability test plan consisted of approximately 6 stages, each coinciding with each of the
parts that are detailed in the Timeline/Budget section. Not all portions were able to be
implemented and some were moved around due to bugs that occurred during the creation of the
app.
1. Test the Scryfall API with known card names. Try card names with unique characters
such as the character “Æ” and any odd names that could confuse the searches.
2. Test the usability of buttons and pop-up menus in order to add and delete a card from a
1. Testing Scryfall’s API calls lead to a lot of new exceptions being found and changes
needing to be made to individual portions due to unique cards with special characters.
These were later implemented in part 2 and were able to be used extensively with only
one card type producing an error, which are known as “flip cards.”
1. Continue to test the usability of buttons and new menus in order to add and delete cards
2. Test saving cards to a new page called the collection page. Once a card is saved, it should
3. Test for the search engine pulling predictions for card names that are close to the
2. Testing saving cards to the new page which eventually was labeled the deck page was
3. Prediction testing for card names close to the card names were slightly successful. In
testing we learned that a lack of spaces between words, if a card has multiple words in it,
breaks the prediction. Once spaced out properly, getting as close as possible to the card
name usually (about 9/10 times in testing) would give you the correct card.
1. Test saving cards from the collection page to a deck page. Once this is able to be done,
the user will test to make sure the card is not gone from the collection page but is added
2. Users will test the deck page in order to ensure that card number restrictions are placed
properly for certain cards. For example, in a deck, most cards will have a maximum of 4
able to be put into a deck. The users will test to ensure you cannot go over the maximum
for these cards, and ensure the ones that are exceptions to this case are able to go over the
count of 4.
2. This portion was also scrapped due to time constraints and a significant amount of
exceptions that needed to be added with no indicators from Scryfall’s API of there being
no restriction on the cards. This lead to the deck page being able to add any number of a
unique cards to a deck list as long as the deck list did not go over 75 individual cards.
1. Users will create a deck and attempt to obtain statistics from the deck they created. This
should give them miscellaneous statistics about their deck like the color count, average
1. Users created a deck and were able to create deck statistics with only the type counts in
the deck. Average color count and average cost count were scrapped due to time
constraints.
2. Buttons to increase and decrease the card counts in the deck list page were implemented
during this part. After extensive testing, we were eventually able to get the cards to be
1. Users will use a button in the deck and collection page in order to duplicate their deck or
collection. They will also continue to test on the finalized version of the deck list page in
1. Users will use the sharing feature in order to copy the text from their files created, such as
a collection list or a deck list, and send them to their friends through a copy and paste
method.
1. Users were able to use the copy and paste method to share deck lists with friends.
Final Implementation
Card.java:
Card.java is a Java file that implements all of the Scryfall API calls for cards specifically.
This pulls the name, oracle text, mana cost, type line, image uris, power, toughness, and loyalty
for a card. Some cards do not have power, toughness, and loyalty, which are taken into account
in the pages where cards are searched. See Appendix A 1 for an example of how Card.java finds
each individual card value and the functions used to call the values in the application.
CardDeleteDialog.java:
CardDeleteDialog.java is a Java file that is used to clear out the cards.txt and types.txt file
when needed. This dialog is able to be called in SavedCardsList.java by pressing the “Clear”
button. The code for deleting the cards and types list used in CardDeleteDialog.java can be found
in Appendix A 2.
CardPrediction.java:
CardPrediction.java is a Java file that pulls the data from a Scryfall API call for the
string array as new characters are entered into the search bar. This is a relatively short file in
West 20
comparison to the other files, but is implemented in a similar way to how Card.java is
implemented.
CardQuantityChange.java:
some different implementations in it. With CardQuantityChange.java, you are able to pull up a
card and add or remove the card from your deck list while viewing all of the information about
the card. This file has a unique function called changeDeckQuantity, which can be seen in
Appendix A 3. This function takes a card name and a change in the quantity which allows for the
function to do both incrementing and decrementing. If the quantity change is a positive number,
then we simply append another card name to the cards.txt file with the cardName value and
increase the overallCardCount. If the change in quantity is a negative number, the function will
get a reader and look for the first place where the entered cardName appears in the file cards.txt
and replace it with a blank line. After doing so, it sets a boolean to skip over the while loop and
append the remaining lines to a StringBuilder, which is used to keep the remainder of the file the
same. At the end of the function, it calls another unique function to this file called fixBlanks,
which fixes the blank lines in the cards.txt or types.txt file as the cards are removed.
CardSearched.java:
CardSearched.java is a Java file that is used in order to search for a card that is entered in
MainActivity.java. This is also where you save a card to your deck list for the first time.
MainActivity.java:
MainActivity.java is a Java file that is used in order to traverse through the other pages of
the application. The user starts here and is able to navigate either by searching for a new card, or
West 21
by clicking on the “Deck List” button which will take you to the deck list page.
MainActivity.java is primarily used for navigation, but also is the only place that CardPrediction
SavedCardsList.java:
SavedCardsList.java is a Java file that holds all of the deck list for the user. This shows a
lot of information on one page, including the deck images, the deck list itself, the statistics for
the deck while also containing a button for clearing out the deck list and a button to copy your
ScryfallApi.java:
ScryfallApi.java is the file that holds onto all of the API calls. It queries a “fuzzy” card
search, which is what helps to find card names as they are entered into the search bar. The query
being “fuzzy” in comparison to an exact search is significant so that the user can enter a name
close to the card name and it will search for it, rather than the card name needing to be exact.
This file also queries up to 20 autocomplete cards based off of what the user has entered into the
Discussion
When starting the creation of Mobile Magic Collector, I quickly realized the scope of
what the application would be as the weeks began. Problems started popping up very quickly.
Week 1 consisted of issues with the search function for specific cards that had unique values
when being called from the API that sometimes were not numbers but were rather characters.
Week 2 consisted primarily of trying to fix a drop down menu for the card prediction section in
the MainActivity.java file, but this eventually was scrapped due to time constraints. I was able to
West 22
however get a prediction working, it just is not a clickable menu so the user still has to enter in
the card name entirely in order to search for the card. Week 3 was the discovery of the most
difficult error which lead to a lot of changes needing to be implemented to the application. I
figured out that there was a programmatic way to be able to add and remove images from the
deck list page, but it was outside of my scope of knowledge and was incredibly difficult to
implement. Due to time constraints, I decided that implementing a limit and simply hard-coding
the images into the respective XML files would be the easiest fix, which ended up taking a lot of
time to ensure everything was implemented in the proper way and was formatted properly as
well. Going into week 4, I discovered a bug with the images loading in a random order rather
than being sorted according to the deck list page. Loading images also were only triggerable by a
button, so a button labeled “IMG” was added to the SavedCardsList page. This is still an ongoing
error when loading the images too quickly - and there is no pattern to be found with it. The issue
might stem from the API calls being too quick, but after attempting to fix this with a significant
delay (over 5 seconds for each image), the images were still loading in a random order despite
being ordered in the deck list as they were entered. Week 5 and 6 were mainly spent revising
pages and didn’t run into many other errors besides the already known errors.
Rolling out the application for use by others was mainly what I’ve been doing in Week 7,
but was able to be done back during Week 5. I have had a link to the APK file (downloadable
application file) on my personal capstone web page since Week 5, and during the writing of this,
the application is currently undergoing approval onto the Google Play store.
Current screenshots of the program can be found in Appendix B 1. This shows the current
Conclusion
Card collections and deck lists are commonspace for all Magic players to have, but
keeping track of these can be a big issue for players. Mobile Magic Collector looked to solve this
issue by creating an application that featured deck building with an interface that is primarily the
card images rather than just the name of a card with no other information coming from a list.
With the creation of MMCollector, the visual aspect has been achieved that was intended for the
application to stand apart from the other text-based deck builders and collection trackers that are
currently out in the Google Play Store. The design over-all became something that was clear and
concise, even for those who were not extremely familiar with the game Magic the Gathering in
an extensive way. In testing, this was the most important thing for me personally, that the users
were able to navigate through the application with next to no help or issues. Designing the app in
this way will make the application better for first time users so that if they have never used a
deck builder before on a phone, that this application will be very easy to pick up and edit
anything they might want to when they are building their deck.
Over-all, I learned a ton from taking this application on as an individual project. I went
into this application with mild knowledge of creating apps from previous courses I have taken
and wanted to take this as a big opportunity to learn as much as I possibly can. I learned a lot
about API calls in this application and how to implement them properly, which was a very good
experience for me personally. This branched into learning more about hashmaps and other parts
of programming I have rarely touched in my schooling so far. I also learned a significant amount
about adding and removing information locally onto a phone which was something I had never
worked with before, and now have plenty of knowledge about it which I feel I could easily use in
West 24
the future for creating applications. My vision of the future of this application would be to go
back and visit the portions that I had to cut out due to time constraints. With more time, I feel as
though implementing several of the pieces that I missed out on would be very easily
implemented, but balancing out work, school, and other life activities during the time in this
course was difficult for me personally although I had an incredibly fun time getting this
application put together. Over-all, I am incredibly happy with the way it turned out as an
individual project and am looking forward to creating more for it in the future as I have extra
time to work on this project and improve it past the point at which it currently is in.
West 25
References
Karsten, F. (2018, October 10). How Many Colored Mana Sources Do You Need to Consistently
etrieved from
Cast Your Spells? A Guilds of Ravnica Update. R
https://www.channelfireball.com/articles/how-many-colored-mana-sources-do-you-need-
to-consistently-cast-your-spells-a-guilds-of-ravnica-update/
etrieved from
Wizards of the Coast. (2017, November 15). Fan Content Policy. R
https://company.wizards.com/fancontentpolicy
West 26
Appendix
A. Code Snippets
1. Card.java example:
3. CardQuantityChange, changeDeckQuantity():
West 28
B. Screenshots
As the designer and engineer, I will be handling all of the creation of the application and
the full production of the application. My responsibilities for the creation of Mobile Magic
● Setting up the Scryfall API and building the application’s search engine off of this API
● Creation of the deck files that will be made by the user when they create a new deck.
● Setting up saving the cards to a deck page. If necessary, the creation of a manual entry for
● Setting up the deck statistics page and functionality, ensuring that the math is correct and