A comprehensive web-based collection management system for Magic: The Gathering cards across multiple platforms.
- ๐ฆ Multi-Platform Support: Track collections in Paper, MTG Arena, and MTG Online
- ๐ฏ Smart Imports: Support for Moxfield, Manabox, CSV, and direct MTGA/MTGO integration
- ๐ Physical Location Tracking: Know exactly where your paper cards are (decks, binders, storage)
- ๐ด Decklist Management: Store and organize your decklists
- ๐ Delta Imports: Efficiently update collections with only changes
- ๐ Web & Mobile: Responsive design with future native mobile app support
- ๐ Secure Authentication: Your collection data is private and secure
- ๐ฐ Learning Project: Azure-hosted with <$150/month budget for exploring cloud services
- Visit the website: https://example.com (domain TBD - coming soon)
- Create an account: Sign up with your email
- Import your collection:
- Paper: Upload CSV from Moxfield, Manabox, or other platforms
- MTG Arena: Download and run our Windows desktop client
- MTG Online: Export collection and upload the file
The MTG Arena desktop client automatically extracts your collection from MTGA log files:
- Download: Latest Release
- Run the installer
- Enable in MTGA: Settings โ Account โ "Detailed Logs (Plugin Support)"
- Launch the MTG Collection Tracker client
- Click "Sync Collection" - logs are read and uploaded automatically
How it works: The client reads log files that MTGA writes locally using the official "Plugin Support" feature. Same method used by 17Lands and other popular trackers.
Requirements: Windows 10/11 or macOS, MTG Arena installed
Safety:
- โ ToS-compliant (explicitly authorized by Wizards)
- โ No code injection or memory modification
- โ Zero account termination risk
- โ Used by 17Lands, MTGA Assistant, and other endorsed tools
- Frontend: Blazor WebAssembly (.NET 10), Bootstrap CSS
- Backend: ASP.NET Core 10 Web API, PostgreSQL
- Desktop Client: Avalonia UI (.NET 10) with auto-update via Velopack (future)
- Hosting: Azure (Static Web Apps + App Service)
- Infrastructure: Azure Bicep (Infrastructure as Code)
๐ง In Active Development - Not yet publicly available
Current phase: Phase 3 - Scryfall Integration & Card Management
Completed:
- โ Authentication (Register, Login, JWT + Refresh Tokens)
- โ Collections CRUD (view, add, edit, delete with pagination and filtering)
- โ Card search and detail pages (Scryfall data integration)
- โ Database schema (Users, Cards, Collections)
- โ 147 tests (138 passing, 9 skipped pending HTTP mocking)
Next:
- ๐ Import/export features (Moxfield CSV, Manabox CSV)
- ๐ Card details modal enhancements
- ๐ Azure deployment & CI/CD (Phase 4)
See ROADMAP.md for detailed progress.
- .NET 10 SDK
- PostgreSQL 14+ (or Docker for local development)
- Azure CLI (for deployments - optional for local dev)
- Visual Studio 2022 or VS Code
# Clone repository
git clone https://github.com/Datyedyeguy/mtg-collection-tracker.git
cd mtg-collection-tracker
# Start PostgreSQL (Docker)
docker compose up -d
# Backend API
cd src/backend/MTGCollectionTracker.Api
dotnet restore
dotnet run --launch-profile https
# Frontend (in new terminal)
cd src/frontend/MTGCollectionTracker.Client
dotnet restore
dotnet run --launch-profile https
# Desktop Client (future - Phase 4)
cd src/desktop/MTGALogParser
dotnet restore
dotnet runSee docs/DEVELOPMENT.md for detailed setup instructions.
โโโโโโโโโโโโโโโ
โ Browser โ
โ (Blazor) โ
โโโโโโโโฌโโโโโโโ
โ HTTPS
โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Static Web App โ โ Desktop โ
โ (Frontend) โ โ Client โ
โโโโโโโโโโโโโโโโโโโ โ (Avalonia) โ
โ โโโโโโโโฌโโโโโโโโ
โ โ
โ REST API โ MTGA Log Parsing
โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ App Service โ โ MTG Arena โ
โ (.NET 10 API) โ โ Log Files โ
โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ PostgreSQL โ
โ (Card Data + โ
โ Collections) โ
โโโโโโโโโโโโโโโโโโโ
See docs/ARCHITECTURE.md for detailed system design.
This is a personal learning project. See CONTRIBUTING.md for details.
Monthly Azure costs (with optimizations):
- Azure App Service (Linux B1): ~$13/month
- PostgreSQL Flexible Server (B1ms): ~$12/month
- Blob Storage: ~$1/month
- Total: ~$26/month ($312/year)
With Visual Studio Enterprise subscription: Effectively FREE (includes $150/month Azure credits)
- โ Passwords hashed with BCrypt
- โ JWT-based authentication
- โ HTTPS enforced everywhere
- โ SQL injection prevention (EF Core parameterization)
- ๐ Rate limiting on API endpoints (planned - Phase 5)
- ๐ Secrets stored in Azure Key Vault (planned - Phase 4)
Found a security issue? Please report it responsibly via GitHub Security Advisories (do not open public issues for security vulnerabilities).
This project is licensed under the MIT License - see LICENSE for details.
- Scryfall for comprehensive MTG card data API
- Wizards of the Coast for Magic: The Gathering
- Original MTGA collection exporter code from MTGArenaCollectionExporter
- Phase 1: Project setup and architecture
- Phase 2: Backend API with authentication
- Phase 3: Scryfall integration & card management (in progress)
- Phase 4: Azure deployment & CI/CD
- Phase 5: Import/export features
- Phase 6: Desktop MTGA client
- Phase 7: Decklist management
- Phase 8: Physical location tracking
- Phase 9: Mobile apps
- Phase 10: Advanced search and statistics
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with โค๏ธ for the MTG community