Skip to content

johnwhobbs/StampCollector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

📬 Stamp Collection Management Application

A modern, GUI‑based application for cataloging a personal U.S. stamp collection.
Built with Python, PySide6 (Qt for Python), and SQLite.

This project provides:

  • A complete stamp catalog sourced from public datasets
  • A structured way to track your personal collection
  • Detailed purchase history
  • Historical valuation tracking
  • A clean, intuitive graphical interface
  • A modular architecture designed for future expansion

🧱 Features

✔️ GUI‑First Design

All functionality is accessible through a modern, responsive graphical interface built with PySide6.

✔️ SQLite Storage

A normalized, relational database stores catalog data, your collection, purchases, and valuations.

✔️ Stamp Catalog

The app includes a dedicated catalog of U.S. stamps with:

  • Catalog numbers
  • Denominations
  • Colors
  • Subjects
  • Descriptions
  • Issue dates
  • Issue locations
  • Printing methods
  • Reference images

Catalog data can be imported from public sources such as USPS, Smithsonian NPM, StampData.org, etc.

✔️ Personal Collection Tracking

Track the stamps you own, including:

  • Quantity
  • Format (sheet, coil, booklet, pane, etc.)
  • Centering grade
  • Gum condition
  • Notes

✔️ Purchase History

Record acquisition details:

  • Seller
  • Purchase date
  • Price paid

✔️ Valuation Tracking

Track estimated market value over time, including:

  • Valuation date
  • Estimated value
  • Source (manual, auction, API, etc.)
  • Format being valued

✔️ Search & Filtering

Search by catalog number, subject, year, color, format, grade, and more.

✔️ Image Support

View reference images and your own collection images.


🗂️ Database Schema

Stamps (Catalog)

Official U.S. stamp metadata.

Field Type Description
stamp_id INTEGER PRIMARY KEY Unique catalog ID
catalog_number TEXT Scott number or equivalent
denomination REAL Decimal face value
color TEXT Primary color
subject TEXT Theme or commemorated entity
description TEXT Extended descriptive text
issue_date TEXT ISO date string
issue_location TEXT City/facility of issue
printing_method TEXT Engraved, lithographed, etc.
image_url TEXT Optional reference image

Collection

Represents stamps you personally own.

Field Type Description
collection_id INTEGER PRIMARY KEY Unique ID for each owned stamp
stamp_id INTEGER FK → Stamps(stamp_id)
quantity INTEGER Number of copies owned
format TEXT Sheet, coil, booklet, pane, etc.
centering_grade TEXT Poor, Fine, VF, XF, Superb
gum_condition TEXT Mint, Hinged, No Gum, etc.
notes TEXT Custom notes

Purchases

Tracks acquisition details.

Field Type Description
purchase_id INTEGER PRIMARY KEY Unique purchase record
collection_id INTEGER FK → Collection(collection_id)
seller_name TEXT Who you bought it from
purchase_date TEXT ISO date string
price_paid REAL Purchase price

Valuations

Tracks historical market values.

Field Type Description
valuation_id INTEGER PRIMARY KEY Unique valuation entry
collection_id INTEGER FK → Collection(collection_id)
valuation_date TEXT ISO date string
estimated_value REAL Market value
source TEXT Manual, auction, API, etc.
format TEXT Format being valued

🧩 Architecture

/src
    /models
        stamp.py
        collection.py
    /storage
        sqlite_storage.py
    /gui
        main_window.py
        stamp_table.py
        stamp_form.py
        details_panel.py
        search_panel.py
    /utils
        image_utils.py
        validation.py
  • models/: Data classes for catalog stamps and owned stamps
  • storage/: SQLite database access layer
  • gui/: All PySide6 GUI components
  • utils/: Image handling, validation, helpers

🚀 Planned Features

  • Import catalog data from public sources
  • Bulk editing tools
  • Image management
  • Valuation charts
  • Export to CSV/JSON
  • Optional future web UI (FastAPI + React)
  • Optional AI‑assisted stamp identification

🧠 Development Notes

This project is designed to work seamlessly with GitHub Copilot (Coding Agent).
Tasks can be assigned directly in GitHub to generate:

  • Database models
  • GUI components
  • Import scripts
  • Search logic
  • Data ingestion pipelines

📄 License

Personal use only unless otherwise specified.

About

Stamp Collection Management Application

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors