diff --git a/quality-metrics/broker-component/Dockerfile b/quality-metrics/broker-component/Dockerfile
new file mode 100644
index 0000000..2f960ec
--- /dev/null
+++ b/quality-metrics/broker-component/Dockerfile
@@ -0,0 +1,28 @@
+#======================================================================
+# Copyright (c) 2020, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#======================================================================
+
+#======================================================================
+# FILE: Dockerfile
+#
+# DESCRIPTION: This is used for containerised deployment of the quality
+#  metrics broker component.
+#======================================================================
+
+FROM alpine:3.11
+
+RUN apk update && \
+    apk upgrade && \
+    apk add --no-cache python3-dev && \
+    pip3 install --upgrade pip
+
+WORKDIR /metrics_server
+COPY . /metrics_server
+
+RUN pip3 --no-cache-dir install -r requirements.txt
+
+EXPOSE 5000
+
+CMD python3 quality_metrics_server.py
diff --git a/quality-metrics/broker-component/constants.py b/quality-metrics/broker-component/constants.py
new file mode 100644
index 0000000..32ce30f
--- /dev/null
+++ b/quality-metrics/broker-component/constants.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python3
+
+__copyright__ = """
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+
+""" constants.py:
+
+    This file contains the constants required by metrics server.
+
+"""
+
+JWT_EXPIRATION_DAYS = 365
+
+HOST = "<Host Public IP Address>"
+PORT = "8086"
+BUFF_SIZE = 10
+POLL_DELAY = 0.1
+
+LISTEN_ALL_IPS = "0.0.0.0"
+
+VALID_METRICS = [
+    'tfm_image_size',
+    'tfa_code_churn',
+    'tfa_defects_stats',
+    'tfa_defects_tracking',
+    'tfa_complexity_stats',
+    'tfa_complexity_tracking',
+    'tfa_rtinstr',
+    'tfa_image_size',
+    'tfa_misra_defects']
+
+DATABASE_DICT = {
+    "TFM_IMAGE_SIZE": "TFM_ImageSize",
+    "TFA_CODE_CHURN": "TFA_CodeChurn",
+    "TFA_DEFECTS": "TFA_Defects",
+    "TFA_COMPLEXITY": "TFA_Complexity",
+    "TFA_RTINSTR": "TFA_RTINSTR",
+    "TFA_IMAGE_SIZE": "TFA_ImageSize",
+    "TFA_MISRA_DEFECTS": "TFA_MisraDefects"
+}
+
+SUPPORTED_API_VERSIONS = ["1.0"]
diff --git a/quality-metrics/broker-component/credentials.py b/quality-metrics/broker-component/credentials.py
new file mode 100644
index 0000000..7e9793a
--- /dev/null
+++ b/quality-metrics/broker-component/credentials.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+
+__copyright__ = """
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+
+""" credentials.py:
+
+    Credentials class. This is for reference only.
+
+"""
+
+# SECRET_KEY is set for reference purpose only
+# It is recommended to change its value before deployment
+SECRET_KEY = 'SECRET_KEY'
+
+
+class User(object):
+    def __init__(self, id, username, password):
+        self.id = id
+        self.username = username
+        self.password = password
+
+    def __str__(self):
+        return "User(id='%s')" % self.id
+
+
+# User credentials are set for reference purpose only
+# It is recommended to change these value accordingly before deployment
+users = [
+    User(1, 'metrics_1', 'metrics_pass_1'),
+    User(2, 'metrics_2', 'metrics_pass_2'),
+    User(3, 'tfa_metrics', 'tfa_metrics_pass'),
+]
diff --git a/quality-metrics/broker-component/data_converter.py b/quality-metrics/broker-component/data_converter.py
new file mode 100644
index 0000000..5b3c74b
--- /dev/null
+++ b/quality-metrics/broker-component/data_converter.py
@@ -0,0 +1,95 @@
+#!/usr/bin/env python3
+
+__copyright__ = """
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+
+""" data_converter.py:
+
+    Data converter class. This class is aimed at converting the received
+    data in the format which InfluxDB understands.
+
+"""
+
+import json
+import constants
+
+
+class DataConverter:
+
+    @staticmethod
+    def convert_tfm_imagesize_data(data):
+        # Transform keys names
+        data['metadata']['DataProducer'] = data['metadata'].pop(
+            'data_producer')
+
+        data['metadata']['git_info']['CommitTitle'] = data['metadata']['git_info'].pop(
+            'commit_title')
+        data['metadata']['git_info']['CommitID'] = data['metadata']['git_info'].pop(
+            'commit_id')
+        data['metadata']['git_info']['GerritID'] = data['metadata']['git_info'].pop(
+            'gerrit_id')
+        data['metadata']['git_info']['CommitURL'] = data['metadata']['git_info'].pop(
+            'commit_url')
+        data['metadata']['git_info']['Branch'] = data['metadata']['git_info'].pop(
+            'branch')
+
+        data['metadata']['build_info']['BuildType'] = data['metadata']['build_info'].pop(
+            'build_type')
+        data['metadata']['build_info']['CmakeConfig'] = data['metadata']['build_info'].pop(
+            'cmake_config')
+        data['metadata']['build_info']['Compiler'] = data['metadata']['build_info'].pop(
+            'compiler')
+        data['metadata']['build_info']['Target'] = data['metadata']['build_info'].pop(
+            'target')
+
+        ret = {}
+        ret['tags'] = {}
+        ret['fields'] = {}
+
+        ret['measurement'] = 'TFM_ImageSize_Statistics'
+
+        for file_info in data['data']:
+            ret['fields'][file_info['file'].rsplit(
+                '.', 1)[0] + '_b'] = file_info['bss']
+            ret['fields'][file_info['file'].rsplit(
+                '.', 1)[0] + '_d'] = file_info['data']
+            ret['fields'][file_info['file'].rsplit(
+                '.', 1)[0] + '_t'] = file_info['text']
+
+        ret['tags']['DataProducer'] = str(data['metadata']['DataProducer'])
+
+        ret['time'] = str(data['metadata']['git_info']['commit_time'])
+
+        for key in data['metadata']['git_info']:
+            if key == 'commit_time':
+                continue
+            ret['tags'][key] = str(data['metadata']['git_info'][key])
+
+        for key in data['metadata']['build_info']:
+            ret['tags'][key] = str(data['metadata']['build_info'][key])
+
+        print(ret)
+
+        return [ret]
+
+    @staticmethod
+    def convert_data(data):
+        """
+            Convert data to a dictionary containing measurement
+            name, fields and tags. It is required by InfluxDB.
+
+            :param data: data to be converted to InfluxDB format
+        """
+
+        if data['metadata']['metrics'] == 'tfm_imagesize':
+            ret = DataConverter.convert_tfm_imagesize_data(data)
+        else:
+            ret = data['data']
+
+        return ret
diff --git a/quality-metrics/broker-component/data_validator.py b/quality-metrics/broker-component/data_validator.py
new file mode 100644
index 0000000..a67b86b
--- /dev/null
+++ b/quality-metrics/broker-component/data_validator.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python3
+
+__copyright__ = """
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+
+""" data_validator.py:
+
+    JSON data validator class. This class is aimed at validating the JSON
+    data sent in curl command with the JSON schema, so that before pushing
+    the data to the database, it is ensured that required data is received
+    in agreed-upon format.
+
+"""
+
+import sys
+import json
+import os.path
+import constants
+import jsonschema
+from jsonschema import validate
+
+
+class DataValidator:
+    @staticmethod
+    def validate_request_sanity(data_dict):
+        """
+            Input sanitisation/authentication in the application flow
+
+            :param: data_dict: Data to be validated
+            :return: Validation info and error code
+        """
+        if 'metrics' in data_dict['metadata'] and 'api_version' in data_dict and \
+                data_dict['metadata']['metrics'] in constants.VALID_METRICS:
+            if data_dict['api_version'] not in constants.SUPPORTED_API_VERSIONS:
+                return 'Incorrect API version', 401
+
+            filename = 'metrics-schemas/' + data_dict['metadata']['metrics'] + '_schema_' + \
+                data_dict['api_version'].replace(".", "_") + '.json'
+            if not os.path.exists(filename):
+                return filename + ' does not exist', 501
+
+            try:
+                with open(filename, 'r') as handle:
+                    parsed = json.load(handle)
+                validate(data_dict, parsed)
+                sys.stdout.write('Record OK\n')
+                return 'OK', 204
+            except jsonschema.exceptions.ValidationError as ve:
+                sys.stdout.write('Record ERROR\n')
+                sys.stderr.write(str(ve) + "\n")
+                return 'Incorrect JSON Schema: ' + \
+                    str(ve).split('\n', 1)[0], 400
+        else:
+            return 'Invalid schema - metrics or api version missing\n', 401
diff --git a/quality-metrics/broker-component/db_manager.py b/quality-metrics/broker-component/db_manager.py
new file mode 100644
index 0000000..8f2d77c
--- /dev/null
+++ b/quality-metrics/broker-component/db_manager.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python3
+
+from __future__ import print_function
+
+__copyright__ = """
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+
+""" db_manager.py:
+
+    Database interface abstraction class. This class is aimed at providing an
+    asynchronous interface between a blocking IO resource(database) and a
+    public interface designed for high concurrency.
+
+"""
+
+import time
+import threading
+from queue import Queue
+from pprint import pformat
+from influxdb import InfluxDBClient
+
+import constants
+from data_converter import DataConverter
+
+
+class dbManager(object):
+    def __init__(self,
+                 host=constants.HOST,
+                 port=constants.PORT,
+                 user=None,
+                 password=None,
+                 buff_size=constants.BUFF_SIZE,
+                 poll_delay=constants.POLL_DELAY,
+                 app=None):
+        self.queue_buff_sz = buff_size
+        self.poll_delay = poll_delay
+
+        self.db_host = host
+        self.db_port = port
+        self.db_user = user
+        self.db_pass = password
+        self.write_queue = Queue(maxsize=self.queue_buff_sz)
+        self.stop_threads = False
+        self.app = app
+
+        for key in constants.DATABASE_DICT:
+            client = InfluxDBClient(host=self.db_host,
+                                    port=self.db_port,
+                                    username=self.db_user,
+                                    password=self.db_pass,
+                                    database=constants.DATABASE_DICT[key])
+            setattr(self, key.lower() + '_client', client)
+
+    def store(self, data):
+        """
+            Places data in the FIFO to be broadcast when
+            the database is not busy
+
+            :param: data: Data to be placed in FIFO
+        """
+        validation = 'OK'
+        err_code = 204
+        try:
+            self.write_queue.put(data)
+        except Exception as e:
+            validation = "** Write to Queue Failed. ** "
+            err_code = 402
+            print(validation, e)
+            self.app.logger.error(pformat({"error_code": err_code,
+                                           "info": validation, "exception": e}))
+        return validation, err_code
+
+    def get_db_client(self, metrics):
+        if "stats" in metrics:
+            client = metrics.replace("_stats", "") + "_client"
+        elif "tracking" in metrics:
+            client = metrics.replace("_tracking", "") + "_client"
+        else:
+            client = metrics + "_client"
+        if hasattr(self, client):
+            return getattr(self, client)
+        else:
+            self.app.logger.error("Invalid metrics %" % (metrics))
+
+    def write_db_direct(self, data):
+        """
+            Write data to database ( will block if database is busy )
+
+            :param: data: data to be written to database
+        """
+        db_client = self.get_db_client(data['metadata']['metrics'])
+
+        converted_data = DataConverter.convert_data(data)
+
+        if db_client:
+            if db_client.write_points(converted_data):
+                self.app.logger.info(
+                    "Writing to InfluxDB hosted at %s "
+                    "has been successful for %s!" %
+                    (self.db_host, data['metadata']['metrics']))
+            else:
+                self.app.logger.error(
+                    "Writing to InfluxDB hosted at %s "
+                    "has FAILED for %s!" %
+                    (self.db_host, data['metadata']['metrics']))
+        else:
+            self.app.logger.error(
+                "%s database not connected.." %
+                data['metadata']['metrics'])
+
+    def start_daemon(self):
+        """
+            Spawn a new thread that will consume data in the write FIFO
+            and place it into the databse
+        """
+
+        def write_db_loop():
+
+            while True:
+                try:
+                    time.sleep(self.poll_delay)
+                    if self.stop_threads:
+                        self.app.logger.info(
+                            "\n ** Shutting Down Database Writer **")
+                        return
+                    elif self.write_queue.qsize() > 0:
+                        dt = self.write_queue.get()
+                        # Write the data to the databse
+                        self.write_db_direct(dt)
+                        self.write_queue.task_done()
+                except Exception as e:
+                    self.app.logger.error(
+                        "** DB Writer Thread Failed. ** \n%s" % e)
+
+        self.db_write_thread = threading.Thread(target=write_db_loop)
+        self.db_write_thread.daemon = True
+        self.db_write_thread.start()
+        return self
+
+    def stop(self):
+        """
+        Flag which terminates db_write_threads loop
+        """
+        self.app.logger.info("** Setting stop_threads to True  **")
+        self.stop_threads = True
diff --git a/quality-metrics/broker-component/docker-compose.yml b/quality-metrics/broker-component/docker-compose.yml
new file mode 100644
index 0000000..bb91628
--- /dev/null
+++ b/quality-metrics/broker-component/docker-compose.yml
@@ -0,0 +1,58 @@
+#======================================================================
+# Copyright (c) 2020, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#======================================================================
+
+#======================================================================
+# FILE: docker-compose.yml
+#
+# DESCRIPTION:  This is a docker compose file for the deployment of all
+#  the components involved in the quality metrics collection setup. It
+#  brings up Grafana, InfluxDB and the broker component as a multi-
+#  container deployment.
+#======================================================================
+
+version: "2"
+services:
+  grafana:
+    image: grafana/grafana
+    container_name: grafana_container
+    restart: always
+    ports:
+      - 3000:3000
+    networks:
+      - metrics_network
+    volumes:
+      - grafana-volume:/var/lib/grafana
+      - ./grafana-provisioning/:/etc/grafana/provisioning
+    environment:
+      - GF_INSTALL_PLUGINS=grafana-piechart-panel
+  influxdb:
+    image: influxdb
+    container_name: influxdb_container
+    restart: always
+    ports:
+      - 8086:8086
+    networks:
+      - metrics_network
+    volumes:
+      - influxdb-volume:/var/lib/influxdb
+  web:
+    build: .
+    ports:
+      - "5000:5000"
+    networks:
+      - metrics_network
+    depends_on:
+      - influxdb
+    links:
+      -  influxdb:influx
+networks:
+  metrics_network:
+volumes:
+  grafana-volume:
+    external: true
+  influxdb-volume:
+    external: true
+
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_code_churn_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_code_churn_schema_1_0.json
new file mode 100644
index 0000000..8935e76
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_code_churn_schema_1_0.json
@@ -0,0 +1,58 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Lines_of_Change" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "required" : ["Lines_of_Change"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Git_Tag_Date" : {
+                                        "type" : "number"
+                                },
+                                "Base_Tag" : {
+                                    "type" : "string"
+                                },
+                                "Target_Tag" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["Git_Tag_Date", "Base_Tag", "Target_Tag"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_complexity_stats_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_complexity_stats_schema_1_0.json
new file mode 100644
index 0000000..0c22160
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_complexity_stats_schema_1_0.json
@@ -0,0 +1,70 @@
+{
+    "type" : "object",
+    "properties" : {
+        "api_version" : {
+            "type" : "string"
+        },
+        "metadata" : {
+            "type" : "object",
+            "properties" : {
+                "metrics" : {
+                    "type" : "string"
+                }
+            }
+        },
+        "data" : {
+            "type" : "array",
+            "minItems": 1,
+            "items" : {
+                "type" : "object",
+                "properties" :{
+                    "measurement" : {
+                        "type" : "string"
+                    },
+                    "fields" : {
+                        "type" : "object",
+                        "properties" : {
+                            "Function_ID" : {
+                                "type" : "string"
+                            },
+                            "Score" : {
+                                "type" : "number"
+                            },
+                            "Whitelisted" : {
+                                "type" : "string"
+                            },
+                            "Threshold" : {
+                                "type" : "number"
+                            }
+                        },
+                        "required" : ["Function_ID", "Score", "Whitelisted", "Threshold"]
+                    },
+                    "tags" : {
+                        "type" : "object",
+                        "properties" : {
+                            "Git_Tag_Date" : {
+                                    "type" : "number"
+                            },
+                            "Base_Tag" : {
+                                "type" : "string"
+                            },
+                            "Target_Tag" : {
+                                "type" : "string"
+                            },
+                            "Location" : {
+                                "type" : "string"
+                            }
+                        },
+                        "required" : ["Git_Tag_Date", "Base_Tag", "Target_Tag", "Location"],
+                        "additionalProperties": false
+                    },
+                    "time" : {
+                    }
+                }
+            },
+            "required" : ["measurement", "fields", "tags", "time"],
+            "additionalProperties": false
+        }
+    },
+    "required" : ["api_version", "metadata", "data"]
+}
\ No newline at end of file
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_complexity_tracking_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_complexity_tracking_schema_1_0.json
new file mode 100644
index 0000000..509a966
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_complexity_tracking_schema_1_0.json
@@ -0,0 +1,61 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Functions_Exceeding_Threshold_Not_Whitelisted" : {
+                                    "type" : "number"
+                                },
+                                "Whitelisted" : {
+                                    "type" : "string"
+                                },
+                                "Threshold" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "required" : ["Functions_Exceeding_Threshold_Not_Whitelisted", "Whitelisted", "Threshold"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Git_Tag_Date" : {
+                                        "type" : "number"
+                                },
+                                "Target_Tag" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["Git_Tag_Date", "Target_Tag"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_defects_stats_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_defects_stats_schema_1_0.json
new file mode 100644
index 0000000..04dcdf8
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_defects_stats_schema_1_0.json
@@ -0,0 +1,58 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Title" : {
+                                    "type" : "string"
+                                },
+                                "Issue_Status" : {
+                                    "type" : "string"
+                                },
+                                "URL" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["Title", "Issue_Status", "URL"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Defect_ID" : {
+                                    "type" : "string"
+                                },
+                                "Measured_Date" : {
+                                }
+                            },
+                            "required" : ["Defect_ID", "Measured_Date"],
+                            "additionalProperties": false
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_defects_tracking_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_defects_tracking_schema_1_0.json
new file mode 100644
index 0000000..7a0d855
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_defects_tracking_schema_1_0.json
@@ -0,0 +1,52 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Issue_Status" : {
+                                    "type" : "string"
+                                },
+                                "Number_of_Defects" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "required" : ["Issue_Status", "Number_of_Defects"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Measured_Date" : {
+                                }
+                            },
+                            "required" : ["Measured_Date"],
+                            "additionalProperties": false
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_image_size_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_image_size_schema_1_0.json
new file mode 100644
index 0000000..e64e1f8
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_image_size_schema_1_0.json
@@ -0,0 +1,58 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "minProperties": 1,
+                            "patternProperties" : {
+                              "^BL*$" : {
+                                "type" : "number"
+                              }
+                            }
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "BinMode" : {
+                                    "type" : "string"
+                                },
+                                "CommitID" : {
+                                    "type" : "string"
+                                },
+                                "CommitTitle" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["BinMode", "CommitID", "CommitTitle"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_misra_defects_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_misra_defects_schema_1_0.json
new file mode 100644
index 0000000..9109bd9
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_misra_defects_schema_1_0.json
@@ -0,0 +1,67 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "TotalDefects" : {
+                                    "type" : "number"
+                                },
+                                "MandatoryDefects" : {
+                                    "type" : "number"
+                                },
+                                "RequiredDefects" : {
+                                    "type" : "number"
+                                },
+                                "AdvisoryDefects" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "required" : ["TotalDefects", "MandatoryDefects", "RequiredDefects", "AdvisoryDefects"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "BinMode" : {
+                                    "type" : "string"
+                                },
+                                "CommitID" : {
+                                    "type" : "string"
+                                },
+                                "CommitTitle" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["BinMode", "CommitID", "CommitTitle"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfa_rtinstr_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfa_rtinstr_schema_1_0.json
new file mode 100644
index 0000000..1801814
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfa_rtinstr_schema_1_0.json
@@ -0,0 +1,82 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Latency_EL3Entry_EL3Exit" : {
+                                    "type" : "number"
+                                },
+                                "Latency_EL3Entry_CPUPowerDown" : {
+                                    "type" : "number"
+                                },
+                                "Latency_CPUWakeup_EL3Exit" : {
+                                    "type" : "number"
+                                },
+                                "CacheFlush" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "oneOf": [
+                                { "required": [
+                                    "Latency_EL3Entry_EL3Exit"
+                                ]},
+                                { "required": [
+                                    "Latency_EL3Entry_CPUPowerDown",
+                                    "Latency_CPUWakeup_EL3Exit",
+                                    "CacheFlush"
+                                ]}
+                            ]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "CommitID" : {
+                                    "type" : "string"
+                                },
+                                "CommitTitle" : {
+                                    "type" : "string"
+                                },
+                                "TC_Name" : {
+                                    "type" : "string"
+                                },
+                                "Cluster_ID" : {
+                                    "type" : "number"
+                                },
+                                "CPU_Core" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "required" : ["CommitID", "CommitTitle", "TC_Name", "Cluster_ID", "CPU_Core"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfm_code_churn_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfm_code_churn_schema_1_0.json
new file mode 100644
index 0000000..a181c31
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfm_code_churn_schema_1_0.json
@@ -0,0 +1,58 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Lines_of_Change" : {
+                                    "type" : "number"
+                                }
+                            },
+                            "required" : ["Lines_of_Change"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Git_Tag_Date" : {
+                                        "type" : "string"
+                                },
+                                "Base_Tag" : {
+                                    "type" : "string"
+                                },
+                                "Target_Tag" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["Git_Tag_Date", "Base_Tag", "Target_Tag"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfm_complexity_stats_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfm_complexity_stats_schema_1_0.json
new file mode 100644
index 0000000..8390692
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfm_complexity_stats_schema_1_0.json
@@ -0,0 +1,73 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    }
+                }
+            },
+            "data" : {
+                "type" : "array",
+                "minItems": 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" :{
+                        "measurement" : {
+                            "type" : "string"
+                        },
+                        "fields" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Function" : {
+                                    "type" : "string"
+                                },
+                                "Score" : {
+                                    "type" : "number"
+                                },
+                                "Whitelisted" : {
+                                    "type" : "string"
+                                },
+                                "Threshold" : {
+                                    "type" : "number"
+                                },
+                                "Location" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["Function", "Whitelisted", "Threshold", "Score", "Location"]
+                        },
+                        "tags" : {
+                            "type" : "object",
+                            "properties" : {
+                                "Git_Tag_Date" : {
+                                        "type" : "string"
+                                },
+                                "Target_Tag" : {
+                                    "type" : "string"
+                                },
+                                "Base_Tag" : {
+                                    "type" : "string"
+                                },
+                                "Location_Tag" : {
+                                    "type" : "string"
+                                }
+                            },
+                            "required" : ["Git_Tag_Date", "Target_Tag", "Base_Tag", "Location_Tag"],
+                            "additionalProperties": false
+                        },
+                        "time" : {
+                        }
+                    }
+                },
+                "required" : ["measurement", "fields", "tags", "time"],
+                "additionalProperties": false
+            }
+        },
+        "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfm_defects_stats_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfm_defects_stats_schema_1_0.json
new file mode 100644
index 0000000..b5f819d
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfm_defects_stats_schema_1_0.json
@@ -0,0 +1,65 @@
+{
+  "type" : "object",
+  "properties" : {
+      "api_version" : {
+          "type" : "string"
+      },
+      "metadata" : {
+          "type" : "object",
+          "properties" : {
+              "metrics" : {
+                  "type" : "string"
+              }
+          }
+      },
+      "data" : {
+          "type" : "array",
+          "minItems": 1,
+          "items" : {
+              "type" : "object",
+              "properties" :{
+                  "measurement" : {
+                      "type" : "string"
+                  },
+                  "fields" : {
+                      "type" : "object",
+                      "properties" : {
+                          "Status" : {
+                              "type" : "string"
+                          },
+                          "Priority" : {
+                              "type" : "string"
+                          },
+                          "Summary" : {
+                              "type" : "string"
+                          },
+                          "URL" : {
+                              "type" : "string"
+                          },
+                          "Existing_Defect" : {
+                              "type" : "number"
+                          }
+                      },
+                      "required" : ["Status", "Priority", "Summary", "URL", "Existing_Defect"]
+                  },
+                  "tags" : {
+                      "type" : "object",
+                      "properties" : {
+                          "Defect_ID" : {
+                              "type" : "string"
+                          },
+                          "Measured_Date" : {
+                              "type" : "string"
+                          }
+                      },
+                      "required" : ["Defect_ID", "Measured_Date"],
+                      "additionalProperties": false
+                  }
+              }
+          },
+          "required" : ["measurement", "fields", "tags"],
+          "additionalProperties": false
+      }
+  },
+  "required" : ["api_version", "metadata", "data"]
+}
diff --git a/quality-metrics/broker-component/metrics-schemas/tfm_image_size_schema_1_0.json b/quality-metrics/broker-component/metrics-schemas/tfm_image_size_schema_1_0.json
new file mode 100644
index 0000000..30a2ffc
--- /dev/null
+++ b/quality-metrics/broker-component/metrics-schemas/tfm_image_size_schema_1_0.json
@@ -0,0 +1,88 @@
+{
+        "type" : "object",
+        "properties" : {
+            "api_version" : {
+                "type" : "string"
+            },
+            "metadata" : {
+                "type" : "object",
+                "properties" : {
+                    "metrics" : {
+                        "type" : "string"
+                    },
+                    "data_producer" : {
+                        "type" : "string"
+                    },
+                    "git_info" : {
+                        "type" : "object",
+                        "properties" : {
+                           "commit_time" : {
+                               "type" : "string"
+                            },
+                            "commit_title" : {
+                                "type" : "string"
+                            },
+                           "commit_id" : {
+                               "type" : "string"
+                            },
+                            "commit_url" : {
+                                "type" : "string"
+                            },
+                            "branch" : {
+                                "type" : "string"
+                            },
+                            "gerrit_id" : {
+                                "type" : "string"
+                            }
+                        },
+                        "required" : ["commit_time", "commit_title", "commit_id", "commit_url", "branch"],
+                        "additionalProperties": false
+                    },
+                    "build_info" : {
+                        "type" : "object",
+                        "properties" : {
+                            "build_type" : {
+                                 "type" : "string"
+                            },
+                            "cmake_config" : {
+                                "type" : "string"
+                            },
+                            "compiler" : {
+                                "type" : "string"
+                            },
+                            "target" : {
+                                "type" : "string"
+                            }
+                        },
+                        "required" : ["build_type", "cmake_config", "compiler", "target"]
+                    }
+                },
+                "required" : ["metrics", "build_info", "git_info", "data_producer"],
+                "additionalProperties": false
+            },
+            "data" : {
+                "type" : "array",
+                "minItems" : 1,
+                "items" : {
+                    "type" : "object",
+                    "properties" : {
+                        "file" : {
+                            "type" : "string"
+                        },
+                        "bss" : {
+                            "type" : "number"
+                        },
+                        "data" : {
+                            "type" : "number"
+                        },
+                        "text" : {
+                            "type" : "number"
+                        }
+                    },
+                    "required" : ["file", "bss", "data", "text"],
+                    "additionalProperties": false
+                }
+            }
+        },
+        "required" : ["metadata", "data", "api_version"]
+}
diff --git a/quality-metrics/broker-component/quality_metrics_server.py b/quality-metrics/broker-component/quality_metrics_server.py
new file mode 100644
index 0000000..f68f4b2
--- /dev/null
+++ b/quality-metrics/broker-component/quality_metrics_server.py
@@ -0,0 +1,154 @@
+#!/usr/bin/env python3
+
+from __future__ import print_function
+from data_validator import DataValidator
+import credentials
+
+__copyright__ = """
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+
+""" quality_metrics_server.py:
+
+    This is the broker component which accepts the data from data
+    generator scripts, and performs basic sanity check and pushes
+    the data to Influx-DB for visualisation with Grafana component.
+    It is not mandatory to push data via data generator scripts.
+    The request to push data to database, in this case - InfluxDB,
+    is expected to be be a POST request with right credentials and
+    should be in agreed upon format.
+
+"""
+
+from pprint import pprint
+from pprint import pformat
+from db_manager import dbManager
+from flask_jwt import JWT, jwt_required
+from flask import Flask, jsonify, request
+from werkzeug.security import safe_str_cmp
+from logging.handlers import RotatingFileHandler
+
+import sys
+import json
+import random
+import logging
+import argparse
+import datetime
+
+import constants
+""" It is suggested to keep credentials.py is kept locally in the
+    system where server is running. This file has been provided
+    for reference.
+"""
+
+username_table = {u.username: u for u in credentials.users}
+userid_table = {u.id: u for u in credentials.users}
+
+
+def authenticate(username, password):
+    user = username_table.get(username, None)
+    if user and safe_str_cmp(
+            user.password.encode('utf-8'),
+            password.encode('utf-8')):
+        return user
+
+
+def identity(payload):
+    user_id = payload['identity']
+    return userid_table.get(user_id, None)
+
+
+def setup_logging(app):
+    # maxBytes and backupCount values to allow the file to rollover at a predetermined size.
+    # When the size is about to be exceeded, the file is closed and a new file is silently
+    # opened for output. Rollover occurs whenever the current log file is nearly maxBytes in length.
+    # When backupCount is non-zero, the system will save old log files by appending the extensions
+    # ‘.1’, ‘.2’ etc., to the filename.
+    file_handler = RotatingFileHandler(
+        "./flask.log",
+        maxBytes=1024 * 1024 * 1024 * 5,
+        backupCount=5)
+    file_handler.setFormatter(
+        logging.Formatter(
+            '[%(asctime)s][PID:%(process)d][%(levelname)s]'
+            '[%(lineno)s][%(name)s.%(funcName)s()] %(message)s'))
+    file_handler.setLevel(logging.INFO)
+    loggers = [app.logger]
+    for logger in loggers:
+        logger.addHandler(file_handler)
+    app.logger.setLevel(logging.INFO)
+
+
+app = Flask(__name__)
+
+setup_logging(app)
+
+logger = logging.getLogger(__name__)
+
+app.debug = True
+app.config['SECRET_KEY'] = credentials.SECRET_KEY
+app.config['JWT_EXPIRATION_DELTA'] = datetime.timedelta(
+    days=constants.JWT_EXPIRATION_DAYS)
+
+dbm = dbManager(app=app).start_daemon()
+
+jwt = JWT(app, authenticate, identity)
+
+# ----------------------- Database Methods ----------------------------------#
+
+
+def store_to_db(data_dict):
+    """
+        Use the database manager to asynchronously update the database
+
+        :param: data_dict: Dictionary containing data to be stored
+    """
+    validation, err_code = dbm.store(data_dict)
+    return validation, err_code
+
+# ----------------------- FLASK API Methods ---------------------------------- #
+
+
+@app.route('/', methods=['POST'])
+@jwt_required()
+def add_db_entry():
+    """
+        Store received data to database if validation is okay
+
+        :return: validation information and error code
+    """
+
+    data = request.get_json()
+    app.logger.debug("Received Data (POST)")
+    app.logger.debug(pformat(data))
+    # Make sure the data is valid
+    validation, err_code = DataValidator.validate_request_sanity(data)
+    if validation == "OK":
+        app.logger.info("<<<<VALIDATION OK>>>>")
+        validation, err_code = store_to_db(data)
+    else:
+        app.logger.error("<<<<VALIDATION NOT OK>>>>")
+        app.logger.error(pformat({"data": validation, "error_code": err_code}))
+    info_json = jsonify({"data": validation, "error_code": err_code})
+    return info_json, err_code
+
+
+@app.route("/")
+def home():
+    info_json = jsonify({"type": "INFO", "data": "Quality Metrics"})
+    return info_json, 200
+
+
+if __name__ == '__main__':
+    try:
+        app.run(host=constants.LISTEN_ALL_IPS, port=5000)
+    except Exception as ex:
+        template = "An exception of type {0} occurred. Arguments:\n{1!r}"
+        message = template.format(type(ex).__name__, ex.args)
+        app.logger.error("message")
+        dbm.stop()
diff --git a/quality-metrics/broker-component/requirements.txt b/quality-metrics/broker-component/requirements.txt
new file mode 100644
index 0000000..115caa2
--- /dev/null
+++ b/quality-metrics/broker-component/requirements.txt
@@ -0,0 +1,35 @@
+#======================================================================
+# Copyright (c) 2020, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#======================================================================
+
+#===============================================================================
+# FILE: requirements.txt
+#
+# DESCRIPTION: Requirements for metrics server
+#===============================================================================
+
+attrs==19.3.0
+certifi==2020.4.5.2
+chardet==3.0.4
+click==7.1.2
+Flask==1.1.2
+Flask-JWT==0.3.2
+idna==2.9
+importlib-metadata==1.6.1
+influxdb==5.3.0
+itsdangerous==1.1.0
+Jinja2==2.11.2
+jsonschema==3.2.0
+MarkupSafe==1.1.1
+msgpack==0.6.1
+PyJWT==1.4.2
+pyrsistent==0.16.0
+python-dateutil==2.8.1
+pytz==2020.1
+requests==2.23.0
+six==1.15.0
+urllib3==1.25.9
+Werkzeug==1.0.1
+zipp==3.1.0
