docs: add DLD (Deutschland Diplom) award documentation
Add comprehensive documentation for the DLD award including: - Award definition and JSON structure - Progress calculation logic - DOK entity type and DARC category - Example DOKs and confirmation details - DCL resources and references Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -131,7 +131,8 @@ Defines the database structure using Drizzle ORM schema builder.
|
|||||||
- Award progress calculation
|
- Award progress calculation
|
||||||
- Entity breakdown by band/mode
|
- Entity breakdown by band/mode
|
||||||
- Confirmation status tracking (LoTW, DCL)
|
- Confirmation status tracking (LoTW, DCL)
|
||||||
- DXCC, WAS, VUCC award support
|
- DXCC, WAS, VUCC, DLD award support
|
||||||
|
- DOK-based award calculation with DCL confirmation
|
||||||
|
|
||||||
**Job Queue Service** (`src/backend/services/job-queue.service.js`)
|
**Job Queue Service** (`src/backend/services/job-queue.service.js`)
|
||||||
- Background job management
|
- Background job management
|
||||||
@@ -194,7 +195,9 @@ award/
|
|||||||
│ ├── dxcc-cw.json # DXCC CW-specific award
|
│ ├── dxcc-cw.json # DXCC CW-specific award
|
||||||
│ ├── was.json # WAS award configurations
|
│ ├── was.json # WAS award configurations
|
||||||
│ ├── vucc-sat.json # VUCC Satellite award
|
│ ├── vucc-sat.json # VUCC Satellite award
|
||||||
│ └── sat-rs44.json # Satellite RS-44 award
|
│ ├── sat-rs44.json # Satellite RS-44 award
|
||||||
|
│ ├── special-stations.json # Special event stations award
|
||||||
|
│ └── dld.json # DLD (Deutschland Diplom) award
|
||||||
│
|
│
|
||||||
├── drizzle/ # Database migrations
|
├── drizzle/ # Database migrations
|
||||||
│ └── 0000_init.sql # Initial schema
|
│ └── 0000_init.sql # Initial schema
|
||||||
@@ -288,8 +291,12 @@ award/
|
|||||||
county: text
|
county: text
|
||||||
satName: text (satellite name)
|
satName: text (satellite name)
|
||||||
satMode: text (satellite mode)
|
satMode: text (satellite mode)
|
||||||
|
myDarcDok: text (user's DOK - DARC Ortsverband Kennung)
|
||||||
|
darcDok: text (QSO partner's DOK)
|
||||||
lotwQslRdate: text (LoTW confirmation date)
|
lotwQslRdate: text (LoTW confirmation date)
|
||||||
lotwQslRstatus: text ('Y', 'N', '?')
|
lotwQslRstatus: text ('Y', 'N', '?')
|
||||||
|
dclQslRdate: text (DCL confirmation date)
|
||||||
|
dclQslRstatus: text ('Y', 'N', '?')
|
||||||
lotwSyncedAt: timestamp
|
lotwSyncedAt: timestamp
|
||||||
createdAt: timestamp
|
createdAt: timestamp
|
||||||
}
|
}
|
||||||
@@ -361,6 +368,7 @@ Each award is defined with the following structure:
|
|||||||
| `dxcc` | DXCC entities (countries) | `entityId` |
|
| `dxcc` | DXCC entities (countries) | `entityId` |
|
||||||
| `state` | US States, Canadian provinces | `state` |
|
| `state` | US States, Canadian provinces | `state` |
|
||||||
| `grid` | Maidenhead grid squares | `grid` |
|
| `grid` | Maidenhead grid squares | `grid` |
|
||||||
|
| `dok` | DARC Ortsverband Kennung (German local clubs) | `darcDok` |
|
||||||
|
|
||||||
### Filter Operators
|
### Filter Operators
|
||||||
|
|
||||||
@@ -380,6 +388,7 @@ Each award is defined with the following structure:
|
|||||||
- **`was`**: Worked All States awards
|
- **`was`**: Worked All States awards
|
||||||
- **`vucc`**: VHF/UHF Century Club awards
|
- **`vucc`**: VHF/UHF Century Club awards
|
||||||
- **`satellite`**: Satellite-specific awards
|
- **`satellite`**: Satellite-specific awards
|
||||||
|
- **`darc`**: DARC (German Amateur Radio Club) awards
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -603,6 +612,55 @@ confirmed = COUNT(DISTINCT callsign
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### 6. DLD (Deutschland Diplom)
|
||||||
|
|
||||||
|
**File**: `award-definitions/dld.json`
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"id": "dld",
|
||||||
|
"name": "DLD",
|
||||||
|
"description": "Deutschland Diplom - Confirm 100 unique DOKs on different bands/modes",
|
||||||
|
"caption": "Contact and confirm stations with 100 unique DOKs (DARC Ortsverband Kennung) on different band/mode combinations. Each unique DOK on a unique band/mode counts as one point. Only DCL-confirmed QSOs with valid DOK information count toward this award.",
|
||||||
|
"category": "darc",
|
||||||
|
"rules": {
|
||||||
|
"type": "dok",
|
||||||
|
"target": 100,
|
||||||
|
"confirmationType": "dcl",
|
||||||
|
"displayField": "darcDok"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Explanation:**
|
||||||
|
- Counts unique (DOK, band, mode) combinations
|
||||||
|
- Only QSOs with valid `darcDok` values are counted
|
||||||
|
- Only DCL-confirmed QSOs (`dclQslRstatus = 'Y'`) count toward the award
|
||||||
|
- Target: 100 unique DOKs on different band/mode combinations
|
||||||
|
- Each unique DOK on a unique band/mode combination counts as one point
|
||||||
|
- Example: Working DOK F03 on 20m CW and 40m SSB counts as 2 points
|
||||||
|
|
||||||
|
**Progress Calculation:**
|
||||||
|
```javascript
|
||||||
|
worked = COUNT(DISTINCT darcDok
|
||||||
|
WHERE darcDok IS NOT NULL)
|
||||||
|
confirmed = COUNT(DISTINCT darcDok
|
||||||
|
WHERE darcDok IS NOT NULL AND dclQslRstatus = 'Y')
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example DOKs:**
|
||||||
|
- `"F03"` - Ortsverband Frankfurt am Main
|
||||||
|
- `"P30"` - Ortsverband München
|
||||||
|
- `"G20"` - Ortsverband Köln
|
||||||
|
- DOKs consist of a letter (district) and two digits (local club)
|
||||||
|
|
||||||
|
**Confirmation:**
|
||||||
|
- Only DCL (DARC Community Logbook) confirmations count
|
||||||
|
- LoTW confirmations do not count toward this award
|
||||||
|
- This is a DARC-specific award using DARC's confirmation system
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### Advanced Filter Examples
|
### Advanced Filter Examples
|
||||||
|
|
||||||
#### Multiple Conditions (AND)
|
#### Multiple Conditions (AND)
|
||||||
@@ -776,6 +834,7 @@ The award system is designed for extensibility. Planned enhancements:
|
|||||||
- CQ Zones
|
- CQ Zones
|
||||||
- ITU Zones
|
- ITU Zones
|
||||||
- Counties
|
- Counties
|
||||||
|
- DOK (German DARC Ortsverband Kennung) ✓ **Implemented**
|
||||||
|
|
||||||
2. **Advanced Filters**:
|
2. **Advanced Filters**:
|
||||||
- Date ranges
|
- Date ranges
|
||||||
@@ -812,7 +871,9 @@ When adding new awards or modifying the award system:
|
|||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
- [ARRL LoTW](https://lotw.arrl.org/)
|
- [ARRL LoTW](https://lotw.arrl.org/)
|
||||||
|
- [DARC Community Logbook (DCL)](https://dcl.darc.de/)
|
||||||
- [ADIF Specification](https://adif.org/)
|
- [ADIF Specification](https://adif.org/)
|
||||||
- [DXCC List](https://www.arrl.org/dxcc)
|
- [DXCC List](https://www.arrl.org/dxcc)
|
||||||
- [VUCC Program](https://www.arrl.org/vucc)
|
- [VUCC Program](https://www.arrl.org/vucc)
|
||||||
- [WAS Award](https://www.arrl.org/was)
|
- [WAS Award](https://www.arrl.org/was)
|
||||||
|
- [DLD Award](https://www.darc.de/der-club/referate/conteste/dld/)
|
||||||
|
|||||||
Reference in New Issue
Block a user