You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-33Lines changed: 26 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
# ScanEventWorker
2
2
3
-
A .NET 10 worker service that continuously polls a scan event API, queues events through Amazon SQS, and persists parcel summary data to SQL Server. Built for the Freightways take-home exercise.
3
+
A .NET 10 worker service that continuously polls a scan event API, queues events through Amazon SQS, and persists parcel summary data to SQL Server.
dotnet run --project src/ScanEventWorker/ScanEventWorker.csproj
49
56
```
50
57
51
-
## Running Tests
52
-
53
-
```bash
54
-
dotnet test
55
-
```
56
-
57
-
33 unit tests covering domain behaviour, API client parsing/validation, processor logic, and both BackgroundService workers (`ApiPollerWorker`, `EventProcessorWorker`).
-[ ]**Horizontal scaling**: run multiple `EventProcessorWorker` instances; SQS competing-consumer model handles this without coordination
93
76
-[ ]**DLQ visibility**: persist DLQ messages to a `FailedEvents` DB table for operational queries
94
77
-[ ]**Rate limiting**: token bucket on the API poller to avoid hammering the upstream service
95
78
-[ ]**Database migrations**: replace the `IF NOT EXISTS` initialiser with FluentMigrator for versioned schema changes
96
79
-[ ]**Production database**: RDS SQL Server (managed via CDK stack) instead of Docker for managed backups and HA
97
80
98
-
---
81
+
[^1]: `/healthz` endpoint is [actually deprecated](https://kubernetes.io/docs/reference/using-api/health-checks/#api-endpoints-for-health) since Kubernetes v1.16, and the more specific `/livez` and `/readyz` endpoints are preferred.
99
82
100
-
## Further Reading
83
+
## Detailed Documentations
101
84
102
-
-[Local Setup](docs/local-setup.md) — Docker, database, credentials, and run steps
103
-
-[Infrastructure](docs/infrastructure.md) — CDK stack and downstream fan-out architecture
104
-
-[Design Rationale](docs/design-rationale.md) — Domain model, error handling, and AOT decisions
0 commit comments