Documentation
¶
There is no documentation for this package.
Directories
¶
| Path | Synopsis |
|---|---|
|
common
|
|
|
codify
Package codify derives a machine code from a human label: "Nước ngọt có ga" → "nuoc_ngot_co_ga".
|
Package codify derives a machine code from a human label: "Nước ngọt có ga" → "nuoc_ngot_co_ga". |
|
cronexpr
Package cronexpr parses and evaluates 5-field cron expressions in UTC.
|
Package cronexpr parses and evaluates 5-field cron expressions in UTC. |
|
dynamicmodel/json
Package json holds the JSON Schema describing a dynamic model definition, plus the validator used before a model JSON string is parsed into a builder.
|
Package json holds the JSON Schema describing a dynamic model definition, plus the validator used before a model JSON string is parsed into a builder. |
|
dynamicmodel/orm/advanced
Package advanced holds AdvancedPgQueryBuilder, the enhanced PostgreSQL graph query builder.
|
Package advanced holds AdvancedPgQueryBuilder, the enhanced PostgreSQL graph query builder. |
|
go-model
Package model provides robust and easy-to-use model mapper and utility methods for Go.
|
Package model provides robust and easy-to-use model mapper and utility methods for Go. |
|
tabular
Package tabular reads the first sheet of an xlsx workbook or a csv document into a header row plus string rows.
|
Package tabular reads the first sheet of an xlsx workbook or a csv document into a header row plus string rows. |
|
accounting
Package accounting owns tax: master data, effective-dated configuration, determination rules and the calculation engine.
|
Package accounting owns tax: master data, effective-dated configuration, determination rules and the calculation engine. |
|
accounting/app
Package app holds the Accounting application services: the layer that authorizes a request and then delegates to a domain service.
|
Package app holds the Accounting application services: the layer that authorizes a request and then delegates to a domain service. |
|
accounting/domain/services
Package services holds the Accounting business rules that reach for stored configuration.
|
Package services holds the Accounting business rules that reach for stored configuration. |
|
accounting/domain/services/tax
Package tax implements determination, calculation, rounding and reversal, applied in that order.
|
Package tax implements determination, calculation, rounding and reversal, applied in that order. |
|
accounting/domain/settings
Package settings declares what an organization may configure about its own tax handling.
|
Package settings declares what an organization may configure about its own tax handling. |
|
accounting/dynamicengines
Package dynamicengines declares the resource engines Accounting serves through the dynamic resource engine, and creates them during Init().
|
Package dynamicengines declares the resource engines Accounting serves through the dynamic resource engine, and creates them during Init(). |
|
accounting/infra/external
Package external binds Accounting's local ports to the services other modules publish.
|
Package external binds Accounting's local ports to the services other modules publish. |
|
accounting/interfaces/currency
Package currency publishes which currency an organization keeps its books in.
|
Package currency publishes which currency an organization keeps its books in. |
|
accounting/interfaces/tax
Package tax is the port other modules consume to have tax determined and calculated.
|
Package tax is the port other modules consume to have tax determined and calculated. |
|
contacts
Package contacts holds the people and organizations the business deals with.
|
Package contacts holds the people and organizations the business deals with. |
|
contacts/dynamicengines
Package dynamicengines declares the resource engines the Contacts module serves through the dynamic resource engine, and creates them during the module's Init().
|
Package dynamicengines declares the resource engines the Contacts module serves through the dynamic resource engine, and creates them during the module's Init(). |
|
contacts/interfaces/party
Package party declares the party capability that Contacts offers to other modules.
|
Package party declares the party capability that Contacts offers to other modules. |
|
contacts/interfaces/vendor
Package vendor declares the vendor capability that Contacts offers to other modules.
|
Package vendor declares the vendor capability that Contacts offers to other modules. |
|
core/usagecheck
Package usagecheck asks the modules that reference a resource whether it is still in use, before the module owning it deletes it.
|
Package usagecheck asks the modules that reference a resource whether it is still in use, before the module owning it deletes it. |
|
dynamicresource/composable
Package composable is the successor of package engine.
|
Package composable is the successor of package engine. |
|
essential/domain/settings
Package settings holds Essential's settings schemas.
|
Package settings holds Essential's settings schemas. |
|
essential/dynamicengines
Package dynamicengines declares the resource onions the Essential module serves through the composable resource engine, and registers them into the dependency container during the module's Init().
|
Package dynamicengines declares the resource onions the Essential module serves through the composable resource engine, and registers them into the dependency container during the module's Init(). |
|
essential/infra/external
Package external binds Essential's local ports to the services other modules publish.
|
Package external binds Essential's local ports to the services other modules publish. |
|
essential/interfaces/currency
Package currency declares the currency capability that Essential offers to other modules.
|
Package currency declares the currency capability that Essential offers to other modules. |
|
essential/interfaces/uom
Package uom declares the UoM capability that Essential offers to other modules.
|
Package uom declares the UoM capability that Essential offers to other modules. |
|
essential/interfaces/uomcat
Package uomcat declares the UoM Category resource's layers.
|
Package uomcat declares the UoM Category resource's layers. |
|
iam/domain/settings
Package settings holds iam's settings schemas.
|
Package settings holds iam's settings schemas. |
|
iam/dynamicengines
Package dynamicengines declares the resource engines the IAM module serves through the dynamic resource engine, and creates them during the module's Init().
|
Package dynamicengines declares the resource engines the IAM module serves through the dynamic resource engine, and creates them during the module's Init(). |
|
inventory/app
Package app holds the Inventory operations that span more than one domain service.
|
Package app holds the Inventory operations that span more than one domain service. |
|
inventory/domain/services
The only raw SQL in the Inventory module, a deliberate exception to the engine-first rule: reserving stock safely requires SELECT ...
|
The only raw SQL in the Inventory module, a deliberate exception to the engine-first rule: reserving stock safely requires SELECT ... |
|
inventory/dynamicengines
Package dynamicengines declares the resource onions the Inventory module serves through the composable resource engine, and registers them into the dependency container during the module's Init().
|
Package dynamicengines declares the resource onions the Inventory module serves through the composable resource engine, and registers them into the dependency container during the module's Init(). |
|
inventory/infra/external
Package external binds Inventory's outbound ports to the services other modules and the core publish.
|
Package external binds Inventory's outbound ports to the services other modules and the core publish. |
|
inventory/infra/external/message
Package message speaks the broker's protocol for Inventory's integration event port.
|
Package message speaks the broker's protocol for Inventory's integration event port. |
|
inventory/interfaces/external
Package external declares the ports Inventory consumes from other modules.
|
Package external declares the ports Inventory consumes from other modules. |
|
inventory/interfaces/message
Package message is the port for Inventory's outbound integration events.
|
Package message is the port for Inventory's outbound integration events. |
|
inventory/interfaces/product
Package product is the Inventory module's cross-module port: the only Products capability other modules bind to.
|
Package product is the Inventory module's cross-module port: the only Products capability other modules bind to. |
|
inventory/interfaces/stock
Package stock is the port onto what Stock knows about a location.
|
Package stock is the port onto what Stock knows about a location. |
|
inventory/interfaces/warehouse
Package warehouse is the contract for Warehouse operations spanning more than one resource: writes that touch a warehouse and its locations together, plus the flow reads the Stock movement engine plans against.
|
Package warehouse is the contract for Warehouse operations spanning more than one resource: writes that touch a warehouse and its locations together, plus the flow reads the Stock movement engine plans against. |
|
jobscheduler
Package jobscheduler runs recurring jobs registered by other modules.
|
Package jobscheduler runs recurring jobs registered by other modules. |
|
jobscheduler/domain/services
Package services holds the scheduling engine and the rules it applies.
|
Package services holds the scheduling engine and the rules it applies. |
|
jobscheduler/infra/repository
This file contains the only raw SQL in the Job Scheduler, and it is a deliberate exception to the engine-first rule in docs/wiki/07 §6.7 rather than drift.
|
This file contains the only raw SQL in the Job Scheduler, and it is a deliberate exception to the engine-first rule in docs/wiki/07 §6.7 rather than drift. |
|
notification/domain/settings
Package settings holds Notification's settings schemas.
|
Package settings holds Notification's settings schemas. |
|
notification/dynamicengines
Package dynamicengines declares the resource onions the Notification module serves through the composable resource engine, and registers them into the dependency container during the module's Init().
|
Package dynamicengines declares the resource onions the Notification module serves through the composable resource engine, and registers them into the dependency container during the module's Init(). |
|
notification/infra/external
Package external binds Notification to the infrastructure and to other modules.
|
Package external binds Notification to the infrastructure and to other modules. |
|
notification/infra/external/channels
Package channels holds the distribution channels themselves.
|
Package channels holds the distribution channels themselves. |
|
notification/interfaces/delivery
Package delivery declares the contracts for raising and reading notifications.
|
Package delivery declares the contracts for raising and reading notifications. |
|
notification/transport/cqrs
Package cqrs receives the commands other modules dispatch into Notification.
|
Package cqrs receives the commands other modules dispatch into Notification. |
|
paymentinvoice
Package paymentinvoice takes payments through the payment gateways the business has contracts with, and issues the invoices that account for them.
|
Package paymentinvoice takes payments through the payment gateways the business has contracts with, and issues the invoices that account for them. |
|
paymentinvoice/app
Package app holds the payment module's background work: notifying the ordering system that a payment settled, and the sweeps that recover orders no callback ever arrived for.
|
Package app holds the payment module's background work: notifying the ordering system that a payment settled, and the sweeps that recover orders no callback ever arrived for. |
|
paymentinvoice/domain/services
Package services holds the rules of the Payment & Invoice module: what may be paid, what may be refunded, and what state an order is left in when a gateway answers.
|
Package services holds the rules of the Payment & Invoice module: what may be paid, what may be refunded, and what state an order is left in when a gateway answers. |
|
paymentinvoice/dynamicengines
Package dynamicengines declares the resource engines the Payment & Invoice module serves through the dynamic resource engine, and creates them during the module's Init().
|
Package dynamicengines declares the resource engines the Payment & Invoice module serves through the dynamic resource engine, and creates them during the module's Init(). |
|
paymentinvoice/infra/external/event
Package event publishes this module's announcements on the internal Watermill bus.
|
Package event publishes this module's announcements on the internal Watermill bus. |
|
paymentinvoice/infra/gateway
Package gateway builds the gateway registry this deployment will actually serve payments through, from configuration.
|
Package gateway builds the gateway registry this deployment will actually serve payments through, from configuration. |
|
paymentinvoice/infra/gateway/momo
Package momo talks to MoMo, a Vietnamese e-wallet.
|
Package momo talks to MoMo, a Vietnamese e-wallet. |
|
paymentinvoice/infra/gateway/mpos
Package mpos talks to mPOS (NextPay), which drives a physical card terminal.
|
Package mpos talks to mPOS (NextPay), which drives a physical card terminal. |
|
paymentinvoice/infra/gateway/vietqr
Package vietqr talks to VietQR, which settles bank transfers made by scanning a QR code.
|
Package vietqr talks to VietQR, which settles bank transfers made by scanning a QR code. |
|
paymentinvoice/interfaces/event
Package event is what this module announces to the rest of the build when an order reaches a verdict.
|
Package event is what this module announces to the rest of the build when an order reaches a verdict. |
|
paymentinvoice/interfaces/gateway
Package gateway declares what a payment gateway must be able to do, and nothing about how any particular one does it.
|
Package gateway declares what a payment gateway must be able to do, and nothing about how any particular one does it. |
|
paymentinvoice/interfaces/invoice
Package invoice is the Payment & Invoice module's port for raising a fiscal document on behalf of another module.
|
Package invoice is the Payment & Invoice module's port for raising a fiscal document on behalf of another module. |
|
paymentinvoice/interfaces/order
Package order is the Payment & Invoice module's port for taking money and giving it back.
|
Package order is the Payment & Invoice module's port for taking money and giving it back. |
|
paymentinvoice/interfaces/paymentmethod
Package paymentmethod is the port through which another module reads this one's payment method master data.
|
Package paymentmethod is the port through which another module reads this one's payment method master data. |
|
paymentinvoice/transport/restful/v1
Package v1 serves the gateway callbacks.
|
Package v1 serves the gateway callbacks. |
|
purchase
Package purchase covers the procurement cycle from request for quotation to confirmed purchase order.
|
Package purchase covers the procurement cycle from request for quotation to confirmed purchase order. |
|
purchase/domain/services
Package services holds the rules of the Purchase module: the totals recomputation, the order and agreement lifecycles, and the audit trail that records them.
|
Package services holds the rules of the Purchase module: the totals recomputation, the order and agreement lifecycles, and the audit trail that records them. |
|
purchase/domain/services/vendorpricing
Package vendorpricing decides which vendor price applies to a purchase.
|
Package vendorpricing decides which vendor price applies to a purchase. |
|
purchase/dynamicengines
Package dynamicengines declares the resource engines the Purchase module serves, and creates them during Init().
|
Package dynamicengines declares the resource engines the Purchase module serves, and creates them during Init(). |
|
purchase/infra/external
Package external binds Purchase's local ports to the services other modules publish.
|
Package external binds Purchase's local ports to the services other modules publish. |
|
purchase/interfaces/external
Package external declares Purchase's local ports onto the capabilities other modules offer, so that splitting a module into its own process changes only the binding in infra/external.
|
Package external declares Purchase's local ports onto the capabilities other modules offer, so that splitting a module into its own process changes only the binding in infra/external. |
|
sales
Package sales owns the commercial transaction: sales order and lines, pricing and promotion, billing, payment allocation, return and refund.
|
Package sales owns the commercial transaction: sales order and lines, pricing and promotion, billing, payment allocation, return and refund. |
|
sales/app
Package app holds the Sales application services.
|
Package app holds the Sales application services. |
|
sales/domain/services
Package services holds the Sales business rules.
|
Package services holds the Sales business rules. |
|
sales/domain/services/pricing
Package pricing is the sales pricing engine: a pure function from a basket to a priced result.
|
Package pricing is the sales pricing engine: a pure function from a basket to a priced result. |
|
sales/domain/settings
Package settings holds Sales' settings schemas.
|
Package settings holds Sales' settings schemas. |
|
sales/dynamicengines
Package dynamicengines declares the resource engines the Sales module serves, and creates them during Init().
|
Package dynamicengines declares the resource engines the Sales module serves, and creates them during Init(). |
|
sales/event_handlers
Package eventhandlers acts on the events Sales subscribes to.
|
Package eventhandlers acts on the events Sales subscribes to. |
|
sales/infra/external
Package external binds Sales' local ports to the services other modules publish.
|
Package external binds Sales' local ports to the services other modules publish. |
|
sales/infra/external/invoicing
Package invoicing binds Sales' fiscal-document port to whoever issues the documents.
|
Package invoicing binds Sales' fiscal-document port to whoever issues the documents. |
|
sales/infra/external/message
Package message speaks the broker's protocol for Sales' integration event port.
|
Package message speaks the broker's protocol for Sales' integration event port. |
|
sales/infra/repository
Package repository holds the Sales repositories.
|
Package repository holds the Sales repositories. |
|
sales/interfaces/billing
Package billing declares the commands the scheduler dispatches into Sales.
|
Package billing declares the commands the scheduler dispatches into Sales. |
|
sales/interfaces/catalog
Package catalog declares the layers of the Sales catalogue resources: the fulfillment methods, channels and points a sale happens through, and the pricelists and combos it is priced by.
|
Package catalog declares the layers of the Sales catalogue resources: the fulfillment methods, channels and points a sale happens through, and the pricelists and combos it is priced by. |
|
sales/interfaces/channel
Package channel is Sales' outward-facing contract for sales channels and sales points.
|
Package channel is Sales' outward-facing contract for sales channels and sales points. |
|
sales/interfaces/event
Package event declares what Sales listens for on the internal event bus.
|
Package event declares what Sales listens for on the internal event bus. |
|
sales/interfaces/external
Package external declares Sales' local ports onto the capabilities other modules offer, so splitting a module into its own process changes only the binding in infra/external.
|
Package external declares Sales' local ports onto the capabilities other modules offer, so splitting a module into its own process changes only the binding in infra/external. |
|
sales/interfaces/external/invoicing
Package invoicing is Sales' port onto the issuing of legal fiscal documents.
|
Package invoicing is Sales' port onto the issuing of legal fiscal documents. |
|
sales/interfaces/fiscal
Package fiscal declares the layers of the resources that turn a sale into a legal document: the request for an invoice, the instruction that says how to bill, and the record of each issuance attempt.
|
Package fiscal declares the layers of the resources that turn a sale into a legal document: the request for an invoice, the instruction that says how to bill, and the record of each issuance attempt. |
|
sales/interfaces/fulfillment
Package fulfillment declares the layers of the resources that carry out a sale: the fulfillment a confirmed order owes, the attempts made against it, and the record of a target being moved.
|
Package fulfillment declares the layers of the resources that carry out a sale: the fulfillment a confirmed order owes, the attempts made against it, and the record of a target being moved. |
|
sales/interfaces/integration
Package integration declares the layers of the two records Sales keeps about itself: the manual discounts granted on an order, and the outbox of integration events other systems consume.
|
Package integration declares the layers of the two records Sales keeps about itself: the manual discounts granted on an order, and the outbox of integration events other systems consume. |
|
sales/interfaces/message
Package message is the port for Sales' outbound integration events.
|
Package message is the port for Sales' outbound integration events. |
|
sales/interfaces/order
Package order is Sales' port for raising and settling an order from another module in-process.
|
Package order is Sales' port for raising and settling an order from another module in-process. |
|
sales/interfaces/promotion
Package promotion declares the layers of the promotion and voucher resources: the programs a discount is defined by, the conditions and rewards that shape it, and the voucher codes and redemption ledger that track its use.
|
Package promotion declares the layers of the promotion and voucher resources: the programs a discount is defined by, the conditions and rewards that shape it, and the voucher codes and redemption ledger that track its use. |
|
sales/interfaces/quotation
Package quotation declares the layers of the quotation resources: the offer a customer is given before it becomes a sale, and the lines it quotes.
|
Package quotation declares the layers of the quotation resources: the offer a customer is given before it becomes a sale, and the lines it quotes. |
|
sales/interfaces/returns
Package returns declares the layers of the return and refund resources: the customer's request to send goods back, the lines it covers, and the money paid back against it.
|
Package returns declares the layers of the return and refund resources: the customer's request to send goods back, the lines it covers, and the money paid back against it. |
|
sales/transport/cqrs
Package cqrs receives the commands the scheduler dispatches into Sales.
|
Package cqrs receives the commands the scheduler dispatches into Sales. |
|
sales/transport/event
Package eventtransport subscribes Sales to the internal event bus and dispatches each event to the handler registered for its type.
|
Package eventtransport subscribes Sales to the internal event bus and dispatches each event to the handler registered for its type. |
|
sales/transport/restful/v1
Package v1 serves the Sales resources over HTTP.
|
Package v1 serves the Sales resources over HTTP. |
|
settings
Package settings gives every feature module one place to declare its configuration and have it stored, resolved and rendered, instead of each building its own settings table.
|
Package settings gives every feature module one place to declare its configuration and have it stored, resolved and rendered, instead of each building its own settings table. |
|
settings/dynamicengines
Package dynamicengines declares the resource engines the Settings module serves through the dynamic resource engine, and creates them during the module's Init().
|
Package dynamicengines declares the resource engines the Settings module serves through the dynamic resource engine, and creates them during the module's Init(). |
|
settings/interfaces/settings
Package settings declares the capabilities the Settings module exposes to the rest of the application: schema registration, and the per-level read and write of setting values.
|
Package settings declares the capabilities the Settings module exposes to the rest of the application: schema registration, and the per-level read and write of setting values. |
Click to show internal directories.
Click to hide internal directories.