Skip to content

Releases: alexschexc/gear-tracker

Fixing the MacOS release

Pre-release

Choose a tag to compare

@alexschexc alexschexc released this 03 Feb 23:27

Like it says on the Tin. The first MacOS support Release was a tad botched due to missing files needed for GitHub Actions to successfully build the binary. Let's see if this works now.

MacOS has arrived!

MacOS has arrived! Pre-release
Pre-release

Choose a tag to compare

@alexschexc alexschexc released this 03 Feb 23:08

GearTracker v0.1.2-alpha - macOS Support Release

Release Date: February 3, 2026
Version Tag: v0.1.2-alpha


⚠️ Important Notices

  • This is an alpha release - expect bugs and potential issues
  • Data is stored locally in SQLite database - keep regular backups!
  • No data is ever sent to any remote server
  • Report issues with steps to reproduce when possible
  • Beta is right around the corner!

🚀 What's New

macOS Support

GearTracker now supports macOS with standalone executable distribution.

macOS Executable:

  • GearTracker-macOS-unnotarized.dmg available in releases
  • No Python installation required for end users
  • Self-contained with bundled Python runtime
  • Requires macOS 11.0 or later
  • Universal binary (x86_64)

Build Infrastructure:

  • geartracker_macos.spec - PyInstaller spec for macOS builds
  • build_macos.sh - Local build script for macOS machines
  • .github/workflows/build-macos.yml - Automated CI/CD workflow
  • Auto-generated .icns icon from source PNG

GitHub Actions:

  • Builds automatically on every push to main
  • Creates DMG disk images for distribution
  • Attaches artifacts to releases on tag creation
  • Runs on macOS-14 runners

macOS Distribution Notes:

  • Unnotarized build - No Apple code signing or notarization
  • To open: Right-click the app → "Open"
  • Or: System Preferences → Security & Privacy → "Open Anyway"
  • First launch may require confirming the developer warning

Codebase Improvements

  • No platform-specific code in core application
  • Cross-platform compatible from the start
  • PyQt6 ensures native look and feel across OSes

📊 Feature Status

Feature Status
Firearms Management ✅ Complete
Soft Gear Management ✅ Complete
NFA Items & Compliance ✅ Complete
Consumables Tracking ✅ Complete
Attachments System ✅ Complete
Reload/Handload Log ✅ Complete
Borrower Management ✅ Complete
Checkout/Return System ✅ Complete
Loadouts System ✅ Complete
Round Count Tracking ✅ Complete
Maintenance Thresholds ✅ Complete
Maintenance Logging ✅ Complete
CSV Export ✅ Complete
CSV Import ✅ Complete
Linux Support ✅ Complete
Windows Support ✅ Complete
macOS Support ✅ Complete

🔧 Technical Changes

Build System

New Files Added:

geartracker_macos.spec     # PyInstaller spec for macOS .app bundles
build_macos.sh             # Local macOS build script
.github/workflows/build-macos.yml  # GitHub Actions CI/CD

macOS Build Spec:

  • Creates standalone .app bundle
  • Includes bundled Python runtime
  • High-resolution Retina icon support
  • Proper macOS bundle structure with Info.plist
  • Minimum macOS: 11.0 (Big Sur)

Path Handling

Database location follows platform conventions:

  • Linux/macOS: ~/.gear_tracker/tracker.db
  • Windows: C:\Users\<username>\.gear_tracker\tracker.db

📝 Installation

Running from Source

Requirements:

  • Python 3.12+
  • PyQt6
pip install PyQt6
python main.py

Standalone Executables

Linux Binary:

  • Download from latest release assets

Windows Binary:

  • GearTracker.exe available under Release tags
  • Download and run directly - no Python required

macOS Binary:

  • GearTracker-macOS-unnotarized.dmg available under Release tags
  • Mount the DMG and drag GearTracker.app to Applications
  • Right-click → Open to bypass Gatekeeper warning

💾 Backup Instructions

CRITICAL: Always backup before upgrading:

# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backup

Or copy tracker.db to your preferred backup location.


📄 Changelog

v0.1.2-alpha (Current)

  • ✅ macOS standalone executable
  • ✅ PyInstaller spec for macOS builds (.app bundle)
  • ✅ GitHub Actions workflow for automated macOS builds
  • ✅ macOS DMG distribution
  • ✅ Auto-generated macOS icon (.icns format)
  • ✅ Local build script for macOS machines
  • ✅ Updated README with macOS installation guides

v0.1.0-alpha.3

  • ✅ Complete codebase refactor (new modular structure)
  • ✅ Full feature rebuild on new architecture
  • ✅ NFA item maintenance tracking
  • ✅ Windows standalone executable
  • ✅ PyInstaller spec for Windows builds
  • ✅ Cross-platform build script
  • ✅ Multi-resolution Windows icon
  • ✅ Updated README with installation guides

v0.1.0-alpha.2

  • ✅ Loadout builder with multi-category item selection
  • ✅ One-click checkout with comprehensive validation
  • ✅ Loadout return with per-firearm round counts
  • ✅ Automatic maintenance logging on return
  • ✅ Full NFA item support in loadouts
  • 🐛 Fixed: Maintenance flag not clearing after CLEANING
  • 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
  • 🐛 Fixed: NFA item checkout crash

v0.1.0-alpha.1

  • ✅ Round counting per firearm
  • ✅ Configurable maintenance thresholds
  • ✅ Visual maintenance alerts
  • ✅ Maintenance history logging

v0.1.0-alpha.0

  • ✅ Initial inventory management
  • ✅ Firearms, soft gear, NFA items, consumables
  • ✅ Attachments system
  • ✅ Reload/Handload log
  • ✅ Borrower management
  • ✅ Checkout/return system

🤝 Support

  • Report bugs: Please include steps to reproduce and error messages if possible
  • Feature requests: Feedback welcome on what would make this more useful
  • macOS issues: Note your macOS version when reporting
  • Donations: If you're benefiting from this software: https://paypal.me/ASchexnayder296

Thank you for using GearTracker! 🦌

New Alpha Tag: Refactor Complete and Windows support has arrived

Choose a tag to compare

@alexschexc alexschexc released this 03 Feb 21:25

GearTracker v0.1.1-alpha - Refactor & Windows Support Release

Release Date: February 3, 2026
Version Tag: v0.1.1-alpha


⚠️ Important Notices

  • This is an alpha release - expect bugs and potential issues
  • Data is stored locally in SQLite database - keep regular backups!
  • No data is ever sent to any remote server
  • Report issues with steps to reproduce when possible

🚀 What's New

Complete Codebase Refactor

The codebase has undergone a comprehensive refactor to improve maintainability and enable future expansion.

New Project Structure:

gearTracker/
├── main.py                    # Application entry point
├── src/
│   ├── models/
│   │   └── gear.py           # Data models (Firearm, NFAItem, SoftGear, etc.)
│   ├── repository/
│   │   ├── database.py       # Database initialization and migrations
│   │   ├── gear.py          # NFA items and attachments repository
│   │   ├── firearms.py      # Firearm CRUD operations
│   │   ├── consumables.py   # Consumables repository
│   │   ├── checkout.py      # Checkout and borrower management
│   │   ├── loadout.py       # Loadout operations
│   │   └── reload.py        # Reload batch tracking
│   ├── services/
│   │   ├── maintenance.py   # Maintenance logic and thresholds
│   │   ├── checkout.py      # Checkout validation and processing
│   │   ├── loadout.py       # Loadout builder and return logic
│   │   └── import_export.py # CSV import/export functionality
│   └── ui/
│       ├── main_window.py    # Main application window
│       ├── tabs/             # Tab components (firearms, gear, etc.)
│       ├── dialogs/          # Dialog components
│       └── components/      # Reusable UI components
├── tests/                    # Test suite
└── agentLogs/               # Development notes and session logs

Key Refactoring Improvements:

  • Separation of Concerns: UI logic separated from business logic
  • Repository Pattern: Centralized data access layer
  • Service Layer: Encapsulated business logic in services
  • Modular Design: Each feature area has dedicated modules
  • Testability: Cleaner code structure enables easier testing
  • Maintainability: Clear module boundaries reduce complexity

Full Feature Rebuild

All features have been rebuilt on the new architecture:

Core Inventory Management:

  • Firearms with round count tracking and maintenance thresholds
  • NFA items (suppressors, SBRs, SBSs, AOWs, DDs)
  • Soft gear (armor, vests, backpacks, boots)
  • Attachments with firearm mounting
  • Consumables with stock tracking

Maintenance System:

  • Round-based and time-based maintenance intervals
  • Visual status indicators (red/yellow backgrounds)
  • 10 maintenance event types
  • Automatic maintenance logging on loadout return

Loadout System:

  • Custom loadout builder with multi-category selection
  • One-click checkout with validation
  • Per-firearm round count input on return
  • Rain exposure and ammo type tracking
  • Automatic consumable deduction

