Files
T
2026-05-09 19:32:18 +02:00

3.6 KiB

Card Collection Manager 3

Quality Gate Status Bugs Security Rating

Card Collection Manager 3 is an extensible desktop application for managing trading card game collections. It is designed as a practical way to track cards and manage per-card images for large collections, with local per-game data, set synchronization workflows, and a desktop-first UX. The app preserves the established JSON layout from earlier CCM versions so existing collections stay compatible.

Currently, the application supports the following TCGs:

  • Magic the Gathering
  • Pokemon TCG
  • Yu-Gi-Oh!

Screenshots

Magic The Gathering

CCM3 Demo - Magic: The Gathering

Pokemon TCG

CCM3 Demo - Pokemon

Yu-Gi-Oh!

CCM3 Demo - YuGiOh

Migrating From CCM1 And CCM2

CCM3 reads the established collection layout, so data from both CCM1 and CCM2 can be copied into the configured CCM3 data directory.

Basic migration flow:

  1. Close any running CCM app instance that points to the same data folder.
  2. Copy your existing game data into the matching CCM3 game folder:
    • from CCM1: export/copy your collection JSON and images into the corresponding CCM3 game directory.
    • from CCM2: copy per-game collection.json and images/ directories into the same per-game folders in CCM3.
  3. Start CCM3 and confirm the data directory in File > Settings.

If your files are in the expected layout, collections should load without conversion.

Technical Overview

This is a C++20 project with a wxWidgets UI:

  • core/: domain logic, services, and infrastructure adapters
  • ui_wx/: wxWidgets presentation layer
  • app/: executable composition root

Key libraries used by the project:

  • cpr (libcurl-based): REST/HTTP calls
  • nlohmann/json: JSON serialization/deserialization
  • doctest: unit testing

Dependency direction is strict: app -> ui_wx -> core.

Documentation

Implementation details now live in docs/. Start here:

Previous Implementations

This project continues earlier versions of Card Collection Manager:

License

This project is licensed under the MIT License.

Third-party dependencies and assets remain under their respective licenses.