アマチュア無線のQSOログ管理システムです。オープンなデータベース(SQLite)とREST APIを基盤に、自分のQSOデータを自分の手元で自由に管理できる環境を提供します。
日本のアマチュア無線ログ管理は、特定のソフトウェアに依存する部分が大きく、データ形式がプロプライエタリだったり、コールサイン情報の参照が特定のアプリ経由でしか行えないといった制約があります。
CROSSWAVEは「自分のデータを自分で持つ」という考え方で、この課題に取り組みます。
- オープンなDB — SQLiteだから、SQLで直接触れる
- オープンなAPI — REST APIで何とでも繋がる
- レガシー連携はオプション — HAMLOGとの連携機能はあるが、なくても動く
- オープンであること — DBはSQLite、APIは公開、誰でもクライアントを作れる
- 自由にアクセスできること — SQL・CLI・GUI・ブラウザ、好きな方法で
- リスクに正直であること — API悪用やDB破壊の可能性を隠さず、設計で対処する
- モジュラーであること — コンポーネントは交換・切り離しが可能
モノレポとして構成されています。
crosswave/
├── README.md
├── LICENSE (MIT)
├── docs/
│ ├── concept.md ← このファイル
│ ├── roadmap.md
│ ├── architecture.md
│ └── db_schema.md
├── server/ ← open-logbook(Flask + SQLite APIサーバー)
│ ├── app.py
│ ├── requirements.txt
│ ├── db/
│ └── frontend/
├── app/ ← CrossWave.app(macOS, SwiftUI)
│ └── CrossWave.xcodeproj
└── bham/ ← bonelessham-api(HAMLOGブリッジ, Windows)
├── hamlog_api_server.py
├── hamlog_api.ahk
└── ...
| コンポーネント | 役割 | 必須? |
|---|---|---|
| open-logbook (server/) | データ管理・REST API・CSVインポート/エクスポート | はい |
| CrossWave.app (app/) | macOSネイティブクライアント | 推奨 |
| bham (bham/) | HAMLOG連携(コールサイン検索) | オプション |
bhamについて: bhamはHAMLOGのUIオートメーションに依存しており、HAMLOGのバージョンアップで動作しなくなる可能性があります。動作確認環境: Turbo HAMLOG Ver 5.47。
[CrossWave.app] ──HTTP──> [open-logbook (localhost:8670)]
└── SQLite logbook.db
python app.py で起動。設定不要。
[CrossWave.app(ノートPC)]
↓ HTTP(LAN or Tailscale)
[open-logbook (自宅サーバー:8670)]
└── SQLite logbook.db
接続先URLを変えるだけ。コード変更不要。移動運用先から自宅サーバーのDBに直接ログを記録できます。
[open-logbook] ──HTTP──> [bham (windows-host:8669)]
└── HAMLOG
bhamがネットワーク上にあるとき、open-logbook経由でHAMLOGのユーザーDB検索が利用可能。未接続時はローカルのコールサインキャッシュで動作を継続。
- プロプライエタリなコールサインDBの逆解析・一括抽出・再配布
- HAMLOG利用者への置き換え強制
- HAMLOG検索で得たデータの再配布(ローカルキャッシュとしての利用に限定)
- open-logbookをローカルDBとして運用
- 自分のQSO履歴からコールサインキャッシュを蓄積
- 希望するユーザーからのオプトインでデータ共有サーバーを構築
- コールサイン → 氏名/QTH のマッピングをコミュニティで構築
- データの出自を
sourceフィールドで追跡
- コミュニティデータの蓄積で外部検索が不要に
- QSL確認システムの自前実装
- オプトイン — データ提供は完全に任意
- プライバシー配慮 — 共有範囲は総務省公開情報と同程度に限定
- オープンAPI — 他の開発者も自由にアクセス可能
| ドキュメント | 内容 |
|---|---|
| roadmap.md | 開発フェーズ・進捗状況・APIリファレンス |
| architecture.md | アプリ設計・ボードシステム・通知仕様 |
| db_schema.md | SQLiteスキーマ定義 |