Checkout System:

  • Borrower management
  • Individual item and loadout checkouts
  • Overdue detection
  • Return tracking with usage data

Data Management:

  • CSV export (full backup and single-entity)
  • CSV import with validation and duplicate handling
  • Automatic database migrations

Windows Support

GearTracker now supports Windows with standalone executable distribution.

Windows Executable:

  • Pre-built GearTracker.exe available in releases
  • No Python installation required for end users
  • Self-contained with bundled Python runtime
  • Windows icon included
  • 64-bit Windows 10+ compatible

Build Infrastructure:

  • geartracker_windows.spec - PyInstaller spec for Windows builds
  • build_windows.sh - Cross-platform build script using Wine
  • icon.ico - Multi-resolution Windows icon (16x16, 32x32, 48x48, 256x256)

Build Requirements:

  • Python 3.14+
  • PyQt6
  • Wine + Python 3.14 for Windows (for cross-compilation)

📊 Feature Status

Feature Status
Firearms Management ✅ Complete
Soft Gear Management ✅ Complete
NFA Items & Compliance ✅ Complete
Consumables Tracking ✅ Complete
Attachments System ✅ Complete
Reload/Handload Log ✅ Complete
Borrower Management ✅ Complete
Checkout/Return System ✅ Complete
Loadouts System ✅ Complete
Round Count Tracking ✅ Complete
Maintenance Thresholds ✅ Complete
Maintenance Logging ✅ Complete
Automatic Maintenance Logging ✅ Complete
CSV Export ✅ Complete
CSV Import ✅ Complete
Codebase Refactor ✅ Complete
Windows Standalone Executable ✅ Complete
macOS Standalone Executable 🚧 Coming Soon

🔧 Technical Changes

Database Schema Updates

New columns added for enhanced functionality:

nfa_items table:

  • rounds_fired - Track shots through suppressor
  • clean_interval_rounds - Configurable clean threshold
  • oil_interval_days - Time-based oiling interval
  • needs_maintenance - Maintenance flag
  • maintenance_conditions - Special conditions tracking

NFA Maintenance Integration

NFA items now support full maintenance tracking:

  • Round count logging per suppressor
  • Maintenance history per NFA item
  • Loadout integration for suppressors
  • Maintenance flag behavior mirrors firearms

Path Handling

Database location follows platform conventions:

  • Linux/macOS: ~/.gear_tracker/tracker.db
  • Windows: C:\Users\<username>\.gear_tracker\tracker.db

🐛 Fixed Issues

Refactor-Related Fixes

  • Clean separation between UI and data layers
  • Proper error propagation
  • Consistent datetime handling
  • Type safety improvements

NFA Maintenance Fixes

  • Maintenance flag properly set on FIRED_ROUNDS
  • Maintenance flag clears on CLEANING
  • Backward compatibility with existing databases

📝 Installation

Running from Source

Requirements:

  • Python 3.14+
  • PyQt6
pip install PyQt6
python main.py

Standalone Executables

Linux Binary:

  • Download from latest release assets

Windows Binary:

  • GearTracker.exe available under Release tags
  • Download and run directly - no Python required

macOS Binary:

  • Coming in future release

💾 Backup Instructions

CRITICAL: Always backup before upgrading:

# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backup

Or copy tracker.db to your preferred backup location.


🔜 Coming in v0.1.0-beta.1 (MVP Release)

Beta Priorities

After this refactor release, focus shifts to:

  1. Stabilization - Fix any regressions from refactor
  2. Performance - Optimize database queries and UI responsiveness
  3. Polish - UI refinements and edge case handling
  4. macOS Support - Standalone executable for macOS
  5. Advanced Features - Ballistics, chronograph integration, QR codes

📄 Changelog

v0.1.0-alpha.3 (Current)

  • ✅ Complete codebase refactor (new modular structure)
  • ✅ Full feature rebuild on new architecture
  • ✅ NFA item maintenance tracking
  • ✅ Windows standalone executable
  • ✅ PyInstaller spec for Windows builds
  • ✅ Cross-platform build script
  • ✅ Multi-resolution Windows icon
  • ✅ Updated README with installation guides

v0.1.0-alpha.2

  • ✅ Loadout builder with multi-category item selection
  • ✅ One-click checkout with comprehensive validation
  • ✅ Loadout return with per-firearm round counts
  • ✅ Automatic maintenance logging on return
  • ✅ Full NFA item support in loadouts
  • 🐛 Fixed: Maintenance flag not clearing after CLEANING
  • 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
  • 🐛 Fixed: NFA item checkout crash

