Skip to content

Commit

Permalink
Add miminal internal documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
moio committed Jun 18, 2020
1 parent e36f661 commit 710a5e5
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 0 deletions.
8 changes: 8 additions & 0 deletions DESIGN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Design considerations

- this app tries to conform to the [Twelve Factor-App](https://12factor.net/) manifesto
- [currently with a known limitation according to principle VI](https://github.com/uyuni-project/hub-xmlrpc-api/issues/56)
- this app's code is structured according to the [Clean Code Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)
- this app fundamentally implements a [Gorilla](https://www.gorillatoolkit.org/) XMLRPC Server to serve its API
- it uses [kolo/xmlrpc](https://github.com/kolo/xmlrpc) as the XMLRPC client library to consume other XMLRPC APIs
- major packages contain a README.md file with a high-level explanation of its contents
3 changes: 3 additions & 0 deletions controller/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Controllers are called by the Codec Gorilla component and marshal/unmarshal requests and responses to functions in the gaeway package. There is one Controller per supported method or namespace.

Functions in the gateway package actually implement that method or namespace's functionality.
1 change: 1 addition & 0 deletions controller/parser/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Parsers validate parameters to individual XMLRPC methods/namespaces supported by this app, each being implemented by the Controller with the same name.
1 change: 1 addition & 0 deletions gateway/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Functions in this package implement supported XMLRPC methods/namespaces, and they are normally called by Controllers.
1 change: 1 addition & 0 deletions session/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Implementation of backing storage for session data.
1 change: 1 addition & 0 deletions uyuni/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Implementation of functions specific to Uyuni.

0 comments on commit 710a5e5

Please sign in to comment.