From ef29e55f74049ebc17cbec59f45a79bfe548e265 Mon Sep 17 00:00:00 2001
From: BEAUVAIS ANTOINE <antoine.beauvais@etu.unistra.fr>
Date: Sun, 26 Sep 2021 14:56:22 +0200
Subject: [PATCH] Completed Javadoc.

---
 build.gradle                                  |  5 +++++
 gradle.properties                             |  2 ++
 settings.gradle                               |  2 +-
 .../fr/unistra/sil/erp/back/WebMvcConfig.java |  2 +-
 .../erp/back/controller/api/package-info.java |  4 ++++
 .../sil/erp/back/controller/package-info.java |  7 +++++++
 .../unistra/sil/erp/back/db/package-info.java |  4 ++++
 .../back/interceptor/api/package-info.java    |  8 ++++++++
 .../sil/erp/back/model/package-info.java      |  7 +++++++
 .../fr/unistra/sil/erp/back/package-info.java | 18 ++++++++++++++++++
 src/main/java/overview.html                   | 19 +++++++++++++++++++
 11 files changed, 76 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/controller/api/package-info.java
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/controller/package-info.java
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/db/package-info.java
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/interceptor/api/package-info.java
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/model/package-info.java
 create mode 100644 src/main/java/fr/unistra/sil/erp/back/package-info.java
 create mode 100644 src/main/java/overview.html

diff --git a/build.gradle b/build.gradle
index 5d3de97..8221f3b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,6 +24,11 @@ dependencies {
 	testImplementation 'org.springframework.boot:spring-boot-starter-test'
 }
 
+javadoc {
+    title = "SIL ERP BACK 0.0.1 API Specification"
+    options.overview = "src/main/java/overview.html"
+}
+
 test {
 	useJUnitPlatform()
 }
diff --git a/gradle.properties b/gradle.properties
index 2637353..ae2f23d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,3 +2,5 @@ version=1.0
 
 license=https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html
 netbeans.license=cecill-b
+
+org.gradle.warning.mode=all
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index d90f81d..935d499 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-rootProject.name = 'erp.back'
+rootProject.name = 'SIL ERP BACK'
diff --git a/src/main/java/fr/unistra/sil/erp/back/WebMvcConfig.java b/src/main/java/fr/unistra/sil/erp/back/WebMvcConfig.java
index 8680c63..2b7e9cc 100644
--- a/src/main/java/fr/unistra/sil/erp/back/WebMvcConfig.java
+++ b/src/main/java/fr/unistra/sil/erp/back/WebMvcConfig.java
@@ -89,7 +89,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
      * Currently, interceptors are only used for authentication in this 
      * application.
      * 
-     * @param registry 
+     * @param registry the Interceptor Registry to use for additions.
      */
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/api/package-info.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/package-info.java
new file mode 100644
index 0000000..dba057b
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * API implementations of the HTTP controllers.
+ */
+package fr.unistra.sil.erp.back.controller.api;
\ No newline at end of file
diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/package-info.java b/src/main/java/fr/unistra/sil/erp/back/controller/package-info.java
new file mode 100644
index 0000000..9b80cb2
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/controller/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Controller interfaces to handle HTTP requests.
+ * 
+ * Controllers are responsible for processing requests once they have 
+ * been approved by interceptors.
+ */
+package fr.unistra.sil.erp.back.controller;
\ No newline at end of file
diff --git a/src/main/java/fr/unistra/sil/erp/back/db/package-info.java b/src/main/java/fr/unistra/sil/erp/back/db/package-info.java
new file mode 100644
index 0000000..a333ba1
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/db/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Database interfaces and implementations.
+ */
+package fr.unistra.sil.erp.back.db;
\ No newline at end of file
diff --git a/src/main/java/fr/unistra/sil/erp/back/interceptor/api/package-info.java b/src/main/java/fr/unistra/sil/erp/back/interceptor/api/package-info.java
new file mode 100644
index 0000000..66f0804
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/interceptor/api/package-info.java
@@ -0,0 +1,8 @@
+/**
+ * API Interceptors for the HTTP requests.
+ * 
+ * Interceptors are run between the user's request and the associated 
+ * controller. They allow for pre-processing and post-processing of HTTP
+ * requests beyond their respective controllers.
+ */
+package fr.unistra.sil.erp.back.interceptor.api;
\ No newline at end of file
diff --git a/src/main/java/fr/unistra/sil/erp/back/model/package-info.java b/src/main/java/fr/unistra/sil/erp/back/model/package-info.java
new file mode 100644
index 0000000..b081226
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/model/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Model classes for the module's objects.
+ * 
+ * These are the main classes that represent the data manipulated by 
+ * the application, such as transactions, items, registry entries, etc.
+ */
+package fr.unistra.sil.erp.back.model;
\ No newline at end of file
diff --git a/src/main/java/fr/unistra/sil/erp/back/package-info.java b/src/main/java/fr/unistra/sil/erp/back/package-info.java
new file mode 100644
index 0000000..0cf38f5
--- /dev/null
+++ b/src/main/java/fr/unistra/sil/erp/back/package-info.java
@@ -0,0 +1,18 @@
+/**
+ * BACK module for the ERP solution.
+ * 
+ * The objective of this program is to provide financial documentation 
+ * on request as well as provide item information to the other modules.
+ * 
+ * The application is split in two components:
+ * <ul>
+ * <li>RESTful API for interoperability with the other components,
+ * <li>Web interface for regular Human-Machine Interface (HMI) interactions.
+ * </ul>
+ * 
+ * Notice: Only the API is currently implemented (partially) for now.
+ * 
+ * @version 0.0.1
+ * @author BEAUVAIS ANTOINE
+ */
+package fr.unistra.sil.erp.back;
\ No newline at end of file
diff --git a/src/main/java/overview.html b/src/main/java/overview.html
new file mode 100644
index 0000000..276c855
--- /dev/null
+++ b/src/main/java/overview.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<!--
+CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B
+https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html
+-->
+<body>
+    <p>This is the BACK module for the 2021-2022 M2 SIL ERP project.</p>
+
+    <p>This module is responsible for providing item information to the 
+        other components as well as provide financial documentation.</p>
+
+    <p>It is divided in two components:</p>
+    <ul>
+        <li>a RESTful API for interoperability between the components, and</li>
+        <li>a Web interface for managing the software and data.</li>
+    </ul>
+
+    <p>Currently, only the RESTful API is partially implemented.</p>
+</body>
\ No newline at end of file
-- 
GitLab