One-line description of every module plus its Java original and .NET counterpart. Cross-reference for ARCHITECTURE.md and MIGRATION-GUIDE.md.
| Go module | Java original | .NET project | Purpose |
|---|---|---|---|
kernel |
firefly-common |
FireflyFramework.Kernel |
RFC 7807 ProblemDetail, generic Result[T], Clock, FireflyError |
utils |
firefly-common-utils |
FireflyFramework.Utils |
Try, Retry.Do, slug, AES-256-GCM, templates |
validators |
firefly-common-validators |
FireflyFramework.Validators |
IBAN, BIC, Luhn, currency, phone, password, sort code, VAT, Spanish IDs |
web |
firefly-web + firefly-spring-utils |
FireflyFramework.Web |
Problem-Details renderer, correlation, idempotency, PII masking |
config |
Spring application.yml binder |
IConfiguration + IOptions<T> |
Typed YAML+env binding with profile selection, dot-keyed sources |
i18n |
Spring MessageSource |
IStringLocalizer<T> |
Locale-aware message bundles, Accept-Language resolver, {name} placeholders |
| Go module | Java original | .NET project | Purpose |
|---|---|---|---|
cache |
firefly-common-cache |
FireflyFramework.Cache |
Memory / NoOp / Fallback adapters, typed Typed[T] |
observability |
firefly-otel-spring-boot-starter |
FireflyFramework.Observability |
slog + correlation, OTel handles, health composite, startup banner |
data |
firefly-common-data (R2DBC) |
FireflyFramework.Data |
Filter DSL, paging, repository helpers |
cqrs |
firefly-common-cqrs |
FireflyFramework.Cqrs |
Command + query bus, validation + caching middleware |
eda |
firefly-common-eda |
FireflyFramework.Eda |
In-memory broker, Kafka / RabbitMQ scaffolds |
eventsourcing |
firefly-event-sourcing-spring-boot-starter |
FireflyFramework.EventSourcing |
AggregateRoot, snapshots, projections, in-memory store |
orchestration |
firefly-common-domain (orchestration) |
FireflyFramework.Orchestration |
Saga, Workflow, TCC engines |
ruleengine |
firefly-common-rule-engine |
FireflyFramework.RuleEngine.{Interfaces,Models,Core,Web,Sdk} |
YAML DSL → AST → evaluator (sub-packages mirror .NET split) |
plugins |
firefly-platform-plugins |
FireflyFramework.Plugins.{Api,Core} |
Lifecycle SPI + registry |
lifecycle |
Spring Boot SpringApplication.run() |
IHost + IHostedService |
Application orchestrator: ordered start/stop hooks, signal trap, drain |
actuator |
spring-boot-starter-actuator |
Microsoft.AspNetCore.Diagnostics.HealthChecks |
/actuator/{health,info,metrics,env,goroutines,version} endpoints |
scheduling |
Spring @Scheduled |
IHostedService + Quartz.NET |
Cron + FixedRate + FixedDelay tasks with panic recovery |
resilience |
Resilience4j | Polly v8 | CircuitBreaker, RateLimiter, Bulkhead, Timeout, composable [Chain] |
security |
Spring Security | Microsoft.AspNetCore.Authentication.JwtBearer |
Authentication ctx, [BearerMiddleware], path-pattern [FilterChain] |
migrations |
Flyway | EF Core migrations + DbUp | Versioned V{n}__{desc}.sql runner with checksum guard |
openapi |
springdoc-openapi |
Swashbuckle.AspNetCore |
OAS 3.1 generator from Go types + handler descriptors, Swagger-UI shim |
sse |
Spring ServerSentEvent |
Microsoft.AspNetCore.Mvc.SseExtensions |
Server-Sent Events writer with heartbeat ping + Last-Event-Id resumption |
transactional |
Spring @Transactional |
System.Transactions.TransactionScope |
Context-bound WithTx(ctx, fn) over database/sql |
testkit |
spring-boot-starter-test |
Microsoft.AspNetCore.Mvc.Testing |
HMAC signers, SpyBroker, JSON test helpers |
| Go module | Java original | .NET project | Backing tech |
|---|---|---|---|
idp |
firefly-idp |
FireflyFramework.Idp |
Common Adapter port |
idpinternaldb |
firefly-idp-internal-db |
FireflyFramework.Idp.InternalDb |
bcrypt + HS256 JWT (full impl) |
idpkeycloak |
firefly-idp-keycloak |
FireflyFramework.Idp.Keycloak |
OIDC + Keycloak admin (stub) |
idpazuread |
firefly-idp-azure-ad |
FireflyFramework.Idp.AzureAd |
MSAL + Microsoft Graph (stub) |
idpawscognito |
firefly-idp-aws-cognito |
FireflyFramework.Idp.AwsCognito |
AWS Cognito SDK (stub) |
| Go module | Java original | .NET project | Purpose |
|---|---|---|---|
ecm |
firefly-ecm |
FireflyFramework.Ecm |
Adapter framework + local FS impl |
ecmstorageaws |
firefly-ecm-storage-aws |
FireflyFramework.Ecm.Storage.Aws |
S3 content adapter (stub) |
ecmstorageazure |
firefly-ecm-storage-azure |
FireflyFramework.Ecm.Storage.Azure |
Azure Blob content adapter (stub) |
ecmesignaturedocusign |
firefly-ecm-esignature-docusign |
FireflyFramework.Ecm.ESignature.DocuSign |
DocuSign envelope CRUD (stub) |
ecmesignatureadobesign |
firefly-ecm-esignature-adobe-sign |
FireflyFramework.Ecm.ESignature.AdobeSign |
Adobe Sign agreement CRUD (stub) |
ecmesignaturelogalty |
firefly-ecm-esignature-logalty |
FireflyFramework.Ecm.ESignature.Logalty |
Logalty processes (stub) |
| Go module | Java original | .NET project | Channel |
|---|---|---|---|
notifications |
firefly-notifications |
FireflyFramework.Notifications |
Contract + dispatcher + memory channel |
notificationssendgrid |
firefly-notifications-sendgrid |
FireflyFramework.Notifications.SendGrid |
Email (stub) |
notificationsresend |
firefly-notifications-resend |
FireflyFramework.Notifications.Resend |
Email (stub) |
notificationstwilio |
firefly-notifications-twilio |
FireflyFramework.Notifications.Twilio |
SMS (stub) |
notificationsfirebase |
firefly-notifications-firebase |
FireflyFramework.Notifications.Firebase |
Push (stub) |
| Go module / sub-pkg | Purpose |
|---|---|
callbacks/interfaces |
DTOs + Store + Dispatcher port |
callbacks/models |
In-memory MemoryStore |
callbacks/core |
HMAC-SHA256-signing dispatcher with retry, audit |
callbacks/web |
REST admin (CRUD targets, list attempts) |
callbacks/sdk |
Typed admin client |
| Go module / sub-pkg | Purpose |
|---|---|
webhooks/interfaces |
Inbound, Validator, Processor |
webhooks/core |
Generic-HMAC, Stripe, GitHub, Twilio validators; pipeline + DLQ |
webhooks/processor |
SPI surface for service-supplied processors |
webhooks/web |
POST /api/webhooks/{provider} ingestion endpoint |
webhooks/sdk |
Typed forwarder |
| Go module | Java original | .NET project | Coverage |
|---|---|---|---|
client |
firefly-service-client |
FireflyFramework.Client |
REST builder (full); SOAP / gRPC / WebSocket placeholders |
configserver |
firefly-config-server |
FireflyFramework.ConfigServer |
Spring-Cloud-Config-compatible REST handler + memory store |
| Go module | Bundles |
|---|---|
startercore |
web + cache + observability + eda + cqrs |
starterapplication |
startercore + plugins |
starterdomain |
startercore + in-memory eventsourcing stores |
starterdata |
startercore (consumer supplies its own DB) |
backoffice |
starterapplication + back-office context middleware |
tests/ is reserved for cross-module integration tests; per-module
unit tests live alongside their sources as _test.go files (Go idiom).
samples/orders/ is the reference five-package service
(interfaces, models, core, web, sdk) demonstrating the
canonical scaffolding documented in
SERVICE-SCAFFOLDING.md. Mirrors the
multi-module Maven layout used by every Java service in the platform
and the five-project layout in the .NET sample.