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

Final Project Demo

Card Collection Project Demo

This is a demonstration for the final project in my CPSC 362 Principles of Software Engineering class at CSUF. There are features still in progress, but this was the status of the project at the time of turning it in.


Early Build Feature Demos

Card Collection - Search Feature Demo (Early Build)

A short demo of the search feature from an early build of my Card Collection project. This recording shows the in-development UI and card search functionality as it existed partway through the project.


Card Collection - Discover Feature Demo (Early Build)

A short demo of the discover feature from an early build of my Card Collection project. This recording shows the in-development UI and card discovery functionality as it existed at that point in the project.


Card Collection - Type Filter Buttons Demo (Early Build)

A short demo from an early build of my Card Collection project showing the Pokémon type filter buttons being clicked and activated in the search interface.

The type symbols used for the filter buttons are not stored locally; they are loaded through API requests when the program starts. This recording shows the in-development UI and filtering controls as they existed at that point in the project.