This project hosts the source code of the dashboard module of the 5GMETA platform.
The main objective of the dashboard is to provide a graphical interface to the data consumers allowing them to benefit from the 5GMETA platform features that are otherwise only accessible using API requests.
Its implementation is based on the Angular 20 framework.
To install Angular on a local system, the following requirements are needed:
- Node.js
- Check the version compatibility.
- More information on installing Node.js on its official website.
- npm package manager
- It should be installed with Node.js by default.
- To verify, run
npm -v.
Versions used in dev :
The dashboard relies on the 5GMETA identity module which is based on Keycloak to authenticate users. Additionally, it uses the user management API to manage user business information.
The main objective of the data catalogue module is to allow the exploration of the referenced dataflows on the platform.
It relies on the OpenStreetMap API and the 5GMETA dataflow API.
The subscription module groups all the features allowing the management of the subscription to the dataflows.
It relies on the 5GMETA dataflow API, discovery API and cloudinstance API.
The monitoring module is responsible of the presentation of the real-time data regarding the usage of the 5GMETA platform in particular the volume and cost of data consumption for the current user.
It relies on the 5GMETA platform metering features supported by Prometheus.
Before starting, ensure you have:
- Node.js (version compatible with Angular 20)
- npm package manager
npm installThe application works with two services running in parallel:
npm run serverThis launches json-server on http://localhost:3000 with mock routes defined in mocks/routes-dev.json.
Available Mock Routes:
/datatypes/:datatype/properties→/SubtypeCits/properties/mec/tile/:id→/mec/tile?id=:id/api/v1/query_range*→/prometheus-query/user-business-info/:id→/user-business-info/mec/tile→/mectile
In another terminal:
npm startThe application will be available at http://localhost:4200
To deploy a development version, the following commands are necessary:
npm install
npm startThen open your browser and go to http://localhost:4200
| Package | Before | After |
|---|---|---|
@angular/animations |
^19.2.18 |
^20.2.10 |
@angular/cdk |
^19.2.18 |
^20.2.10 |
@angular/common |
^19.x |
^20.2.10 |
@angular/compiler |
^19.x |
^20.2.10 |
@angular/core |
^19.x |
^20.2.10 |
@angular/forms |
^19.x |
^20.2.10 |
@angular/google-maps |
^19.2.18 |
^20.2.10 |
@angular/material |
^19.2.18 |
^20.2.10 |
@angular/platform-browser |
^19.x |
^20.2.10 |
@angular/platform-browser-dynamic |
^19.x |
^20.2.10 |
@angular/router |
^19.x |
^20.2.10 |
@angular-devkit/build-angular |
^19.2.18 |
^20.2.10 |
@angular/cli |
^19.x |
^20.2.10 |
@angular/compiler-cli |
^19.x |
^20.2.10 |
@angular/localize |
^19.x |
^20.2.10 |
keycloak-angular |
^19.0.2 |
^20.0.0 |
keycloak-js |
^19.0.3 |
^20.0.0 |
ngx-toastr |
^15.2.2 |
^16.0.0 |
ngx-ui-loader |
^13.0.0 |
^14.0.0 |
xng-breadcrumb |
^13.0.0 |
^14.0.0 |
angular-confirmation-popover |
^6.0.0 |
^7.0.0 |
To deploy in production mode, the following steps need to be followed:
- Build the application
npm build- A
distdirectory should be generated
- Deploy the application
- Serve the
distfolder content with a production web server - Precise instructions depend on the chosen web server
- Serve the
- Configure fallback to
index.html- The procedure is dependent on the chosen web server, but examples of configuration are provided on the official Angular website.
- Start the web server
Important: Mock routes are disabled in production. The application will connect directly to the backend APIs.
- Anderson Chaville
- Mejdi Ghorri
- Kamel Khenessi
- Mohamed Tarhouni
- Mandimby Ranaivo R.
- Wisal Mechi
- Theo Dupont
- Laeticia Calice
- Contact: [email protected]
Copyright : Copyright 2025 AKKODIS
License : EUPL 1.2 (https://eupl.eu/1.2/en/)
The European Union Public Licence (EUPL) is a copyleft free/open source software license created on the initiative of and approved by the European Commission in 23 official languages of the European Union.
Licensed under the EUPL License, Version 1.2 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://eupl.eu/1.2/en/
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.