architecture.md 2.2 KB
Newer Older
Éloïs's avatar
Éloïs committed
1 2
Title: Architecture
Order: 10
Éloïs's avatar
Éloïs committed
3
Date: 2018-03-29
Éloïs's avatar
Éloïs committed
4 5 6
Slug: architecture
Authors: elois

Éloïs's avatar
Éloïs committed
7 8
Duniter-Rust est composé de 3 types de crates : 
* Les bibliothèques
Éloïs's avatar
Éloïs committed
9
* Les plugins
Éloïs's avatar
Éloïs committed
10
* la crate duniter-core
Éloïs's avatar
Éloïs committed
11

Éloïs's avatar
Éloïs committed
12
## Arbre des dépendances
Éloïs's avatar
Éloïs committed
13 14 15 16 17

::uml::

@startuml

Éloïs's avatar
Éloïs committed
18
title Arbre des dépendances
Éloïs's avatar
Éloïs committed
19 20

package "Libraries" {
Éloïs's avatar
Éloïs committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
    package "Level 0" {
        [crypto]
        [wotb]
    }
    package "Level 1" {
        [crypto] ---> [documents]
    }
    package "Level 2" {
        [crypto] ---> [module]
        [documents] ---> [module]
    }
    package "Level 3" {
        [crypto] ---> [conf]
        [module] ---> [conf]
        [crypto] ---> [network]
        [documents] ---> [network]
        [module] ---> [network]
    }
    package "Level 4" {
        [crypto] ---> [dal]
        [documents] ---> [dal]
        [module] ---> [dal]
        [network] ---> [dal]
        [wotb] ---> [dal]
        [crypto] ---> [message]
        [documents] ---> [message]
        [module] ---> [message]
        [network] ---> [message]
        [dal] ---> [message]
    }
Éloïs's avatar
Éloïs committed
51 52
}

Éloïs's avatar
Éloïs committed
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
package "Core" {
    [crypto] ---> [blockchain]
    [wotb] ---> [blockchain]
    [documents] ---> [blockchain]
    [module] ---> [blockchain]
    [conf] ---> [blockchain]
    [network] ---> [blockchain]
    [dal] ---> [blockchain]
    [message] ---> [blockchain]
    [blockchain] ---> [core]
    
    [crypto] ---> [core]
    [module] ---> [core]
    [conf] ---> [core]
    [message] ---> [core]
Éloïs's avatar
Éloïs committed
68 69
}

70
package "DefaultPlugins" {
Éloïs's avatar
Éloïs committed
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
    [crypto] ---> [ws2p]
    [wotb] ---> [ws2p]
    [documents] ---> [ws2p]
    [module] ---> [ws2p]
    [conf] ---> [ws2p]
    [network] ---> [ws2p]
    [dal] ---> [ws2p]
    [message] ---> [ws2p]
    [crypto] ---> [tui]
    [documents] ---> [tui]
    [module] ---> [tui]
    [conf] ---> [tui]
    [network] ---> [tui]
    [dal] ---> [tui]
    [message] ---> [tui]
Éloïs's avatar
Éloïs committed
86 87
}

Éloïs's avatar
Éloïs committed
88
package "OptionalPlugins" {
Éloïs's avatar
Éloïs committed
89
    package "Dasa" {
Éloïs's avatar
Éloïs committed
90 91 92 93 94 95 96 97
        [crypto] ---> [dasa]
        [wotb] ---> [dasa]
        [documents] ---> [dasa]
        [module] ---> [dasa]
        [conf] ---> [dasa]
        [network] ---> [dasa]
        [dal] ---> [dasa]
        [message] ---> [dasa]
Éloïs's avatar
Éloïs committed
98 99 100
    }
}

Éloïs's avatar
Éloïs committed
101 102 103 104 105 106 107
package "Main" {
    [core] ---> [main]
    [tui] ---> [main]
    [ws2p] ---> [main]
    [dasa] ---> [main]
}

Éloïs's avatar
Éloïs committed
108 109
@enduml

Éloïs's avatar
Éloïs committed
110
::end-uml::