diff --git a/doc/uml/api.png b/doc/uml/api.png index f557d71281f747f665355c62849852fd427b0826..3a81019dba4da9fba38e2b7e1fab6f4097e17177 100644 Binary files a/doc/uml/api.png and b/doc/uml/api.png differ diff --git a/doc/uml/backend.pu b/doc/uml/backend.pu new file mode 100644 index 0000000000000000000000000000000000000000..6fbdcb723a2a6cb77e39a66b5059346db853f00e --- /dev/null +++ b/doc/uml/backend.pu @@ -0,0 +1,242 @@ +@startuml + + +class Identity << (D,orchid) >> { + currency: str (FK) + uid: str + pubkey: str (PK) + blockstamp: BlockUID + timestamp: int + signature: str + member: bool + membership_buid: BlockUID + membership_timestamp: int +} + +class Certification << (D,orchid) >> { + currency: str (FK) + certifier: str + certified: str + blockstamp: BlockUID + timestamp: int + signature: str +} + +class Transaction << (D,orchid) >> { + currency: str (FK) + blockstamp: str + locktime: int + issuer: str + recipient: str + amount: int + comment: str + sha_hash: str (PK) +} + +class Community << (D,orchid) >> { + profile: str (FK) + pubkey: str (FK) + currency: str (PK) + c: float + dt: int + ud0: int + sig_period: int + sig_stock: int + sig_window: int + sig_validity: int + sig_qty: int + xpercent: float + ms_validity: int + step_max: int + median_time_blocks: int + avg_gen_time: int + dt_diff_eval: int + blocks_rot: int + percent_rot: float +} + +class Blockchain << (D,orchid) >> { + currency: str (PK) + current_buid: BlockUID + nb_members: int + mass: int + median_time: int + last_ud: int + last_ud_base: int + mass_minus_1: int + ud_minus_1: int + ud_minus_1_base: int +} + +class Node << (D,orchid) >> { + currency: str (FK) + endpoints: str + uid: str + pubkey: str (PK) + current_buid: BlockUID + previous_buid: BlockUID + state: int + software: str + version: str + merkle_nodes: dict +} + +class Key << (D,orchid) >> { + pubkey: str (PK) + salt: str +} + +class UserParameters << (D,orchid) >> { + profile: str (PK) + lang: str + ref: 0 + expert_mode: bool, + digits_after_comma: int + maximized: bool + notifications: bool + enable_proxy: bool + proxy_type: int + proxy_address: str + proxy_port: 8080: int + international_system_of_units: bool + auto_refresh: bool + forgetfulness: bool +} + + + + + + + + +class IdentitiesRepo << (R,orange) >> { + Commit() + Update() + Save() + Drop() +} +IdentitiesRepo "1" --* "*" Identity + +class CertificationRepo << (R,orange) >> { + Commit() + Update() + Save() + Drop() +} +CertificationRepo "1" --* "*" Certification + +class TransactionRepo << (R,orange) >> { + Commit() + Update() + Save() + Drop() +} +TransactionRepo "1" --* "*" Transaction + +class CommunityRepo << (R,orange) >> { + Commit() + Update() + Save() + Drop() +} +CommunityRepo "1" --* "*" Community + +class BlockchainRepo << (R,orange) >> { + Create() + Update() + Save() + Drop() +} +BlockchainRepo "1" --* "*" Blockchain + +class NodeRepo << (R,orange) >> { + Create() + Update() + Save() + Drop() +} +NodeRepo "1" --* "*" Node + +class KeyRepo << (R,orange) >> { + Create() + Update() + Save() + Drop() +} +KeyRepo "1" --* "*" Key + +class UserParametersRepo << (R,orange) >> { + Create() + Update() + Save() + Drop() +} +UserParametersRepo "1" --* "*" UserParameters + + + + + + + + + +class ProfileService << (S,cyan) >> { + add_connection() + remove_connection() + +} +ProfileService "1" --> "1" UserParameters +ProfileService "*" --> "1" UserParametersRepo + +class AccountService << (S,cyan) >> { + send_transaction() + send_certification() + send_membership() + send_identity() + send_revokation() +} +AccountService "1" --> "1" Key +AccountService "*" --> "1" KeyRepo + +class TransactionsService << (S,cyan) >> { + refresh_transactions() + rollback_transactions() +} +TransactionsService "1" --> "*" Transaction +TransactionsService "*" --> "1" TransactionRepo + +class RegistryService << (S,cyan) >> { + get_identity() + get_certifiers_of() + get_certified_by() +} +RegistryService "1" --> "*" Identity +RegistryService "1" --> "*" Certification +RegistryService "*" --> "1" IdentitiesRepo +RegistryService "*" --> "1" CertificationRepo + +class NetworkService << (S,cyan) >> { + discover_network() +} +NetworkService "1" --> "*" Node +NetworkService "*" --> "1" NodeRepo + +class BlockchainService << (S,cyan) >> { + receive_block() +} +BlockchainService "1" --> "1" Blockchain +BlockchainService "1" --> "1" Community +BlockchainService "*" --> "1" BlockchainRepo +BlockchainService "*" --> "1" CommunityRepo + +package API { + class BMAService << (S,cyan) >> { + get() + post() + broadcast() + } +} + +@enduml \ No newline at end of file diff --git a/doc/uml/core-classes.png b/doc/uml/core-classes.png index 54e0d69e92bc3200fa7bcd1bc6d2458cad95ff81..c240a11d209c9ba14f4a09b21f32764a2d0b4f81 100644 Binary files a/doc/uml/core-classes.png and b/doc/uml/core-classes.png differ diff --git a/doc/uml/cutecoin.png b/doc/uml/cutecoin.png index 417230847dec853471dc5e7a618273d5be5e898b..a696823d4d233136f33aea233b724520d3dd3c3a 100644 Binary files a/doc/uml/cutecoin.png and b/doc/uml/cutecoin.png differ diff --git a/doc/uml/gui-classes.png b/doc/uml/gui-classes.png index e00da1f229639c06e0ee5f201ea8d1d7e487f111..50e4bf2e1e27896ff3c5f36c72dca940f781589c 100644 Binary files a/doc/uml/gui-classes.png and b/doc/uml/gui-classes.png differ diff --git a/doc/uml/models-classes.png b/doc/uml/models-classes.png index 5833c6ecaf2c4c1b57601a5c682bdb941c2a61ea..3ef003769f0760c9afc07286a52a2b5335171bbf 100644 Binary files a/doc/uml/models-classes.png and b/doc/uml/models-classes.png differ diff --git a/doc/uml/network.png b/doc/uml/network.png index c31386d981219956b30d8dc291e48fd9d69c4745..e81d0b329a732f21d17e3aaa4ca01653a57227c1 100644 Binary files a/doc/uml/network.png and b/doc/uml/network.png differ diff --git a/doc/uml/requests.png b/doc/uml/requests.png index 85339a6ae644809ea4836ee4c109da64144f3e71..b5ea60e12381b00694c690c6570cc04389d43ce4 100644 Binary files a/doc/uml/requests.png and b/doc/uml/requests.png differ diff --git a/doc/uml/tx_lifecycle.png b/doc/uml/tx_lifecycle.png index 7f7102c0cac56b9a5aafa90498611f8caa9df429..4e4f73e1421db6aaf76b2e0438582ae009c025aa 100644 Binary files a/doc/uml/tx_lifecycle.png and b/doc/uml/tx_lifecycle.png differ