mountain-pass/addressr

View on GitHub
addressr-arch.txt

Summary

Maintainability
Test Coverage
<pre>                                                                                          
                             ┌──────────────────┐                                         
                1. Get       │                  │                                         
          ┌──────G-NAF──────▶│   data.gov.au    │                                         
          │                  │                  │                                         
          │                  └──────────────────┘                                         
          │                       .─────────.                                             
          │                      (           )                                            
 ┌────────────────┐              │`─────────'│                                            
 │................│ 2. Save and  │           │                                            
 │.address-loader.│───extract───▶│filesystem │                                            
 │................│    G-NAF     │           │                                            
 └────────────────┘              └           ┘                                            
          │                       `─────────'                                             
          │                       .─────────.                                             
          │                      (           )                                            
          │                      │`─────────'│              ┌───────────────────────┐     
          │      3a. Index       │  elastic  │     Search   │.......................│     
          ├────────G-NAF────────▶│  search   │◀──Addresses──│◀───────────────────┐..│     
                  records        │           │              │....................│..│     
                                 └           ┘              │....................│..│     
                                  `─────────'               │....................│..│     
                                                            │....addressr-server.│..│     
                                                            │....................│..│     
                                                            │....................│..│     
                 3b. Store       │           │      Get     │....................│..│     
           ────────G-NAF────────▶│  mongodb  │◀───Address───│◀──┐................│..│     
                  Records        │           │    Details   │...│................│..│     
                                 └           ┘              └───┴────────────────┴──┘     
                                  `─────────'                   ▲                ▲        
                                                                │                │        
                                                               GET               │        
                                                         /addresses/{ID}         │        
                                                                │               GET       
                                                                │        /addresses?q=... 
                                                                │                │        
                                                             ┌──────────────────────┐     
                                                             │                      │     
                                                             │                      │     
                                                             │        client        │     
                                                             │                      │     
                                                             │                      │     
                                                             └──────────────────────┘     </pre>