Card Collection Project

Qt/QML + Python Desktop Application

Project Overview

A desktop application for discovering and collecting Pokémon cards. Features include API-driven card searching, a "discover" mode simulating wild Pokémon encounters, and collection management. The application emphasizes minimal local storage, with dynamic resource loading at runtime.

Technologies Used

Core Technologies

  • Python
  • PySide6
  • Qt Quick 2
  • QML/JavaScript

Development Tools

  • Qt Creator
  • Qt Designer
  • Git/GitHub
  • Pokémon TCG API

Implementation Details

Key Features

  • Advanced Card Search
  • Random Card Discovery
  • Collection Management
  • Dynamic Resource Loading

Core Components

  • API Integration
  • QML UI Components
  • Card Data Models
  • Local Storage System

Challenges Faced

Dynamic Resource Management


Efficiently loading and managing card images and UI assets at runtime



Implemented asynchronous loading system with caching mechanisms


Qt/Python Integration


Complex interactions between Python backend and QML frontend



Developed robust signal/slot system for seamless data flow


API Rate Limiting


Managing API request limits while maintaining responsiveness



Implemented request queueing and local data caching


Project Outcomes

Achievements

  • Fully functional search system
  • Engaging discover feature
  • Efficient collection management
  • Minimal local storage footprint

Future Improvements

  • Enhanced search filters
  • Deck building feature
  • Collection statistics
  • Export functionality

Demo Videos