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.
Development Gallery
Version 1 - Initial Mockup
Version 2 - Basic UI Implementation
Version 3 - Search Functionality
Version 4 - Discover, Modularized, and 3D View