aboutsummaryrefslogtreecommitdiffstats
path: root/docs/architecture
diff options
context:
space:
mode:
authorRene Robert <rene.robert@orange.com>2018-03-28 09:55:53 +0000
committerRene Robert <rene.robert@orange.com>2018-03-28 09:55:53 +0000
commit7afe844fb9f4171697ff5b82b86b2161ffbf2a78 (patch)
tree53be0e7b7608ce8cc76e8cd86525adcc54ca65f9 /docs/architecture
parent96edbb638b5a3cac22ca17d2cc6537f57a688bd4 (diff)
add API documentations
Issue-ID: EXTAPI-40 Change-Id: If700a2e2700f7c19e22c8f5d11ddf425eb0075a5 Signed-off-by: Rene Robert <rene.robert@orange.com>
Diffstat (limited to 'docs/architecture')
-rw-r--r--docs/architecture/NBI_R1_Developer_Guide.rst62
1 files changed, 62 insertions, 0 deletions
diff --git a/docs/architecture/NBI_R1_Developer_Guide.rst b/docs/architecture/NBI_R1_Developer_Guide.rst
new file mode 100644
index 0000000..06a2ed7
--- /dev/null
+++ b/docs/architecture/NBI_R1_Developer_Guide.rst
@@ -0,0 +1,62 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2018 ORANGE
+
+
+============
+NBI - Developer Guide
+============
+***************
+Introduction
+***************
+
+NBI is a Java 8 web application built over Spring Framework. Using Spring Boot 1.5.10 dependencies, it runs as a standalone application with an embedded Tomcat server.
+
+***************
+Dependencies
+***************
+This project use various framework which are managed with Maven dependency management tool (see *pom.xml* file at root level) :
+
+- Swagger annotations
+- `Spring Framework <https://github.com/spring-projects/spring-boot>`_
+- `JOLT <https://github.com/bazaarvoice/jolt>`_ to perform JsonToJson transformation
+- `FasterXML/Jackson <https://github.com/FasterXML/jackson>`_ to perform JSON parsing
+- `Wiremock <https://github.com/tomakehurst/wiremock>`_ to perform testing over HTTP mocked response
+
+
+***************
+Configuration
+***************
+A configuration file, *src/main/resources/application.properties* list all the component interface that can be configured depending on the environment were the app is deployed.
+By default, the application runs with an embedded MySQL H2 Database and a MongoDB local instance.
+This file also list configurations of all the REST interface maid from NBI to other ONAP component such as SDC, AA&I and SO.
+
+***************
+Source tree
+***************
+This application provides ServiceOrder, ServiceCatalag and ServiceInventory as main functional resources and HealthCheck. Each resource is implemented independently in a package corresponding to its name.
+
+*commons , configuration, and exceptions* are shared technical classes that provided for all the application.
+
+
+***************************************
+Running and testing the application
+***************************************
+
+**Locally**
+
+Ensure that you have a MongoDB instance running and configured in *application.properties* file.
+Run *Application.java* class in your favorite IDE
+
+Or through a terminal, ensure that your maven installation is works and run *mvn spring-boot:run* command to start the appication.
+
+
+**Docker**
+
+in progress ...
+
+
+**Testing**
+
+You can run a test by using `VisualStudio RestClient plugin <https://github.com/Huachao/vscode-restclient>`_
+See the *restclient* package at root level to find *.vscode/settings.json* configuration file and */json/* package with samples requests that can be run. \ No newline at end of file