Project Specification and Outline for ScannerFreakDB – By VK7AAL
1. Overview and Purpose
ScannerFreakDB is a Python-based database application built to log, organize, and manage radio scanning information. Most off-the-shelf logging tools are either too generic or too rigid, making it difficult for hobbyists and professionals to track detailed frequency data. ScannerFreakDB is designed to fix this by providing a customizable and easy-to-use solution for radio enthusiasts—whether focused on ultralight DXing, UHF monitoring, or general scanning.
With ScannerFreakDB, users can quickly store, search, and categorize frequency data, making it a long-term, flexible tool for anyone serious about scanning.
2. Objectives
-
Customizable Fields – Include frequency-specific details while supporting further expansion.
-
User-Friendly Interface – Simple, intuitive entry and search options for all users. Android compatiable.
-
Efficient Data Retrieval – Fast, flexible search and filtering functions.
-
Long-Term Usability – Scalable design with no unnecessary complexity.
3. Scope
ScannerFreakDB covers:
-
A lightweight, local database for managing radio frequency logs.
-
Input fields designed specifically for monitoring and scanning.
-
A simple GUI for data entry, search, and filtering (time/resources permitting).
-
Export functionality for backups, analysis, or sharing.
4. Key Features and Functional Requirements
1. Data Entry Fields
-
Covers all required information, such as:
Frequency
Name
Mode (drop down)
CTCSS/DCS,
Group (drop down)
Date,
Notes
Programmed (drop down)
2. User Interface
-
Search & Filter – By frequency, date, user, or log type.
-
Quick Entry & Edit – Fast adding and updating of records.
-
Sorting – By frequency, date, or user for streamlined review.
3. Data Management
-
Local Database – Lightweight SQLite (or equivalent) for portability and speed. This syncs between Windows and Android versions automatically.
-
Export Options – CSV/JSON for archiving, analysis, or sharing.
-
Data Integrity – Validation to reduce errors and duplicates
4. Database Schema
id
Type: INTEGER PRIMARY KEY AUTOINCREMENT
Use: Unique identifier for each record in the database.
Notes: Automatically increments with every new entry.
frequency
Type: REAL
Use: Stores the radio frequency in MHz (e.g., 145.025, 477.425).
Notes: The core field for logging what frequency was observed.
name
Type: TEXT
Use: The name or identifier associated with the frequency.
Examples: Station name, amateur radio callsign, service type (“Police Dispatch”, “Airband”).
mode
Type: TEXT
Use: The modulation mode used on this frequency.
Examples: FM, NFM, AM, SSB.
ctcss_dcs
Type: REAL
Use: Stores sub-audible tone information for squelch access.
Examples: CTCSS tone in Hz (e.g., 123.0), DCS code (sometimes represented as a number like 023).
group_name
Type: TEXT
Use: Logical grouping or category for the frequency.
Examples: Airband, Amateur, Emergency Services, Business.
date
Type: TEXT
Use: Date when the entry was logged or last updated.
Format: Typically stored as a string (e.g., 2025-09-15).
notes
Type: TEXT
Use: Free-text field for extra details.
Examples: Signal strength, language, call signs heard, activity type.
programmed
Type: TEXT
Use: Indicates whether this frequency has been programmed into a scanner or radio.
Examples: Yes, No, Pending.
-----------------------------------------------------------------------------------
Updates:
15/09/2025
- Added button to access web site
- Added database backup on load
Type: INTEGER PRIMARY KEY AUTOINCREMENT
Use: Unique identifier for each record in the database.
Notes: Automatically increments with every new entry.
Type: REAL
Use: Stores the radio frequency in MHz (e.g., 145.025, 477.425).
Notes: The core field for logging what frequency was observed.
Type: TEXT
Use: The name or identifier associated with the frequency.
Examples: Station name, amateur radio callsign, service type (“Police Dispatch”, “Airband”).
Type: TEXT
Use: The modulation mode used on this frequency.
Examples: FM, NFM, AM, SSB.
Type: REAL
Use: Stores sub-audible tone information for squelch access.
Examples: CTCSS tone in Hz (e.g., 123.0), DCS code (sometimes represented as a number like 023).
Type: TEXT
Use: Logical grouping or category for the frequency.
Examples: Airband, Amateur, Emergency Services, Business.
Type: TEXT
Use: Date when the entry was logged or last updated.
Format: Typically stored as a string (e.g., 2025-09-15).
Type: TEXT
Use: Free-text field for extra details.
Examples: Signal strength, language, call signs heard, activity type.
Type: TEXT
Use: Indicates whether this frequency has been programmed into a scanner or radio.
Examples: Yes, No, Pending.
No comments:
Post a Comment