Card Collection Manager 3
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
Pokemon TCG
Yu-Gi-Oh!
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:
- Close any running CCM app instance that points to the same data folder.
- 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.jsonandimages/directories into the same per-game folders in CCM3.
- 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 adaptersui_wx/: wxWidgets presentation layerapp/: executable composition root
Key libraries used by the project:
cpr(libcurl-based): REST/HTTP callsnlohmann/json: JSON serialization/deserializationdoctest: unit testing
Dependency direction is strict: app -> ui_wx -> core.
Documentation
Implementation details now live in docs/. Start here:
- Documentation Index
- Build Locally Guide
- Intro For New Developers
- CI/CD Guide
- Versioning Guide
- Testing Guide And Test Code Of Conduct
- Adding A New Game To Card Collection Manager
Previous Implementations
This project continues earlier versions of Card Collection Manager:
- Card Collection Manager (CCM1): original Java/Swing implementation.
- Card Collection Manager 2 (CCM2): Rust/TypeScript (Tauri) rewrite with multi-game support.
License
This project is licensed under the MIT License.
Third-party dependencies and assets remain under their respective licenses.