v0.1.0-alpha.1

  • ✅ Round counting per firearm
  • ✅ Configurable maintenance thresholds
  • ✅ Visual maintenance alerts
  • ✅ Maintenance history logging

v0.1.0-alpha.0

  • ✅ Initial inventory management
  • ✅ Firearms, soft gear, NFA items, consumables
  • ✅ Attachments system
  • ✅ Reload/Handload log
  • ✅ Borrower management
  • ✅ Checkout/return system

🤝 Support

  • Report bugs: Please include steps to reproduce and error messages if possible
  • Feature requests: Feedback welcome on what would make this more useful
  • Donations: If you're benefiting from this software: https://paypal.me/ASchexnayder296

Thank you for using GearTracker! 🦌

MVP has arrived

MVP has arrived Pre-release
Pre-release

Choose a tag to compare

@alexschexc alexschexc released this 21 Jan 20:38

GearTracker v0.1.0-alpha - Minimum Viable Product

Release Date: January 21, 2026
Version Tag: v0.1.0-alpha


🎉 Milestone: MVP Complete

This release marks the Minimum Viable Product milestone for GearTracker. All planned core features are now implemented, making the application fully functional for comprehensive gear inventory, maintenance tracking, and data management.


⚠️ Important Notices

  • This is an alpha release - core features are complete but expect bugs and potential crashes
  • May experience critical core dumps in edge cases
  • Data is stored locally in SQLite database - keep regular backups!
  • No data is ever sent to any remote server
  • Linux is the only currently supported platform
  • Report issues with steps to reproduce when possible

🚀 What's New in This Release

CSV Import/Export System (Phase 4)

CSV Export:

  • Full database backup to CSV format
  • Exports all 14 entity types in single file
  • Preserves all relationships and IDs
  • Sectioned format with === SECTION === headers
  • ISO 8601 date format (YYYY-MM-DD)
  • Automatic backup before import
  • Export metadata with version info

CSV Import:

  • Import from complete backup or single-entity templates
  • Validate data before importing (dry-run mode)
  • Duplicate detection with user choice:
    • Skip existing item
    • Overwrite existing item
    • Import as new (rename)
    • Cancel import
  • Progress tracking with real-time updates
  • Import in dependency order to maintain relationships
  • Skip rows with errors, continue with valid data
  • Template generation for manual data entry

Templates:

  • Complete template with all 14 entity types
  • Single-entity templates (firearms, consumables, etc.)
  • Example data rows for reference
  • Validation comments with field requirements
  • Enum value documentation

Borrower Management Enhancements (Phase 5)

Delete Borrowers:

  • Delete borrowers with confirmation dialog
  • Validation prevents deletion if active checkouts exist
  • Deletes borrower and all checkout history
  • Red-styled delete button matching other tabs
  • Error handling with clear user feedback

🔧 Complete Feature Set

Core Inventory Management

Firearms & Gear Tracking:

  • Complete firearm inventory with maintenance tracking
  • NFA item management (suppressors, SBRs, SBSs, etc.)
  • Soft gear tracking (armor, vests, backpacks, boots)
  • Attachments management with firearm mounting
  • Automatic maintenance reminders based on:
    • Rounds fired
    • Time since last cleaning
    • Time since last oiling
    • Custom maintenance conditions (e.g., rain exposure, corrosive ammo use)
  • Maintenance logging with multiple event types

Loadout System:

  • Pre-configured gear sets for specific activities (hunting, range days, competitions)
  • Loadout checkout with validation:
    • Validates all items are available
    • Checks maintenance status before allowing checkout
    • Validates consumable stock levels
    • Prevents checkout if critical issues found
  • One-click loadout return with automatic round count logging per firearm
  • Rain exposure tracking per firearm
  • Ammo type recording for maintenance needs
  • Automatic consumable deduction and restocking
  • Duplicate loadouts for quick setup

Checkout Management:

  • Item-level checkout for firearms, soft gear, and NFA items
  • Borrower management with contact info
  • Add/delete borrowers with validation (prevents deletion if active checkouts exist)
  • Automatic status updates when items are checked out/returned
  • Checkout history with return dates

Reloader's Log Book:

  • Complete reload batch tracking
  • Component-level data (bullet, powder, primer, case, etc.)
  • Test results logging (velocity, ES, SD, group size)
  • Case prep tracking (times fired, tumbling, etc.)
  • Multiple batches per cartridge with different firearm assignments

