diff --git a/docs/assets/changelog-service.png b/docs/assets/changelog-service.png
new file mode 100644
index 0000000000000000000000000000000000000000..cdc1c41841189f3899449ebbe349d3e728427ec7
Binary files /dev/null and b/docs/assets/changelog-service.png differ
diff --git a/docs/assets/credits-service.png b/docs/assets/credits-service.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f308487208091c10899f5687377c3d062d75681
Binary files /dev/null and b/docs/assets/credits-service.png differ
diff --git a/docs/assets/media-library-service.png b/docs/assets/media-library-service.png
index b13811342853ec729e33b309c3349d09b7f8fae9..f8a513fe2aed9347a7a34dcb8c26704bb16585a6 100644
Binary files a/docs/assets/media-library-service.png and b/docs/assets/media-library-service.png differ
diff --git a/docs/components/custom-apps/admin-gui.md b/docs/components/custom-apps/admin-gui.md
index 4422a95b1a6c2e2de9544ebeb1fc69c791e0eb30..f16d54deba265a76195425f9c560f71c81e6ce03 100644
--- a/docs/components/custom-apps/admin-gui.md
+++ b/docs/components/custom-apps/admin-gui.md
@@ -80,7 +80,7 @@ docker-compose --project-name admin-gui up
 
 ## Authentication
 
-It uses the same authentication methods as the portail data web app, so if you have an account you will be able to log in. However only a user belongging to the admin group will be able to create, modify and delete entities. The groups are managed by the api gateway, for more information refer to the [Authentication and Authorization](../../miscellaneous/authentication&authorization.md) section.
+It uses the same authentication methods as the portail data web app, so if you have an account you will be able to log in. However only a user belonging to the admin group will be able to create, modify and delete entities. The groups are managed by the api gateway, for more information refer to the [Authentication and Authorization](../../miscellaneous/authentication&authorization.md) section.
 
 
 ## TO DEVELOP
diff --git a/docs/components/services/authentication.md b/docs/components/services/authentication.md
index 6ba6e8e2d213d3d49a83cddb98f75aba7a1c9ea6..fe60baf0dcf59615329635ef078cc97840d43d36 100644
--- a/docs/components/services/authentication.md
+++ b/docs/components/services/authentication.md
@@ -13,7 +13,6 @@ The service relies on
 
 ![authentication-service](../../assets/authentication-service.png)
 
-
 ## Endpoints
 
 This service provides five **endpoints**:
@@ -22,7 +21,6 @@ This service provides five **endpoints**:
     1. an HTTP-only cookie including an **access token**, including in turn a JSON Web Token (JWT), signed by the API Gateway, namely Kong.
     2. a cookie including an **XSRF token** (generated as a version 4 UUID).
 
-
     Both the access token and the XSRF token are needed to issue authenticated requests. We refer the reader to a [dedicated page](../../miscellaneous/security.md) for further information about security.
 
 2. A **logout** endpoint, `/logout`, which signs out the user by deprecating the cookie set by the login endpoint.
@@ -35,7 +33,6 @@ This service provides five **endpoints**:
     * the [API Gateway](../off-the-shelf-apps/api-gateway.md) must be up;
     * the [Legacy AUTH Middleware](../middlewares/legacy-auth.md) must be up.
 
