Go to file
Alfredo Oliviero 9be0f73ffc Merge branch 'isgui-prod' into development 2026-07-28 20:48:25 +02:00
.kilo chore(skills): move testplan-manager back to worktree .kilo 2026-07-22 13:57:07 +02:00
.vscode vscode launch local browser 2026-03-26 17:30:15 +01:00
NOTE docs(task): add save-integrity initiative, move JSON fixtures, prune dead prompt 2026-07-21 20:30:25 +02:00
docs docs 2026-07-17 19:26:04 +02:00
images missing readme images 2026-03-31 15:53:33 +02:00
public public resources 2026-06-26 17:07:48 +02:00
src Merge branch 'isgui-prod' into development 2026-07-28 20:48:25 +02:00
task docs(task): close out IMP-V17 — masonry/row/grid merged to development 2026-07-28 12:09:16 +02:00
.editorconfig initial commit 2025-05-30 14:05:26 +02:00
.gitignore fix(build): stop generating version.ts, read version from package.json 2026-07-21 19:54:39 +02:00
.nvmrc node version 20 2025-05-30 14:19:11 +02:00
AGENTS.md docs(task): unified task-management mechanism (raw → spec → plan → summary) 2026-07-20 12:18:59 +02:00
CHANGELOG.md gcube project docs 2026-03-31 15:38:33 +02:00
CITATION.cff gcube project docs 2026-03-31 15:38:33 +02:00
FUNDING.md gcube project docs 2026-03-31 15:38:33 +02:00
LICENSE.md license etc 2025-05-31 07:05:20 +02:00
PROJECT_SPECIFICATIONS.md code format 2025-06-03 19:09:51 +02:00
README-Angular.md license etc 2025-05-31 07:05:20 +02:00
README.md gcube project docs 2026-03-31 15:38:33 +02:00
TEST-CHECKLIST.md refactor(views): unify collection wrappers into RegistryTypeCollectionComponent (IMP-V03) 2026-07-22 13:05:16 +02:00
angular.json fix(test): switch karma builder to esbuild application mode 2026-07-28 12:44:20 +02:00
deploy.md chore: add deploy notes, Keycloak client config, and new bug report 2026-07-20 19:22:43 +02:00
isgui.d4science.org.json chore: add deploy notes, Keycloak client config, and new bug report 2026-07-20 19:22:43 +02:00
jenkinsfile path compilazione 2026-03-31 19:42:26 +02:00
llm.txt docs, llm.txt, config su enviroments 2026-02-17 12:30:14 +01:00
mkdocs.yml docs 2026-07-17 19:26:04 +02:00
package-lock.json chore: update package-lock.json 2026-07-22 01:46:02 +02:00
package.json fix(build): stop generating version.ts, read version from package.json 2026-07-21 19:54:39 +02:00
proxy.conf.json context, implementation in progress. still not working 2026-03-05 20:15:30 +01:00
tsconfig.app.json initial commit 2025-05-30 14:05:26 +02:00
tsconfig.json num versione 2026-05-29 15:19:32 +02:00
tsconfig.spec.json initial commit 2025-05-30 14:05:26 +02:00

README.md

is-gui

License: EUPL-1.2 Changelog Cite

This project is an Angular and TypeScript application designed to serve as a Graphical User Interface (GUI) for the Information System (IS). It facilitates the monitoring and configuration of resources within the gCube framework. The application integrates with Keycloak for authentication and authorization and communicates with a REST API backend to manage and display resource information.

Table of contents

Overview

Structure of the project

  • This is an Angular project. Key folders include:
    • src/app/: Contains the application components, services, and modules.
    • src/app/dynamic-viewer/: The DynamicEntityViewer framework, aliased as @dv.
    • src/assets/: For static assets like images and fonts.
    • src/environments/: For environment-specific configuration files (development and production).
  • PROJECT_SPECIFICATIONS.md: Contains detailed project requirements and feature tracking.
  • appunti.md: Contains development notes and brainstorming.

Built With

  • Angular - The web application framework used
  • Angular CLI - Command line interface for Angular
  • TypeScript - Superset of JavaScript that compiles to plain JavaScript
  • Bootstrap 5 (via ng-bootstrap) - For UI components and styling
  • Keycloak - For authentication and authorization (via keycloak-angular and keycloak-js)

Key Features (from PROJECT_SPECIFICATIONS.md and appunti.md)

  • Authentication & Authorization:
    • Keycloak integration for user login/logout.
    • Role-based authorization (IS-Manager, Infrastructure-Manager).
    • User profile page.
    • Silent Single Sign-On (SSO).
  • Resource Management:
    • Context Management: Listing, selection, and search of contexts.
    • Resource Type Management:
      • Tree view of resource types.
      • Listing instances of a selected type.
      • Detailed view of type instances (UUID, associated facets).
      • Creation, modification, and deletion of type instances.
      • Management of associated facets, including relationships and custom fields.
      • Use of QueryTemplate to define tabular views.
    • Basket Functionality: Allows users to select and set aside objects for later consultation (similar to a monitor).
  • Dynamic Visualization Engine (DynamicEntityViewer - @dv):
    • A decoupled framework for rendering entities using various view modes (Table, List, Tree, JSON).
    • Injected domain configuration for inheritance and custom views.
    • Automatic view scoping (Item vs. Collection).
    • Interactive navigation stack management.
  • API Interaction:
    • RegistryApiClientService for communication with the Resource Registry REST API.
    • Automatic inclusion of Keycloak token in API calls.
    • TypeScript interfaces for API data models.

Continuous Deployment (CD)

The project follows a branch-based deployment strategy. Merging code into the following branches triggers the Continuous Deployment (CD) for the corresponding environments:

  • isgui-dev: Triggers deployment to the Development (DEV) environment.
  • isgui-pre: Triggers deployment to the Pre-production (PRE) environment.
  • isgui-prod: Triggers deployment to the Production (PROD) environment.

To deploy changes, simply merge your development branch into the target environment branch.

Documentation

Registry Application

Core Framework

This project utilizes the DynamicEntityViewer Framework, a decoupled visualization engine located in src/app/dynamic-viewer/.

Changelog

See CHANGELOG.md.

Authors

How to Cite

If you use this software, please cite it using the metadata in CITATION.cff

License

This project is licensed under the terms specified in the LICENSE.md file.

About gCube

This software is part of the gCube Framework: an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments by favouring the realisation of reuse oriented policies. The gCube Framework supports the development and operation of the D4Science Infrastructure.

Funding

See FUNDING.md