Consumables Management:

  • Inventory tracking (ammo, medical supplies, etc.)
  • Low stock alerts when quantity drops below threshold
  • Transaction history (add, use, adjust operations)
  • Units of measure support (rounds, count, ounces, etc.)

Maintenance Logging:

  • Comprehensive maintenance event tracking
  • Event types: Cleaning, Lubrication, Repair, Zeroing, Hunting, Inspection
  • Special event tracking:
    • Rounds fired
    • Rain exposure
    • Corrosive ammo use
    • Lead ammo use
    • Oil application
  • Photo attachment support for maintenance events
  • Maintenance history per item with last cleaned date tracking

Attachments System:

  • Optics, lights, stocks, rails, triggers, etc.
  • Track which firearm each attachment is mounted on
  • Zero data tracking (distance, notes)
  • Mount position tracking (top rail, scout mount, etc.)

Private Sales Records

Firearm Transfer Tracking:

  • Complete sale documentation
  • Buyer information (name, address, DL#, LTC#)
  • FFL dealer records (if used)
  • Sale price tracking
  • CSV export for transfer records
  • Automatic firearm status updates (sets to TRANSFERRED)

NFA Registry Integration:

  • Track all NFA items in one place
  • Tax stamp ID tracking
  • Form type recording (Form 1, Form 4, etc.)
  • Trust name association
  • Manufacturer and serial number tracking
  • Integration with maintenance and checkout systems

Data Import/Export

CSV Export:

  • Full database backup to CSV format
  • Exports all 14 entity types in single file
  • Preserves all relationships and IDs
  • Sectioned format with === SECTION === headers
  • ISO 8601 date format (YYYY-MM-DD)
  • Automatic backup before import
  • Export metadata with version info

CSV Import:

  • Import from complete backup or single-entity templates
  • Validate data before importing (dry-run mode)
  • Duplicate detection with user choice:
    • Skip existing item
    • Overwrite existing item
    • Import as new (rename)
    • Cancel import
  • Progress tracking with real-time updates
  • Import in dependency order to maintain relationships
  • Skip rows with errors, continue with valid data
  • Template generation for manual data entry

Templates:

  • Complete template with all 14 entity types
  • Single-entity templates (firearms, consumables, etc.)
  • Example data rows for reference
  • Validation comments with field requirements
  • Enum value documentation

📊 Feature Status

Feature Status
Firearms Management ✅ Complete
Soft Gear Management ✅ Complete
NFA Items & Compliance ✅ Complete
Consumables Tracking ✅ Complete
Attachments System ✅ Complete
Reload/Handload Log ✅ Complete
Borrower Management ✅ Complete
Checkout/Return System ✅ Complete
Loadouts System ✅ Complete
Round Count Tracking ✅ Complete
Maintenance Thresholds ✅ Complete
Maintenance Logging ✅ Complete
Automatic Maintenance Logging ✅ Complete
Private Sales/Transfer Tracking ✅ Complete
CSV Export ✅ Complete
CSV Import ✅ Complete
Templates ✅ Complete

🐛 Bug Fixes in This Release

  • Maintenance flag not clearing after CLEANING operation
  • Loadout checkouts not appearing in checkouts tab
  • NFA item checkout crash (36 bindings SQL error)
  • Loadout return only returning first item instead of all items
  • App crash on startup (last_clean_date timestamp type error)
  • Firearms showing incorrect maintenance status and round counts
  • Missing delete button in Borrowers tab (added in Phase 5)

🔜 Coming in Beta Releases (Post-MVP)

Cross-Platform Support

  • Windows support (testing and packaging)
  • macOS support (testing and packaging)

Beta Polish

  • UI refinements and visual improvements
  • Performance optimizations for large inventories
  • Enhanced error handling and recovery
  • Comprehensive testing and bug fixing

Additional Features

  • Photo attachments for maintenance logs (full support)
  • Export summary reports (inventory lists, maintenance schedules, etc.)
  • Data visualization (charts for usage statistics, maintenance trends)
  • Advanced search and filtering across all data
  • User settings and preferences

💾 Backup Instructions

CRITICAL: Always backup before upgrading:

# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backup

Or copy tracker.db to your preferred backup location.


📝 Installation

Requirements:

  • Python 3.14+
  • PyQt6
pip install PyQt6
python ui.py

Platform Support:

  • Linux: ✅ Currently Supported
  • Windows: 🚧 Coming in Beta
  • macOS: 🚧 Coming in Beta

📄 Changelog

v0.1.0-alpha (MVP) - Current Release ✅

Phase 4: CSV Import/Export System

  • ✅ CSV export with all 14 entity types
  • ✅ CSV import with validation and duplicate handling
  • ✅ Dry-run mode for previewing imports
  • ✅ Progress tracking with real-time updates
  • ✅ Template generation (complete and single-entity)
  • ✅ Automatic backup before import
  • ✅ Dependency-ordered imports to maintain relationships
  • ✅ Skip errors, continue with valid data

Phase 5: Borrower Management

  • ✅ Delete borrowers button in Borrowers tab
  • ✅ Validation prevents deletion with active checkouts
  • ✅ Deletes borrower and all checkout history
  • ✅ Red-styled button matching UI conventions

Bug Fixes:

  • 🐛 Fixed: Maintenance flag not clearing after CLEANING
  • 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
  • 🐛 Fixed: NFA item checkout crash (36 bindings error)
  • 🐛 Fixed: Loadout return only returning first item
  • 🐛 Fixed: App crash on startup (last_clean_date type error)
  • 🐛 Fixed: Firearms showing incorrect maintenance status and round counts

v0.1.0-alpha.2

  • ✅ Loadout builder with multi-category item selection
  • ✅ One-click checkout with comprehensive validation
  • ✅ Loadout return...
Read more

3 New Features

3 New Features Pre-release
Pre-release

Choose a tag to compare

@alexschexc alexschexc released this 21 Jan 00:09

GearTracker v0.1.0-alpha.2 - Pre-Alpha Release Notes

Release Date: January 20, 2026
Version Tag: v0.1.0-alpha.2


⚠️ Important Notices

  • This is a pre-alpha release - expect bugs and potential crashes
  • May experience critical core dumps in edge cases
  • Data is stored locally in SQLite database - keep regular backups!
  • No data is ever sent to any remote server
  • Report issues with steps to reproduce when possible

🚀 What's New

Loadouts System (Phase 3)

Create & Manage Loadouts:

  • Build custom loadouts with firearms, soft gear, NFA items, and consumables
  • Tabbed builder interface (Firearms, Soft Gear, NFA Items, Consumables)
  • Visual display of mounted attachments on firearms
  • Quantity selection for consumables
  • Duplicate loadouts for quick variations

Checkout Loadouts:

  • One-click checkout of entire loadout to borrower
  • Automatic status validation:
    • Blocks checkout if items are unavailable
    • Blocks checkout if firearms need maintenance
    • Warns if consumable stock will go negative or below minimum
  • Automatic consumable deduction from inventory

Return Loadouts:

  • Return entire loadout as a single unit (no partial returns)
  • Per-firearm round count input for each firearm in loadout
  • Rain exposure checkbox
  • Ammo type selection:
    • Normal
    • Corrosive (triggers CORROSIVE_AMMO maintenance log)
    • Lead (triggers LEAD_AMMO maintenance log)
    • Custom
  • Option to restock unused consumables
  • Automatic maintenance logging:
    • FIRED_ROUNDS for each firearm with round count > 0
    • RAIN_EXPOSURE if rain exposure checked
    • CORROSIVE_AMMO if corrosive ammo selected
    • LEAD_AMMO if lead ammo selected

🔧 Existing Features

Inventory Management (Phase 1)

Firearms:

  • Name, caliber, serial number, purchase date
  • Notes and status tracking
  • Attachment mounting
  • Round count tracking
  • Maintenance intervals (round-based & time-based)

NFA Items (Suppressors, SBRs, etc.):

  • Full NFA compliance tracking
  • Tax stamp ID tracking
  • Form types (Form 1, Form 4)
  • Trust association
  • Transfer status tracking (OWNED/TRANSFERRED)
  • Barrel length
  • Purchase date and notes

Soft Gear:

  • Clothing, optics, accessories
  • Categories and descriptions
  • Status tracking

Consumables:

  • Name, category, unit of measure
  • Current quantity tracking
  • Minimum quantity alerts
  • Transaction history (add/use transactions)

Attachments:

  • Scopes, lights, suppressors, optics
  • Mount to firearms
  • Displayed in loadout builder (read-only)

Reload/Handload Log:

  • Track reload batches
  • Caliber, powder, primer, bullet info
  • Quantity tracking
  • Notes

Maintenance System (Phase 2)

Round Count Tracking:

  • Track rounds fired per firearm
  • Configurable clean interval (default 500 rounds)
  • Configurable oil interval (default 90 days)
  • Auto-flag maintenance when thresholds exceeded

Maintenance Status:

  • Visual indicators in firearms table:
    • Red background: Firearm needs maintenance
    • Yellow background: Approaching threshold (80%+)
  • Tooltips showing detailed reasons for maintenance

Maintenance Types:

  • CLEANING - Resets round counter, clears maintenance flag
  • LUBRICATION - Time-based oiling
  • REPAIR - General repairs
  • ZEROING - Scope/sight zeroing
  • HUNTING - Hunting trips
  • INSPECTION - Periodic inspections
  • FIRED_ROUNDS - Auto-logged on loadout return
  • OILING - For loadout integration
  • RAIN_EXPOSURE - Auto-logged if rain exposure checked
  • CORROSIVE_AMMO - Auto-logged if corrosive ammo selected
  • LEAD_AMMO - Auto-logged if lead ammo selected

Checkout System

Borrower Management:

  • Add borrowers with name, phone, email, notes
  • Track checkouts per borrower

Checkouts:

  • Checkout items to borrowers
  • Set expected return dates
  • Overdue detection (red highlighting in table)
  • Return individual items
  • Return entire loadouts with usage data

📊 Feature Status

Feature Status
Firearms Management ✅ Complete
Soft Gear Management ✅ Complete
NFA Items & Compliance ✅ Complete
Consumables Tracking ✅ Complete
Attachments System ✅ Complete
Reload/Handload Log ✅ Complete
Borrower Management ✅ Complete
Checkout/Return System ✅ Complete
Loadouts System ✅ Complete
Round Count Tracking ✅ Complete
Maintenance Thresholds ✅ Complete
Maintenance Logging ✅ Complete
Automatic Maintenance Logging ✅ Complete
CSV Export 🚧 Next Release
CSV Import 🚧 Next Release

🐛 Known Issues

  • Loadout checkout validation may not catch all edge cases
  • NFA item display in certain dialogs may have minor formatting issues
  • Performance may degrade with very large inventories (>1000 items)
  • Database migrations should be tested before upgrading from previous versions
  • Core dumps may occur with certain operations - please report if you experience crashes
  • Some UI transitions may have minor visual glitches

🔜 Coming in v0.1.0-beta.1 (MVP Release)

CSV Import/Export System (Phase 4)

CSV Export:

  • Export all inventory data to CSV files
  • Per-entity export (firearms, soft gear, NFA items, consumables, loadouts)
  • Generate CSV templates for easy data entry
  • One-click "Export All" to backup directory

CSV Import:

  • Bulk import from CSV files
  • Validation and error reporting with row-level details
  • Duplicate detection options (skip/overwrite/merge)
  • Dry-run mode to preview changes before committing
  • Progress dialogs for large imports

Milestone:

  • v0.1.0-beta.1 will constitute Minimum Viable Product (MVP)
  • After MVP: Slow down for polishing before Beta

💾 Backup Instructions

CRITICAL: Always backup before upgrading:

# Close GearTracker, then:
cp ~/.gear_tracker/tracker.db ~/.gear_tracker/tracker.db.backup

Or copy tracker.db to your preferred backup location.


📝 Installation

Requirements:

  • Python 3.14+
  • PyQt6
pip install PyQt6
python ui.py

Platform Support:

  • Linux: ✅ Currently Supported
  • Windows: 🚧 Coming Soon
  • macOS: 🚧 Coming Soon

📄 Changelog

v0.1.0-alpha.2 (Current)

  • ✅ Loadout builder with multi-category item selection
  • ✅ One-click checkout with comprehensive validation
  • ✅ Loadout return with per-firearm round counts
  • ✅ Automatic maintenance logging on return
  • ✅ Full NFA item support in loadouts
  • 🐛 Fixed: Maintenance flag not clearing after CLEANING
  • 🐛 Fixed: Loadout checkouts not appearing in checkouts tab
  • 🐛 Fixed: NFA item checkout crash (36 bindings error)
  • 🐛 Fixed: Loadout return only returning first item
  • 🐛 Fixed: App crash on startup (last_clean_date type error)
  • 🐛 Fixed: Firearms showing wrong maintenance status and round counts

v0.1.0-alpha.1

  • ✅ Round counting per firearm
  • ✅ Configurable maintenance thresholds
  • ✅ Visual maintenance alerts (red/yellow backgrounds)
  • ✅ Maintenance history logging
  • 🐛 Fixed: Various UI issues with loadout dialogs

v0.1.0-alpha.0

  • ✅ Initial inventory management
  • ✅ Firearms, soft gear, NFA items, consumables
  • ✅ Attachments system
  • ✅ Reload/Handload log
  • ✅ Borrower management
  • ✅ Checkout/return system

🤝 Support

  • Report bugs: Please include steps to reproduce and error messages if possible
  • Feature requests: Feedback welcome on what would make this more useful
  • Donations: If you're benefiting from this software: https://paypal.me/ASchexnayder296

Thank you for testing GearTracker! 🦌

Pre-Alpha 1

Pre-Alpha 1 Pre-release
Pre-release

Choose a tag to compare

@alexschexc alexschexc released this 20 Jan 03:32

Here’s a snapshot of where the app stands relative to the “MVP for my own hog‑hunting use” plan.

​
Completed features

Firearms tracking

    Add/delete firearms, basic fields (name, caliber, serial, notes, purchase date).

    Shows status (available/checked out) and last cleaning date with yellow warning for long‑overdue cleaning.

​

Soft gear tracking

Add/delete soft gear (chest rigs, packs, boots, gaiters, etc.) with category, brand, notes, and status (available/checked out).

​

Consumables tracking

Track ammo and other consumables with quantity, unit, low‑stock threshold, and transaction history (ADD/USE/ADJUST).

Export CSV includes consumables with low‑stock flag.

​

Borrowers and checkouts

Borrower list (name, contact info, notes).

Polymorphic checkouts for firearms, soft gear, and NFA items with active checkouts table and checkout history per item.

​

Maintenance logs

Polymorphic maintenance logs (cleaning, lubrication, repair, zeroing, hunting, inspection) for firearms/soft gear/NFA.

Each log can include ammo count and optional photo path; last cleaning date is derived from these logs.

​

NFA items

Separate NFA tab with suppressors/SBR/SBS/etc., with tax stamp ID, form type, trust name, status, and integration into checkouts.

​

Transfers

Transfer/sell workflow for firearms: buyer details, price, FFL info, notes; firearm marked TRANSFERRED and listed in Transfers tab.

​

Attachments system

New Attachment model and DB table for non‑regulated attachments (optics, lights, stocks, rails, triggers, etc.).

Attachments tab with add/edit/delete, plus linking each attachment to a specific firearm and storing zero distance/notes and mount position.

​

Packaging & distribution basics

PyInstaller one‑file build working (--onefile GUI binary).

Git workflow clarified: source in repo, binary attached to GitHub Releases, using semantic version tags (e.g., v0.1.0-alpha.1).

​

    ​

In‑progress feature

Reloading log (ReloadBatch)

    Design agreed: per‑batch records with cartridge, optional firearm link, components (bullet/powder/primer/case), COAL/crimp, and performance summary (velocity, ES/SD, group).

    Implementation plan sketched: ReloadBatch dataclass + reload_batches table + repo CRUD + “Reloading” tab with “Add Batch”, “Log Results”, and delete.

    ​

Remaining features before planned MVP

These are the things discussed as “v1‑critical” that are not wired up yet:

Finish Reloading log

    Actually add the ReloadBatch dataclass and table, repository methods, and UI tab/dialogs described.

    Optional niceties: CSV export of loads, filter by cartridge/firearm, and a simple safety disclaimer banner on the tab.

​

Hunt / trip loadouts

New Loadouts tab:

    Define named loadouts like “Sam Houston NF – night hogs” with selected firearms, soft gear, NFA items, and consumables plus quantities.

    Provide a printable/exportable checklist and an in‑app checklist view to mark items as “packed”.

​

Later integration with checkouts (nice‑to‑have, but not required for MVP): one‑click applying a loadout creates checkouts for selected gear and decrements consumables.

​

Round‑count & maintenance thresholds

Per‑firearm threshold fields: rounds between cleaning, days between cleaning, optional lifetime round limit.

Derived status per firearm: OK / DUE SOON / OVERDUE based on total rounds fired and last cleaning date, surfaced as color‑coded columns in the Firearms tab.

​

Optional future tie‑in: when logging a “Range Session” with ammo count, automatically bump round‑count and re‑evaluate status.

Small polish items for MVP

Export improvements:

    Extend existing CSV export to include NFA items and attachments; optionally a separate export for reload batches.

​

Version/about info:

Simple “About” dialog that shows app name, current version (from a constant), and maybe a one‑liner mission statement about stewardship/hunting use.

​Beta releases will consist of UX Polishing and improved platform support outside of Linux.