Skip to content

Latest commit

 

History

History
124 lines (100 loc) · 12.4 KB

File metadata and controls

124 lines (100 loc) · 12.4 KB

Module Catalogue

One-line description of every module plus its Java original and .NET counterpart. Cross-reference for ARCHITECTURE.md and MIGRATION-GUIDE.md.

01 — Foundational

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

02 — Platform

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

03 — Adapters

IDP

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)

ECM (storage + e-signature)

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)

Notifications

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)

Callbacks (outbound)

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

Webhooks (inbound)

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

Cross-protocol clients

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

04 — Starters

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

05 — Tests

tests/ is reserved for cross-module integration tests; per-module unit tests live alongside their sources as _test.go files (Go idiom).

06 — Samples

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.