summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeon Overweel <l.overweel@gmail.com>2017-03-20 13:52:53 +0100
committerGitHub <noreply@github.com>2017-03-20 13:52:53 +0100
commit07abc587fec35122e974ae874070835fc3d35222 (patch)
tree93c70f09607f556fccc6f8c7577261ff50d926ab
parent6e255a200e27bb7ea589f2512e1219490a2266b0 (diff)
Add component diagram and util package to README
-rw-r--r--README.md21
1 files changed, 20 insertions, 1 deletions
diff --git a/README.md b/README.md
index 41c78f6d..f983650c 100644
--- a/README.md
+++ b/README.md
@@ -51,6 +51,25 @@ python opendc-web-server/main.py config.json
## Architecture
-The following diagram shows a high-level view of the architecture of the OpenDC web server.
+The following diagram shows a high-level view of the architecture of the OpenDC web server. Squared-off colored boxes indicate packages (colors become more saturated as packages are nested); rounded-off boxes indicate individual components; dotted lines indicate control flow; and solid lines indicate data flow.
![OpenDC Web Server Component Diagram](https://raw.githubusercontent.com/atlarge-research/opendc-web-server/master/images/opendc-web-server-component-diagram.png)
+
+The OpenDC API is implemented by the `Main Server Loop`, which is the only component in the base package.
+
+### Util Package
+
+The `Util` package handles several miscellaneous tasks:
+
+* `REST`: Parses SockerIO messages into `Request` objects, and calls the appropriate `API` endpoint to get a `Response` object to return to the `Main Server Loop`.
+* `Param Checker`: Recursively checks whether required `Request` parameters are present and correctly typed.
+* `Exceptions`: Holds definitions for exceptions used throughough the web server.
+* `Database API`: Wraps SQLite functionality used by `Models` to read themselves from/ write themselves into the database.
+
+### API Package
+
+[TO DO]
+
+### Models Package
+
+[TO DO]