Skip to content

cdub89/SKCC-Search-Tool

Repository files navigation

SKCC Search Tool

A cross-platform desktop application for searching Straight Key Century Club (SKCC) member information.

About SKCC

The Straight Key Century Club is an organization dedicated to promoting the use of straight keys, bugs, and sideswipers for amateur radio CW (morse code) contacts. Members earn awards by making contacts with other SKCC members using these traditional telegraph keys.

Features

  • πŸ” Fast Search: Search member database by call sign, name, SKCC number, city, or state
  • πŸ“‹ Complete Information: Display member's call sign, name, QTH (city/state), SKCC number, and previous calls
  • πŸ”„ Auto-Update: Download the latest member list from SKCC servers
  • ⏰ Data Freshness Alerts: Get notified when your local member database is more than 2 days old
  • πŸ’» Cross-Platform: Runs on Windows, macOS, and Linux
  • ⚑ Fast Performance: Handles 30,000+ member records efficiently

Installation

Download Standalone Executable (Recommended for Users)

No installation required! Just download, extract, and run.

  1. Go to the Releases page
  2. Download the ZIP file for your platform:
    • Windows: SKCC-Search-Tool-v1.2.0-Windows-x64.zip
    • macOS (Intel): SKCC-Search-Tool-v1.2.0-macOS-x64.zip
    • macOS (Apple Silicon): SKCC-Search-Tool-v1.2.0-macOS-ARM64.zip
    • Linux: SKCC-Search-Tool-v1.2.0-Linux-x64.zip
  3. Extract the ZIP file to a folder of your choice
  4. Run the executable:
    • Windows: Double-click SKCC-Search-Tool.exe
    • macOS: Right-click SKCC-Search-Tool β†’ Open (first time only)
    • Linux: Run ./SKCC-Search-Tool in terminal

No .NET runtime required! Everything is included in the standalone executable.

Data Storage: Member data is automatically stored in your user profile folder, not with the executable. This ensures proper permissions and follows platform conventions:

  • Windows: C:\Users\{YourName}\AppData\Roaming\SKCC-Search-Tool\Data\
  • macOS/Linux: ~/.config/SKCC-Search-Tool/Data/

Building from Source (For Developers)

Prerequisites

Quick Build

# Clone the repository
git clone https://github.com/yourusername/SKCC-Search-Tool.git
cd SKCC-Search-Tool

# Restore dependencies
dotnet restore

# Build the application
dotnet build

# Run the application
dotnet run

Required NuGet Packages

The application requires the following packages (automatically restored):

  • Avalonia (11.1.3) - Core UI framework
  • Avalonia.Desktop (11.1.3) - Desktop platform support
  • Avalonia.Themes.Fluent (11.1.3) - Modern Fluent theme
  • Avalonia.Controls.DataGrid (11.1.3) - Search results display
  • CommunityToolkit.Mvvm (8.2.2) - MVVM helpers

Building Release Executables

Use the provided build scripts to create standalone executables for all platforms:

Windows (PowerShell):

.\build-release.ps1         # Build all platforms
.\build-release.ps1 windows # Build Windows only
.\build-release.ps1 macos   # Build macOS only
.\build-release.ps1 linux   # Build Linux only

Linux/macOS (Bash):

chmod +x build-release.sh
./build-release.sh         # Build all platforms
./build-release.sh windows # Build Windows only
./build-release.sh macos   # Build macOS only
./build-release.sh linux   # Build Linux only

Release files will be created in ./releases/v1.2.0/ with ready-to-distribute ZIP files.

Usage

  1. First Launch: The application will download the latest SKCC member list automatically
  2. Search: Start typing in the search box to filter members by:
    • Call sign (e.g., "WX7V", "K1", "W7")
    • Name (e.g., "Chris", "Tom")
    • SKCC number (e.g., "12345", "12345C")
    • City or State (e.g., "Seattle", "WA")
  3. View Results: Click on any member in the results to see full details
  4. Refresh Data: Use the "Refresh" button to download the latest member list

Member Data Format

The application uses a pipe-delimited text file with the following format:

skccnr|call|name|city|state|ccnr|mbrdate
  • skccnr: SKCC member number (may include C/T/S suffix for award levels)
  • call: Current call sign (may include /SK for Silent Key, /EX for expired)
  • name: Member's first name
  • city: City location (QTH)
  • state: State, province, or country abbreviation
  • ccnr: Previous call signs (comma-separated)
  • mbrdate: Membership date

Data Source

IMPORTANT: The SKCC member data used by this application is wholly owned and maintained by the Straight Key Century Club (SKCC). This application merely provides a convenient interface to search the publicly available member list.

Member data is sourced from the official SKCC database:

The member data is NOT included in this software distribution and remains the exclusive property of SKCC. Users of this application agree to respect SKCC's ownership of the member data.

Technologies Used

  • Avalonia UI: Cross-platform XAML-based UI framework
  • .NET 8.0: Modern, high-performance application platform
  • MVVM Pattern: Clean separation of concerns
  • Reactive Extensions: Responsive UI updates

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Support

If you encounter any issues or have suggestions for improvements:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Contact: Chris L. White, WX7V

License

MIT License - see LICENSE file for details

Copyright (c) 2026 Chris L. White, WX7V

Code written with assistance from Claude (Sonnet 4.5).

Acknowledgments

  • The Straight Key Century Club (SKCC) for maintaining the member database and making it publicly available. All member data is owned and maintained by SKCC.
  • The Avalonia UI team for the excellent cross-platform framework
  • All SKCC members who keep the art of hand-sent morse code alive

Ham Radio Contact

Operator: Chris L. White
Call Sign: WX7V
Organization: SKCC Member


73 de WX7V πŸ“‘πŸ”‘

About

Cross-platform desktop application for SKCC Ham Radio member lookup

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors