Clarify backend data pipeline naming concepts (importers, processors, materializers, calculators, and syncers) #2255
Reference in New Issue
Block a user
Delete Branch "zachgoll/clarify-sync-concepts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Maybe app heavily relies on data providers/aggregators, which includes, but is not limited to:
As this domain has continued to expand, the concepts and naming have started to become blurry. This PR is purely a renaming exercise to make the backend "ETL" processes clearer and easier to follow.
At time of writing, the list below represents the core concepts we're using; each with standardized naming conventions to express specific intents:
ExchangeRate::ImporterPlaidAccount::Processorto turn a Plaid account into an internalAccountentityTransaction,Trade) and uses them to build a "materialized view" (application-level, not DB-level)Holding::Materializergenerates daily holdings based onTradeentries of anAccountBalance::ForwardCalculatorgenerates a series of account balances by applying entries chronologicallySyncableand generates aSyncrow in the database