fl-demonstrator-frontend

A frontend for the federated learning demonstrator

https://github.com/dlr-ki/fl-demonstrator-frontend

Science Score: 75.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
    Organization dlr-ki has institutional domain (www.dlr.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

A frontend for the federated learning demonstrator

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 2
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Federated Learning Demonstrator Frontend

DOI

The amazing frontend for the Federated Learning Demonstrator build and optimized for Catena-X. The frontend is written in TypeScript using the React framework.

The Federated Learning (FL) platform is serving as a proof of concept for the Catena-X project. The FL platform aims to demonstrate the potential of federated learning in a practical, real-world context.

A complete list of all repositories relevant to the FL platform can be found here.

Get Started

This README.md is primarily intended for developers and contributors, providing necessary information for setup, installation, and contribution guidelines. If you're interested in using or testing this project, we recommend starting with the GitHub pages which serves this documentation. They offer a more user-friendly interface and comprehensive guides to get you started.

Requirements

Server

NodeJS

```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash source ~/.bashrc nvm list-remote

Check relevant version in package.json

nvm install v ```

Python >= 3.8

```bash sudo apt install python

If not available you can add latest versions with

sudo add-apt-repository ppa:deadsnakes/ppa ```

Venv

```bash

Install venv

sudo apt install python-venv ```

Install

```bash

install all dependencies

npm install ```

The documentation is written in markdown and rendered with MkDocs and its material theme. Hence, mkdocs need to be installed.

```bash

create virtual environment

virtualenv -p $(which python) .venv

or

python -m venv .venv

source .venv/bin/activate

update pip (optional)

python -m pip install -U pip

install

python -m pip install -U mkdocs-material ```

Available Scripts

In the project directory, the following actions are available:

  • npm install

    Installs all relevant dependencies

  • npm start

    Runs the app in the development mode. Open http://localhost:3000 to view it in the browser.

    Note: The page will reload if you make edits. You will also see any lint errors in the console.

  • npm test

    Launches the test runner in the interactive watch mode. See the section about running tests for more information.

    To launch all tests without any interaction as well as print the current test coverage report:

    bash npm test --silent -- --all --watchAll=false --coverage --passWithNoTests

  • npm run build

    Builds the app for production to the build folder. It correctly bundles React in production mode and optimizes the build for the best performance.

    The build is minified and the filenames include the hashes. The app is ready to be deployed! See the section about deployment for more information.

  • npm run build:docker

    Creates a Docker container image of the app in production mode with the tag local/fl-frontend:latest. Afterwards, a container instance can be started with docker run --name nginx --rm --network host local/fl-frontend:latest. Open http://localhost:8080 to view the result in the browser.

  • npm run build:doc

    Builds the documentation with mkdocs.

  • npm run doc

    Serves the documentation with mkdocs.

  • npm run lint

    Run all linter.

  • npm run lint:code

    Run static code analysis.

  • npm run lint:doc

    Run markdown code analysis for documentation and README.md.

Credits

DLR DLR
Catena-X Catena-X
European Union European Union BMWK

Owner

  • Name: DLR Institute of AI Safety and Security
  • Login: DLR-KI
  • Kind: organization

Citation (CITATION.cff)

# SPDX-FileCopyrightText: 2024 Benedikt Franke <benedikt.franke@dlr.de>
# SPDX-FileCopyrightText: 2024 Florian Heinrich <florian.heinrich@dlr.de>
#
# SPDX-License-Identifier: Apache-2.0

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: DLR Federated Learning Logging Base
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Unruh
    family-names: Johannes
    email: johannes.unruh@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0009-0003-3214-0331'
  - given-names: Tarek
    family-names: Stolz
    email: tarek.stolz@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0009-0000-5735-4318'
  - given-names: Martin
    family-names: Lanz
    email: martin.lanz@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0009-0004-5430-5587'
  - given-names: Florian
    family-names: Heinrich
    email: florian.heinrich@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0009-0007-0792-7908'
  - given-names: Benedikt
    family-names: Franke
    email: benedikt.franke@dlr.de
    affiliation: German Aerospace Center (DLR)
    orcid: 'https://orcid.org/0000-0003-0202-2804'
identifiers:
  - type: doi
    value: 10.5281/zenodo.13951223
repository-code: 'https://github.com/DLR-KI/fl-demonstrator-frontend'
url: 'https://dlr-ki.github.io/fl-demonstrator-frontend/'
keywords:
  - Federated Machine Learning
  - Typescript
  - React
date-released: 2024-07-31

GitHub Events

Total
  • Release event: 1
  • Watch event: 1
  • Push event: 5
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 1
  • Push event: 5
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v4 composite
  • actions/deploy-pages v3 composite
  • actions/setup-node v4 composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact v2 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
Dockerfile docker
  • nginxinc/nginx-unprivileged latest build
  • node alpine build
package-lock.json npm
  • 1366 dependencies
package.json npm
  • @babel/plugin-proposal-private-property-in-object ^7.21.11 development
  • @testing-library/jest-dom ^5.16.5 development
  • @testing-library/react ^13.4.0 development
  • @testing-library/user-event ^13.5.0 development
  • @types/file-saver ^2.0.7 development
  • @types/jest ^27.5.2 development
  • @types/node ^16.18.36 development
  • @types/react ^18.2.14 development
  • @types/react-dom ^18.2.6 development
  • @emotion/react ^11.11.1
  • @emotion/styled ^11.11.0
  • @mui/icons-material ^5.11.16
  • @mui/material ^5.13.6
  • @mui/styled-engine-sc ^5.12.0
  • axios ^1.4.0
  • axios-case-converter ^1.1.0
  • file-saver ^2.0.5
  • http-proxy-middleware ^2.0.6
  • markdownlint-cli2 ^0.12.1
  • minidenticons ^4.2.0
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-router-dom ^6.11.2
  • react-scripts 5.0.1
  • recharts ^2.10.3
  • sass ^1.63.6
  • typescript ^4.9.5
  • web-vitals ^2.1.4