Show HN:TaskHub – Update
1 points
1 hour ago
| 1 comment
| github.com
| HN
andrey-serdyuk
1 hour ago
[-]
I’ve pushed a new major update to TaskHub Shared modules, pet project where I experiment with architecture, observability, and reusable patterns for .NET microservices.

What’s new

Restructured Shared Kernel

The project is now split into small, focused modules:

- Commands (CQRS-style pipeline).

- Domain (Aggregates, ValueObjects, DomainEvents).

- Persistence abstractions.

- Authorization abstractions.

- GeoCoding (Nominatim client).

- Observability.

- EF Core infrastructure

- Redis, Swagger, Versioning, RateLimiter, etc.

Nothing special — just cleaner boundaries.

2. Updated Command Pipeline

I reworked the internal command pipeline to better understand how these systems work under the hood.

It now supports:

- Automatic handler/behavior discovery.

- pre/post behaviors.

- Ordered execution.

- Transformers.

- Minimal dependency injection glue.

Basically a lightweight MediatR-style pipeline, but built manually so I could learn from it.

3. Observability additions

One of my goals with TaskHub is to get practical experience with tracing and metrics.

The project now includes:

- ActivitySource-based spans.

- Command/Status tagging.

- Prometheus counters.

- OpenTelemetry wiring.

- Ontegration with Tempo/Loki/Prometheus setups.

Nothing extreme — just hands-on experimentation.

4. Domain layer cleanup

I refined the basic DDD building blocks:

- ValueObjects (with JSON and EF converters)

- Aggregates.

- Domain events.

- Domain-level exception handling.

Just trying to keep the domain model neat.

5. Service bootstrapper

I extracted all repetitive service setup (Swagger, EF, Identity, Redis, Commands, OTEL, migrations, etc.) into a simple builder to avoid duplicating the same boilerplate across services.

Why I’m doing this

Not to "create a framework", but to:

- Organize my own knowledge.

- Test new architectural ideas.

- Build reusable patterns.

- Learn more about observability.

- Improve the quality of my service foundations.

- Get better as a software engineer overall.

TaskHub is simply my personal lab.

GitHub

https://github.com/TaskHub-Server/TaskHub.Shared

Feedback welcome

If anyone finds the architecture interesting or has suggestions, I’m happy to discuss.

reply