Projects/Where Does My Money Go/Store

From Open Knowledge Foundation

Jump to: navigation, search

Contents

WDMMG Store (DB/Backend)

Introduction

With WDMMG we face a significant challenge:

Examples

Use Cases

A Basic Model

See also:

Important properties:

The Model

File:P$$Where Does My Money Go$$Store$domain model.png

We base ourselves on standard accounting model (see below). Core objects are:

For short-hand the Account-Transaction-Posting (double-entry) Model will frequently be abbreviated ATP.

We shall allow arbitrary metadata to be added to this object and others using a keyvalue object:

Source Information

It is essential that we record the "source" for each piece of information in the system. Strictly source can be (at least) two things here:

  1. "Who" entered the data
  2. "Where" (they claimed) it came from in terms of some source dataset (e.g. PESA, CRA ...)

For item 2 see next item on Slices.

Slices

It is often important to record that a given set of ATP are "non-overlapping" (and possibly also "complete"). To do this we shall allow ATP items to be associated to a "Slice". Note that any Account of Transaction may be associated with 1 Slice and one Slice only.

Slice attributes:

Classifiers: Tags, Categories

Given that we have arbitrary metadata it is not clear whether we need separate classifiers.

Classifiers would attach to Accounts and, possibly, transactions. A classifier would have following properties:

Miscellaneous: e.g. User

User interface/API

Open questions

Standard Accounting

'Objects':

More info:

  1. http://homepages.tcp.co.uk/~m-wigley/gc_wp_ded.html
    • good
    • covers representation in sql db
    • journal, posting, account, asset type (£,$,share X ...)
  2. http://www.accountingunplugged.com/2008/09/23/accounting-structure-quick-reference/
    • good
    • uses terminology of ledger, transaction and accounts
  3. http://c2.com/cgi/wiki?AccountingModeling
  4. http://c2.com/cgi/wiki?DoubleEntryBookkeeping
    • also good though rather unorganized

From PESA

Based on an analysis of PESA data have the following 'objects':

Technologies

What technologies do we use in building the store?

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox