/mtgo-collection-manager

App for managing a card collection on Magic Online

Primary LanguageRustGNU General Public License v3.0GPL-3.0

logo

MTGO Collection Manager

GitHub releaseWindowsLinuxmacOS
GitHub Workflow Status (with event)LicenseCodeFactor GradeRust total lines

Purpose

To automate some tasks regarding effective management of MTGO collection, that are too cumbersome for anyone to actually do them manually.

MTGO Collection Manager aims to be as effecient and accurate as possible, while still being easy to install and use, meaning:

  • Blazingly fast
  • As few downloads as possible to get all relevant data
  • Lightweight app with tiny memory footprint (e.g. the demo with a fairly large collection uses 4.2 MB RAM on Windows 11)
  • Installation limited to downloading a single binary and just running it
  • No runtime dependencies on MacOS and Windows (very few on Linux)
  • Installation is fully contained within the directory the binary is run from (deleting the directory leaves no trace of MTGO Collection Manager)
  • No login required - All it needs is the Full Trade List.dek-file generated by exporting an MTGO collection.

Table of contents

Features? Make an issue if you have suggestions

If you have a great idea, make a feature request via an issue, thanks!

Most recent demo

The first time MTGO Collection Manager is started, a full trade list file is needed to start tracking price data etc. The initial processing takes a few seconds as a bunch of different downloads takes place to establish the basic data needed to parse and display data about the provided collection, along with price history from Goatbots and Cardhoarder. Parsing all the data is practically instantaneous as evident by subsequent launches of the app. If new data is available for the given collection, it is downloaded on startup (options and improvements are coming). The system time is used to determine if new data is available before attempting to download and parse it. Demo

Contributing

There's scripts for building and testing the project described in the Quickstart section below.

You're welcome to submit PRs or make issues.

Quickstart

Development in with a Docker container

First install Just.

Then build the development container.

just build-devcontainer
just build
just test
cargo run # GUI currently has to be run outside the container