From 7afe844fb9f4171697ff5b82b86b2161ffbf2a78 Mon Sep 17 00:00:00 2001 From: Rene Robert Date: Wed, 28 Mar 2018 09:55:53 +0000 Subject: add API documentations Issue-ID: EXTAPI-40 Change-Id: If700a2e2700f7c19e22c8f5d11ddf425eb0075a5 Signed-off-by: Rene Robert --- docs/architecture/NBI_R1_Developer_Guide.rst | 62 ++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 docs/architecture/NBI_R1_Developer_Guide.rst (limited to 'docs/architecture') 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 `_ +- `JOLT `_ to perform JsonToJson transformation +- `FasterXML/Jackson `_ to perform JSON parsing +- `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 `_ +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 -- cgit 1.2.3-korg