Skip to content

Commit

Permalink
docs(blueprint): update specifications
Browse files Browse the repository at this point in the history
  • Loading branch information
KennethTrecy committed Aug 7, 2023
1 parent 958c0c4 commit f25f949
Showing 1 changed file with 83 additions and 71 deletions.
154 changes: 83 additions & 71 deletions blueprint/specifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,88 +5,100 @@ These are set of sections containing the specific details derived from the gener
This section contains details of every entity in the system. Each entity is assumed to have
timestamps and can be soft-deleted.

If there are numerical values denoting the financial amount, they should be string to retain the accuracy of the values.
If there are numerical values denoting the financial amount, they should be string to retain the
accuracy of the values.

Only the email is the minimum required to distinguish the users from each other. The authentication
mechanism is dependent to the developer's preference.

1. A user has the following information:
- Primary ID
- Email
- Primary ID
- Email
2. A currency has the following information:
- Primary ID
- User ID
- Code
- Name
- Primary ID
- User ID
- Code
- Name
3. An account has the following information:
- Primary ID
- Currency ID
- Name
- Description (optional)
- Kind (enumeration)
- Unknown (to represent kinds in later versions in case the user downgraded)
- Asset
- Liability
- Equity
- Expense
- Income
- Primary ID
- Currency ID
- Name
- Description (optional)
- Kind (enumeration)
- Unknown (to represent kinds in later versions in case the user downgraded)
- Asset
- Liability
- Equity
- Expense
- Income
4. An event has the following information:
- Primary ID
- User ID
- Name
- Description (optional)
- Kind (enumeration)
- Unknown (to represent kinds in later versions in case the user downgraded)
- Timeout
- Interval
- Manual
- Primary ID
- User ID
- Name
- Description (optional)
- Kind (enumeration)
- Unknown (to represent kinds in later versions in case the user downgraded)
- Timeout
- Interval
- Manual
5. A timeout event has the following information:
- Primary ID
- Event ID
- Expiration date and time
- Primary ID
- Event ID
- Expiration date and time
6. An interval event has the following information:
- Primary ID
- Event ID
- Schedule as CRON expression
- Primary ID
- Event ID
- Schedule as CRON expression
7. An event started time has the following information:
- Primary ID
- Event ID
- Started time
- Primary ID
- Event ID
- Started time
8. A modifier has the following information:
- Primary ID
- Account ID
- Opposite account ID
- Name
- Description (optional)
- Result Side
- Debit
- Credit
- Kind (enumeration)
- Unknown (to represent kinds in later versions in case the user downgraded)
- Reactive
- Dependent
- Manual Input
- Primary ID
- Account ID
- Opposite account ID
- Name
- Description (optional)
- Result Side
- Debit
- Credit
- Kind (enumeration)
- Unknown (to represent kinds in later versions in case the user downgraded)
- Reactive
- Dependent
- Manual Input
9. A reactive modifier has the following special information:
- Primary ID
- Modifier ID
- Event ID
- Operation
- Unknown (to represent kinds in later versions in case the user downgraded)
- Adder
- Multiplier
- Value
10. A dependent modifier should not loop back to themselves to prevent infinite loop. It has the following special information:
- Primary ID
- Modifier ID
- Parent modifier ID
- Operation
- Unknown (to represent kinds in later versions in case the user downgraded)
- Adder
- Multiplier
- Value
- Primary ID
- Modifier ID
- Event ID
- Operation
- Unknown (to represent kinds in later versions in case the user downgraded)
- Adder
- Multiplier
- Value
10. A dependent modifier should not loop back to themselves to prevent infinite loop. It has the
following special information:
- Primary ID
- Modifier ID
- Parent modifier ID
- Operation
- Unknown (to represent kinds in later versions in case the user downgraded)
- Adder
- Multiplier
- Value
11. A financial entry has the following information:
- Primary ID
- Modifier ID
- Debit Amount
- Credit Amount
- Remarks
- Primary ID
- Modifier ID
- Debit Amount
- Credit Amount
- Remarks
12. A frozen period has the following information:
- Primary ID
- User ID
- Started date and time
- Finished date and time
13. A summary calculation has the following information:
- Primary ID
- Frozen Period ID
- Debit Amount
- Credit Amount

0 comments on commit f25f949

Please sign in to comment.