Commit eb6380b7 authored by Niall McDaid's avatar Niall McDaid
Browse files

SMG architecture section

parent 042f264a
......@@ -15,6 +15,8 @@
- [Branching](#branching)
- [Merge Requests](#merge-requests)
- [Package Deployment and Installation](#package-deployment-and-installation)
- [setup.py](#setuppy)
- [Adding New Dependencies](#adding-new-dependencies)
- [Install from Repository Source](#install-from-repository-source)
- [Publish to the Package Registry](#publish-to-the-package-registry)
- [Automated Steps](#automated-steps)
......@@ -89,8 +91,15 @@ pytest
## Architecture
Can be a brief section.
Include a listing of the purposes of modules in here.
The system can be understood to be formed of a series of "layers":
- **Command Interface:** Top level code related to the CLI (e.g. `wbdutil.py` file).
- **Command Processors:** Action the commands called from the CLI and call the service layer.
- **Service Layer:** Main business logic, including data mapping.
- **OSDU and OS Wrappers:** Connect to and call OSDU APIs as well as file reading.
- **Common:** Code used throughout all other layers (e.g. config definition, custom exceptions, utilities).
- **Test Code:** Unit tests for the code.
![Wellbore DDMS Data Loader Architecture](images/architecture-data-loader.png)
## Repository Structure
......@@ -104,9 +113,16 @@ Within the `src` folder:
- `Pipfile` file - pipfile for managing virtual environment
#### wbdutil
The `wbdutil` contains the entry point for the command line application (`wbdutil.py`), a range of supporting modules and a `commands` directory.
All supporting modules are documented using docstrings. The `commands` directory includes a file for each of the command groups available to the user. Within these files all commands are defined.
The `wbdutil` directory contains the entry point for the command line application (`wbdutil.py`) and a range of supporting modules as defined in the [Architecture](#architecture) section above. It is structured as follows:
```
wbdutil/
|--- wdbutil.py
|--- commands/
|--- common/
|--- service/
|--- wrapper/
```
All supporting modules within the directories defined above are documented using docstrings.
## Branching and Merge Policies
......
<mxfile host="Electron" modified="2022-03-09T11:19:05.384Z" agent="5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="CAdpSeD2na2DaKL-Zz5w" version="14.1.8" type="device"><diagram id="N4hjGRzpWYw_M2NuAcfk" name="Page-1">7ZrbcpswEIafxpfpAAJsX6ZOephJO5lxMmmuOopRgFawVMg27tNXsoWxLDuhjTHU4yuzqwPS/voWJNxDo6T4yHAWfYGA0J5jBUUPXfUcx0aOL36kZ7HyDCzlCFkcqEqVYxz/JsppKe80DkiuVeQAlMeZ7pxAmpIJ13yYMZjr1Z6B6nfNcEgMx3iCqel9iAMeqVl4VuX/ROIwKu9sW6okwWVl5cgjHMB8w4Wue2jEAPjqKilGhMrglXFZtfuwp3Q9MEZSXqdBcR8hsIdXd/jidk6+D/zH8dcL11WD44tyxiQQAVAmMB5BCCmm15X3PYNpGhDZrSWsqs4NQCactnD+IJwvlJp4ykG4Ip5QVUqKmH+Tzd95ynpUncnrq2LTWJRGytlio5E0H8v+pFE1W1plu9X85KT2xk25cpiyCXkpWI5agJiFhL9QEflrfQUYBBIiRiQaMkIxj2f6SLBaoeG6XiWiuFA6/o2mapgzTKfqVobIuoTzKOZknOHl7OcCZF2u55jSEVBgwk4hlUtgvZirEM8I46R4OchmSFQDNFCULMrEoex5BZ3nK1+0AZxTknjwMNo7ouhTLuMBYlKb4fR/TaEsuMiXq/5SVLDdrKgKxVUof0eQJJCWfYmhrbpbFb5NqAMI4Vu6EMgyhbCdHUL4TemAvO6kKPufUpR1vBSFamaoPYvgOAkKNUTWgwAiIyzvKluDLbZsr3W2bCMoR2TL3iCr4uw1tjSyKtCO8Piv+/Rvla0OvdB1PlvWVbTVbOk2lC3HhM1iER7HusELwrqaNLdfSNpPms4ZsfqIef8DYsjcIJ0fg29V1G1TUa+hpCk3bzgNRPktgwnJc+ju66bbvcx5ft2sz5lfkzOvTc78xjn7nHLCniUmHcXM6R5mlhGUM2b7gtWviVmrR7r9t2M22IVZ2ctT6bjPtZ3A03bF1+ATGHF9WeScwU+ydXy840QZ0zhMhTkhEnjhkFDGE0wvVUESB8Fype5CWl+9B3l46lD7JtS7jqPdxk6jB8YSEG8gs+XHMdE0zab8dMWwa6TY4a6PA42pMTTUGGFK89OVADmvSzA4pgSOmRNF8jphBbzOKWBCcOIKDHUFnH69h0JjCiDzS8ppK9DvGgOoqQ3QHcll6xEEnd34bJ/MOm3ve1zz1EeG8YR58G1dgqFnSOAdBgdhVn9VWpZt/OELXf8B</diagram></mxfile>
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment