Redvant

From Cibernética Americana
Revision as of 12:59, 1 October 2022 by Root (talk | contribs) (→‎Packages)
Jump to navigationJump to search


Précis

Redvant , or 'dcms<' (dcms-bra), is a collective term for software including react and servant within a DCP context and packaged as a reusable resource demonstrated in various applications such as the tl:dr and by the KEE.


"red" could be

react, redis, light in the ~700 nm range, a proper name as in red5, the parfume, riding hood, Malcom X, Simply, etc..

and "vant" is just from haskell-servant.


Use of Apache ISIS or other fat DDD pkg is intended later in the development our overall DDD product line engineering (i.e. a 'redvantis'). Some enterprise users may prefer the java basing of ISIS or an ERP core and these future developments are anticipated after the foundational elements are established.

Requirements

At this time, this § is the sole exposition besides the code of any forks of constituent 3rd party packages in my public github or my original ones in my private git repo.

For pragmatic reasons, it is accounting oriented and doesn't address the full actual scope of use as implied by § 2.2 below, which could be confusing.

Scope

Redvant carries our use of react and related node based stuff generally but here is discussed for the core purpose of transacting and accounting in domain space systems and apps. The transctional UI is actually django templating which could also be confusing.

As such it is deeply integrated with DCMS, DCP, etc. but these interfaces shall not be required in the product and its operation without them is a design requirement.

Design by Doing

The model use cases are the Web KEE SPA and the Ft doorbell, as well as GT2 2.1 and later and the tl:dr product line, in sofar as their front and middle are concerned.

Accounting

Principles

Abstraction and Unity

Ledgers are abstract entities realized differently in different packages but from the perspective of a single accounting ontology.

Unless qualified, 'ledger' means double entry accounting ledger, a fundamental concept conserved across all ledger implementations, the basis of their unification.

Packages

hledger

The user reference ledger, how individuals and groups view their ledger. hledger-web is not duplicated.

ledger

The plaintext reference ledger, how the system views all ledgers. AKA ledgercli, ledger c++, the original that was ported to hledger.

SQL-Ledger / LedgerSMB

The enterprise reference ledger, typical of a firms view of their ledger. Individuals don't normally view this package and it's interface is mod perl based.

Transacting

django-oscar

I chose this pkg because of its claim of being domain driven, supporting DDD. That claim, as it turns out is based on dynamic class loading. So without quibbling and as its sole focus on txing is convenient it turns out to be an early anchor in my DDD praxis anyway.

Provides front end and tx'ing code. We introduce the notion of an ephemeral tx ledger, oriented to a single, possibly complex tx which is connected to the others. Like 'ledger' transaction, 'tx' is defined to be an abstract change to a ledger. The process of application of an real such change to persistent ledgers is called settlement.

Sonstiges

Commonalities

The same boat small form factor common reusable base with ...

  1. DS SSO, messaging, and DCMS API setup for product families.
  2. Videotelephony, defaults to Jitsi.

Deliverables