-
 ## Implementation
 
 The service is implemented using the [NestJS](https://nestjs.com/) framework. We refer the reader to the [NestJS-based micro-services](../../miscellaneous/nestjs-micro-services.md) page for further details concerning the latter framework and the features it provides.
diff --git a/docs/components/services/changelog.md b/docs/components/services/changelog.md
index d81dd7b1a8af0035f0fd128cdc0962ad8df73ea7..9f23111bb00985a1ab475df53b944ab8fd84de9c 100644
--- a/docs/components/services/changelog.md
+++ b/docs/components/services/changelog.md
@@ -33,6 +33,9 @@ This service has no dependency on other components.
 This service exposes one single endpoint, `/changelog`, supporting all the CRUD methods in a RESTful fashion. An healthcheck endpoint is exposed as well, `/health`, returning a `200` HTTP code when all indicators are healthy, `503` in the opposite case. The service is considered to be healthy if the underlying database is up.
 
 ## Implementation
+
+![changelog-service](../../assets/changelog-service.png)
+
 The service is implemented using the [NestJS](https://nestjs.com/) framework. We refer the reader to the [NestJS-based micro-services](../../miscellaneous/nestjs-micro-services.md) page for further details concerning the latter framework and the features it provides.
 
 [MongoDB](https://www.mongodb.com/) is used for data persistence. Data modeling as well as connections to MongoDB are performed with [Mongoose](https://github.com/Automattic/mongoose).
diff --git a/docs/components/services/credits.md b/docs/components/services/credits.md
index 7a3da9f4070448a347569a938a67de2869cf440a..be9b74c9d4750416a31f6b167076efd069886a88 100644
--- a/docs/components/services/credits.md
+++ b/docs/components/services/credits.md
@@ -33,6 +33,8 @@ returning a `200` HTTP code if the API is healthy, `503` otherwise. For the serv
 
 ## Implementation
 
+![credits-service](../../assets/credits-service.png)
+
 The service is implemented using the [NestJS](https://nestjs.com/) framework. We refer the reader to the [NestJS-based micro-services](../../miscellaneous/nestjs-micro-services.md) page for further details concerning NestJS and the features it provides.
 
 Data persistence is achieved by using [PostgreSQL](https://www.postgresql.org/) and [TypeORM](https://github.com/typeorm/typeorm).
diff --git a/docs/components/services/mailer.md b/docs/components/services/mailer.md
index 1bc69cf48c29845d151ecc5a81e709f30405e03f..978042aa73d4ea9bd68d8aae47a1aa1558cf3998 100644
--- a/docs/components/services/mailer.md
+++ b/docs/components/services/mailer.md
@@ -4,7 +4,6 @@
 
 This service allow to deliver mails to any email address from the address specified in the configuration. It also provides two particular endpoints, one for the user to give a feedback and another one for general contact purpose. Those endpoints will both send an email to the admin address specified in the configuration.
 
-
 ## Dependencies
 
 ## Endpoints
@@ -15,24 +14,18 @@ This service allow to deliver mails to any email address from the address specif
 
 `/send`
 
-
 `/health` This service will return a `200` http status code when all indicators are healthy. Otherwise it will return a `503` http status code.
 For this service we declared an health indicator that verify that the connection to the SMTP Server is available.
 
 ## Implementation
 
-
-## How it works
+The service is implemented using the [NestJS](https://nestjs.com/) framework. We refer the reader to the [NestJS-based micro-services](../../miscellaneous/nestjs-micro-services.md) page for further details concerning the latter framework and the features it provides.
 
 ![mail-service](../../assets/mail-service.png)
 
-The entrypoint of the service is a REST API provided by a [NestJS](https://github.com/nestjs/nest) application. The service builds email bodies based on the information it receives and on the provided HTML templates. It then format a JSON with all the properties (to, from, body...) expected by an SMTP server to correctly send an email.
-
-However the service does not send this JSON directly to the distant SMTP server. Indeed as a connection failure might occure, we chose to persist this object in a RabbitMQ queue. Then a small worker written in Node.js will consume the messages from the queue and send it to the SMTP server if correctly formatted. The messages will be removed (acknoledged) from the queue only if the SMTP received the message.
-
-## API documentation
+<!-- The entrypoint of the service is a REST API provided by a [NestJS](https://github.com/nestjs/nest) application. The service builds email bodies based on the information it receives and on the provided HTML templates. It then format a JSON with all the properties (to, from, body...) expected by an SMTP server to correctly send an email.
 
-NestJS provides a [swagger module](https://docs.nestjs.com/recipes/swagger) that can be easily integrated. Using specific annotations alongside your endpoints declaration, this module will automatically generates a swagger documentation, reachable at `/api-doc`.
+However the service does not send this JSON directly to the distant SMTP server. Indeed as a connection failure might occure, we chose to persist this object in a RabbitMQ queue. Then a small worker written in Node.js will consume the messages from the queue and send it to the SMTP server if correctly formatted. The messages will be removed (acknoledged) from the queue only if the SMTP received the message. -->
 
 ## Templates
 
diff --git a/docs/components/services/media-library.md b/docs/components/services/media-library.md
index 152c31f10de45d9ec14ee29701f407fb16126627..a89c0facf526a6f6f233128606407c5f2b67f29f 100644
--- a/docs/components/services/media-library.md
+++ b/docs/components/services/media-library.md
@@ -1,10 +1,16 @@
 # Media library service
 
-## What it does
+## Features
 
 This service allows you to upload a file on the [Minio](https://min.io/) instance (compatible with S3) of your choice. The file will be stored in the bucket defined in the configuration of the service.
 
-## How it works
+## Dependencies
+
+## Endpoints
+
+For this service we implemented a custom health indicator that checks the connection to MinIO giving the total number of buckets when the connection is succesful.
+
+## Implementation
 
 ![media-library-service](../../assets/media-library-service.png)
 
@@ -14,27 +20,4 @@ Before uploading the file, it makes sure that the specified bucket is created. I
 
 The files are folded in sub-buckets as following `/<specified-bucket-name>/<year-YYYY>/<month-MM>/`.
 
-The uploaded file keep its original name but is prefixed by an md5 computed based on its content witch gives the following pattern for file names: `<md5>-<original-name>`. This means that if we upload twice the exact same file, with the same name there will be only one file stored in MinIO.
-
-## API documentation
-
-NestJS provides a [swagger module](https://docs.nestjs.com/recipes/swagger) that can be easily integrated. Using specific annotations alongside your endpoints declaration, this module will automatically generates a swagger documentation, reachable at `/api-doc`.
-
-## Service health
-
-NestJS provides a [health module](https://github.com/nestjs/terminus) based on Terminus, that gives you the opportunity to declare predefined or custom health indicators. It exposes the health status of the service at `/health`.  
-This service will return a `200` http status code when all indicators are healthy. Otherwise it will return a `503` http status code. 
-
-For this service we implemented a custom health indicator that checks the connection to MinIO giving the total number of buckets when the connection is succesful.
-
-## Stats
-
-We are using a Node module called [swagger-stats](http://swaggerstats.io/).  
-It traces API calls, monitors API performance and usage statistics. It exposes the metrics in different formats, such as Prometheus format, so you may use Prometheus and Graphana for API monitoring and alerting.  
-Those metrics are available at `/swagger-stats/metrics`.
-
-For more information about this module, visit the [official swagger-stat page](http://swaggerstats.io/docs.html).
-
-## Docker
-It is possible to run this service using Docker containers, using the `docker-compose.yml` and `Dockerfile` files.  
-For more information, refer to the project [service-media-library][add a link]
\ No newline at end of file
+The uploaded file keep its original name but is prefixed by an md5 computed based on its content witch gives the following pattern for file names: `<md5>-<original-name>`. This means that if we upload twice the exact same file, with the same name there will be only one file stored in MinIO.
\ No newline at end of file
diff --git a/docs/components/services/organizations.md b/docs/components/services/organizations.md
index 0637a0931ba5aeec7ff31ca162fa82c1bdfb6f5c..23b9676b9a31f613df7f5eb9efbc3de1ece06cf3 100644
--- a/docs/components/services/organizations.md
+++ b/docs/components/services/organizations.md
@@ -1,35 +1,16 @@
 # Organizations service
 
-## What it does
+## Features
+
 This service provides a list of organizations with different information about it (such as description, logo..etc).  
 In our application, one organization is usually a provider of data, used in the Portal Open Data. It can be a public actor or a private one.
 
-## How it works
-
-![organizations-service](../../assets/organizations-service.png)
-
-The entrypoint of the service is a REST API provided by a [NestJS](https://github.com/nestjs/nest) application. This backend application interacts with a PostgresSQL database through an ORM called [TypeORM](https://github.com/typeorm/typeorm).
-
-
-## API documentation
+## Dependencies
 
-NestJS provides a [swagger module](https://docs.nestjs.com/recipes/swagger) that can be easily integrated. Using specific annotations alongside your endpoints declaration, this module will automatically generates a swagger documentation, reachable at `/api-doc`.
+## Endpoints
 
-## Service health
+## Implementation
 
-NestJS provides a [health module](https://github.com/nestjs/terminus) based on Terminus, that gives you the opportunity to declare predefined or custom health indicators. It exposes the health status of the service at `/health`.  
-This service will return a `200` http status code when all indicators are healthy. Otherwise it will return a `503` http status code. 
-
-For this service we declared an health indicator that verifies that it can connect to the database.
-
-## Stats
-
-We are using a Node module called [swagger-stats](http://swaggerstats.io/).  
-It traces API calls, monitors API performance and usage statistics. It exposes the metrics in different formats, such as Prometheus format, so you may use Prometheus and Graphana for API monitoring and alerting.  
-Those metrics are available at `/swagger-stats/metrics`.
-
-For more information about this module, visit the [official swagger-stat page](http://swaggerstats.io/docs.html).
+![organizations-service](../../assets/organizations-service.png)
 
-## Docker
-It is possible to run this service using Docker containers, using the `docker-compose.yml` and `Dockerfile` files.  
-For more information, refer to the project [organizations-service][add a link]
\ No newline at end of file
+The entrypoint of the service is a REST API provided by a [NestJS](https://github.com/nestjs/nest) application. This backend application interacts with a PostgresSQL database through an ORM called [TypeORM](https://github.com/typeorm/typeorm).
\ No newline at end of file
diff --git a/docs/components/services/resources-helper.md b/docs/components/services/resources-helper.md
index 1543313d27328efadabbe66ff99f7e9f8590c67f..c516bd39c0f304d0c6309eb536f286a59327ef17 100644
--- a/docs/components/services/resources-helper.md
+++ b/docs/components/services/resources-helper.md
@@ -1,6 +1,6 @@
 # Resources service
 
-## What it does
+## Features
 
 This service can provide lists of resources and formats.  
 A resource is an entity representing some information, usually geographic, that can be accessed by a query (for example Web Map Service) or by downloading a file. One resource can be considered standard (e.g WMS protocol) or not standard (a custom service).  
@@ -9,32 +9,14 @@ Each resource is associated with one or many formats.
 *Example:*  
 the output of a Web Feature Service (WFS), standard service providing an interface for geographical features, is a resource. And it is associated with many formats as such Shapefile or JSON.  
 
-## How it works
+## Dependencies
 
-![resources-service](../../assets/organizations-service.png)
-
-The entrypoint of the service is a REST API provided by a [NestJS](https://github.com/nestjs/nest) application. This backend application interacts with a PostgresSQL database through an ORM called [TypeORM](https://github.com/typeorm/typeorm).
-
-
-## API documentation
-
-NestJS provides a [swagger module](https://docs.nestjs.com/recipes/swagger) that can be easily integrated. Using specific annotations alongside your endpoints declaration, this module will automatically generates a swagger documentation, reachable at `/api-doc`.
-
-## Service health
-
-NestJS provides a [health module](https://github.com/nestjs/terminus) based on Terminus, that gives you the opportunity to declare predefined or custom health indicators. It exposes the health status of the service at `/health`.  
-This service will return a `200` http status code when all indicators are healthy. Otherwise it will return a `503` http status code. 
+## Endpoints
 
 For this service we declared an health indicator that verifies that it can connect to the database.
 
-## Stats
-
-We are using a Node module called [swagger-stats](http://swaggerstats.io/).  
-It traces API calls, monitors API performance and usage statistics. It exposes the metrics in different formats, such as Prometheus format, so you may use Prometheus and Graphana for API monitoring and alerting.  
-Those metrics are available at `/swagger-stats/metrics`.
+## Implementation
 
-For more information about this module, visit the [official swagger-stat page](http://swaggerstats.io/docs.html).
+![resources-service](../../assets/organizations-service.png)
 
-## Docker
-It is possible to run this service using Docker containers, using the `docker-compose.yml` and `Dockerfile` files.  
-For more information, refer to the project [organizations-service][add a link]
\ No newline at end of file
+The entrypoint of the service is a REST API provided by a [NestJS](https://github.com/nestjs/nest) application. This backend application interacts with a PostgresSQL database through an ORM called [TypeORM](https://github.com/typeorm/typeorm).
diff --git a/docs/components/services/reuses.md b/docs/components/services/reuses.md
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0e169a68b6ca037bf160349af27b08596a7652e7 100644
--- a/docs/components/services/reuses.md
+++ b/docs/components/services/reuses.md
@@ -0,0 +1,9 @@
+# Reuses
+
+## Features
+
+## Dependencies
+
+## Endpoints
+
+## Implementation
diff --git a/docs/components/services/social-media-share-helper.md b/docs/components/services/social-media-share-helper.md
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..00e8196e50abe7d7dc26b64032b15d8b4e0b6d9f 100644
--- a/docs/components/services/social-media-share-helper.md
+++ b/docs/components/services/social-media-share-helper.md
@@ -0,0 +1,9 @@
+# Social media share helper
+
+## Features
+
+## Dependencies
+
+## Endpoints
+
+## Implementation
\ No newline at end of file
diff --git a/docs/miscellaneous/nestjs-micro-services.md b/docs/miscellaneous/nestjs-micro-services.md
index a4b48bc6d0a28e4bb7ea30061764fffddb4235e0..5506b7e27d9226b9ddfdc4cc59dd7f3ef5c73d64 100644
--- a/docs/miscellaneous/nestjs-micro-services.md
+++ b/docs/miscellaneous/nestjs-micro-services.md
@@ -12,6 +12,8 @@ NestJS provides a [swagger module](https://docs.nestjs.com/recipes/swagger) that
 
 NestJS provides a health module based on [Terminus](https://github.com/nestjs/terminus), allowing developers to declare predefined and/or custom health indicators. By default, the health status of a given NestJS service is available through the `/health` endpoint.
 
+A service will return a `200` http status code when all indicators are healthy. Otherwise it will return a `503` http status code.
+
 ## Logging
 
 ## Guards or how to implement an AUTHZ layer