diff --git a/src/app/pages/about/about-routing.module.ts b/src/app/pages/about/about-routing.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..09dd57bfe183ff20f195d2bfe8634728c42e0d04 --- /dev/null +++ b/src/app/pages/about/about-routing.module.ts @@ -0,0 +1,28 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { ExternalAppComponent } from '../external-app/external-app.component'; +import { AboutComponent } from './about.component'; +import { InfoComponent } from './info/info.component'; +import { SiteComponent } from './site/site.component'; + + + + +const routes: Routes = [{ + path: '', + component: AboutComponent, + children: [{ + path: 'info', + component: InfoComponent, + }, { + path: 'project', + component: SiteComponent, + } + ], +}]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class AboutRoutingModule { } diff --git a/src/app/pages/about/about.component.ts b/src/app/pages/about/about.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..d0b3fb5b4a3dc05befc144b6f34068daabdbe777 --- /dev/null +++ b/src/app/pages/about/about.component.ts @@ -0,0 +1,16 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'ngx-about', + template: ` + <router-outlet></router-outlet> +`, +}) +export class AboutComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/pages/about/about.module.ts b/src/app/pages/about/about.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..08d5b7fd0c9ac9e367ec58b82356e7809eeaa02a --- /dev/null +++ b/src/app/pages/about/about.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { InfoComponent } from './info/info.component'; +import { SiteComponent } from './site/site.component'; +import { AboutComponent } from './about.component'; +import { AboutRoutingModule } from './about-routing.module'; +import { NbCardModule } from '@nebular/theme'; +import { MatCardModule } from '@angular/material/card'; + + + +@NgModule({ + declarations: [InfoComponent, SiteComponent, AboutComponent], + imports: [ + CommonModule, + AboutRoutingModule, + NbCardModule, + MatCardModule + ] +}) +export class AboutModule { } diff --git a/src/app/pages/about/info/info.component.html b/src/app/pages/about/info/info.component.html new file mode 100644 index 0000000000000000000000000000000000000000..821c912a159cb87c35fda4de4aa8d2a3399b2480 --- /dev/null +++ b/src/app/pages/about/info/info.component.html @@ -0,0 +1,49 @@ +<mat-card class="mb-1"> + <mat-card-header> + <mat-card-title>Urbanite Project</mat-card-title> + <mat-card-subtitle>A platform that will assist with decision-making in urban transportation and transformation + </mat-card-subtitle> + </mat-card-header> + <mat-card-content> + <p> + In recent years, with the population and size of cities increasing exponentially, transportation has become + even more important. The need for more efficient mobility solutions has been met with a variety of new + concepts like sharing vehicles, electric scooters for rent, and even disruptive start-ups like Uber or + Cabify, which are causing a stir with previously used models. However, such new models are putting public + administrations in a challenging situation. The EU-funded URBANITE project aims to develop a solution that + collects and analyses data, that combined with AI, can assist public administrations in policy-related + decisions concerning urban transformation caused by these new transportation and business models. URBANITE + focuses also on social aspects, by analyzing stakeholders’ trust in technologies aiding decision-making. + </p> + + </mat-card-content> +</mat-card> +<mat-card class="mt-1"> + <mat-card-header> + <mat-card-title>Objects</mat-card-title> + </mat-card-header> + <mat-card-content> + <p> + Cities are facing a revolution in urban mobility. Emerging start-ups are offering innovative mobility + solutions to satisfy the demand of the growing population, both living or moving into the cities every day. + We are moving from the concept of owning to sharing a vehicle; from using public transport services to + moving around with a hop on/off bike or electric scooter; disruptive start-ups (Uber, Cabify) are shaking up + traditionally established business models... But this innovation is also bringing up unforeseen consequences + that public administrations need to manage. Electric scooters driven in pedestrian areas are posing safety + risks and even pedestrian kills; piles of broken bikes are laying around in streets; protests and strikes by + taxi drivers; electric charge points need to coexist with the growing demand for public parking spaces. It + is in this new context that public administrations need means to help them understand this new scenario, + supporting them in making policy–related decisions and predicting eventualities. There is a need of a + platform that can harvest, fuse and curate data from heterogeneous sources, that can extract knowledge to + help in the decision-making processes and simulation of solutions to anticipate behaviours and delimit + unforeseen consequences. Besides, such intelligent platform can foster cross-departmental collaboration by + eradicating internal silos. URBANITE will analyse the impact, trust and attitudes of civil servants, + citizens and other stakeholders with respect to the integration of disruptive technologies such as AI, DSS, + big data analytics and predictive algorithms in a data–driven decision-making process. To this end, URBANITE + will provide recommendations, pathways and toolkits (both ICT-based such as data management platform and + DSS, and non-ICT such as co-creation activities and a repository of social-related assets) for city + managers. Results will be validated in 4 real use cases: Amsterdam, Bilbao, Helsinki and Messina. + </p> + + </mat-card-content> +</mat-card> \ No newline at end of file diff --git a/src/app/pages/about/info/info.component.scss b/src/app/pages/about/info/info.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/app/pages/about/info/info.component.spec.ts b/src/app/pages/about/info/info.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..315d7d80900fcefdc4e0760eab532083d396c97f --- /dev/null +++ b/src/app/pages/about/info/info.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { InfoComponent } from './info.component'; + +describe('InfoComponent', () => { + let component: InfoComponent; + let fixture: ComponentFixture<InfoComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ InfoComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(InfoComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/about/info/info.component.ts b/src/app/pages/about/info/info.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..d6870b7e4b2814aba31721eddb23823bb3d4975b --- /dev/null +++ b/src/app/pages/about/info/info.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'ngx-info', + templateUrl: './info.component.html', + styleUrls: ['./info.component.scss'] +}) +export class InfoComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/pages/about/site/site.component.html b/src/app/pages/about/site/site.component.html new file mode 100644 index 0000000000000000000000000000000000000000..cccf4258e8ef08f0d5e5ba8439ec09033b9e09a8 --- /dev/null +++ b/src/app/pages/about/site/site.component.html @@ -0,0 +1 @@ +<iframe src="https://urbanite-project.eu/" width="100%" height="680" frameborder="0"></iframe> \ No newline at end of file diff --git a/src/app/pages/about/site/site.component.scss b/src/app/pages/about/site/site.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/app/pages/about/site/site.component.spec.ts b/src/app/pages/about/site/site.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a7854bf40dc158088129383f80d3aa59083ba1e2 --- /dev/null +++ b/src/app/pages/about/site/site.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SiteComponent } from './site.component'; + +describe('SiteComponent', () => { + let component: SiteComponent; + let fixture: ComponentFixture<SiteComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SiteComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SiteComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/about/site/site.component.ts b/src/app/pages/about/site/site.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..08b11fc8e145d2a0d8382c2bfa3e05285a275b7f --- /dev/null +++ b/src/app/pages/about/site/site.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'ngx-site', + templateUrl: './site.component.html', + styleUrls: ['./site.component.scss'] +}) +export class SiteComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/pages/charts/chartjs/chartjs.component.html b/src/app/pages/charts/chartjs/chartjs.component.html index dbcafda359f0bef93a59700cf3eb62f01cfe8b96..0213a88eca1ef680e45beb474440df093c211320 100644 --- a/src/app/pages/charts/chartjs/chartjs.component.html +++ b/src/app/pages/charts/chartjs/chartjs.component.html @@ -1,7 +1,11 @@ <div class="row"> <div class="col-lg-6"> <nb-card> - <nb-card-header>Pie</nb-card-header> + <nb-card-header> + Pie + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-chartjs-pie></ngx-chartjs-pie> </nb-card-body> @@ -9,7 +13,11 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Bar</nb-card-header> + <nb-card-header>Bar + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> + <nb-card-body> <ngx-chartjs-bar></ngx-chartjs-bar> </nb-card-body> @@ -17,7 +25,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Line</nb-card-header> + <nb-card-header>Line + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-chartjs-line></ngx-chartjs-line> </nb-card-body> @@ -25,7 +36,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Multiple x-axis</nb-card-header> + <nb-card-header>Multiple x-axis + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-chartjs-multiple-xaxis></ngx-chartjs-multiple-xaxis> </nb-card-body> @@ -33,7 +47,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Bar Horizontal</nb-card-header> + <nb-card-header>Bar Horizontal + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-chartjs-bar-horizontal></ngx-chartjs-bar-horizontal> </nb-card-body> @@ -41,7 +58,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Radar</nb-card-header> + <nb-card-header>Radar + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-chartjs-radar></ngx-chartjs-radar> </nb-card-body> diff --git a/src/app/pages/charts/d3/d3.component.html b/src/app/pages/charts/d3/d3.component.html index bb1275bd6875ca05c805da95955ecfe5c0c3d4cf..610cb3b2c6a97959e7e9939021b2dc218b5dcf71 100644 --- a/src/app/pages/charts/d3/d3.component.html +++ b/src/app/pages/charts/d3/d3.component.html @@ -1,7 +1,10 @@ <div class="row"> <div class="col-lg-6"> <nb-card> - <nb-card-header>Pie</nb-card-header> + <nb-card-header>Pie + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-d3-pie></ngx-d3-pie> </nb-card-body> @@ -9,7 +12,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Bar</nb-card-header> + <nb-card-header>Bar + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-d3-bar></ngx-d3-bar> </nb-card-body> @@ -17,7 +23,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Line</nb-card-header> + <nb-card-header>Line + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-d3-line></ngx-d3-line> </nb-card-body> @@ -25,7 +34,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Advanced Pie</nb-card-header> + <nb-card-header>Advanced Pie + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-d3-advanced-pie></ngx-d3-advanced-pie> </nb-card-body> @@ -33,7 +45,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Area Chart</nb-card-header> + <nb-card-header>Area Chart + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-d3-area-stack></ngx-d3-area-stack> </nb-card-body> diff --git a/src/app/pages/charts/echarts/echarts.component.html b/src/app/pages/charts/echarts/echarts.component.html index b3a7ec4bce6072517b4a15aa4bd79306bdf17b1d..b89cb94007072a80099d6f87c65b2bb49cbc1f0d 100644 --- a/src/app/pages/charts/echarts/echarts.component.html +++ b/src/app/pages/charts/echarts/echarts.component.html @@ -1,7 +1,10 @@ <div class="row"> <div class="col-lg-6"> <nb-card> - <nb-card-header>Pie</nb-card-header> + <nb-card-header>Pie + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-echarts-pie></ngx-echarts-pie> </nb-card-body> @@ -9,7 +12,10 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Bar</nb-card-header> + <nb-card-header>Bar + <br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span> + </nb-card-header> <nb-card-body> <ngx-echarts-bar></ngx-echarts-bar> </nb-card-body> @@ -17,7 +23,8 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Line</nb-card-header> + <nb-card-header>Line<br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span></nb-card-header> <nb-card-body> <ngx-echarts-line></ngx-echarts-line> </nb-card-body> @@ -25,7 +32,8 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Multiple x-axis</nb-card-header> + <nb-card-header>Multiple x-axis<br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span></nb-card-header> <nb-card-body> <ngx-echarts-multiple-xaxis></ngx-echarts-multiple-xaxis> </nb-card-body> @@ -33,7 +41,8 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Area Stack</nb-card-header> + <nb-card-header>Area Stack<br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span></nb-card-header> <nb-card-body> <ngx-echarts-area-stack></ngx-echarts-area-stack> </nb-card-body> @@ -41,7 +50,8 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Bar Animation</nb-card-header> + <nb-card-header>Bar Animation<br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span></nb-card-header> <nb-card-body> <ngx-echarts-bar-animation></ngx-echarts-bar-animation> </nb-card-body> @@ -49,7 +59,8 @@ </div> <div class="col-lg-6"> <nb-card> - <nb-card-header>Radar</nb-card-header> + <nb-card-header>Radar<br/> + <span class="subtitle-2 text-hint">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span></nb-card-header> <nb-card-body> <ngx-echarts-radar></ngx-echarts-radar> </nb-card-body> diff --git a/src/app/pages/external-app/card-links/card-links.component.html b/src/app/pages/external-app/card-links/card-links.component.html index 7406b1e7878a730741c15638976b54a89ee8c95f..5927bf98b8844e90b093c4652bec8a00a058ee18 100644 --- a/src/app/pages/external-app/card-links/card-links.component.html +++ b/src/app/pages/external-app/card-links/card-links.component.html @@ -1,18 +1,18 @@ -<div class="d-flex justify-content-center align-items-center h-100"> -<mat-card class="col-6" *ngFor="let c of cards"> +<div class="d-flex flex-row justify-content-between align-items-center h-50"> + <mat-card class="col-6 mr-2" *ngFor="let c of cards"> <mat-card-header> - <div mat-card-avatar> <img mat-card-image src="/assets/images/oia.png" > </div> + <img mat-card-avatar [src]="c.avatar"> <mat-card-title>{{c.title}}</mat-card-title> <mat-card-subtitle>{{c.subtitle}}</mat-card-subtitle> </mat-card-header> - <img mat-card-image src="/assets/images/oia-page.png" alt="Photo of a Shiba Inu"> <mat-card-content> + <img mat-card-image class="img-responsive" [src]="c.image"> <p> {{c.description}} </p> </mat-card-content> <mat-card-actions class="d-flex justify-content-center"> - <a href="{{c.url}}" mat-button>OPEN</a> + <a href="{{c.url}}" mat-button target="_blank">OPEN</a> </mat-card-actions> </mat-card> </div> \ No newline at end of file diff --git a/src/app/pages/external-app/external-app.module.ts b/src/app/pages/external-app/external-app.module.ts index 767274a7dfd8bdd55df867a1bed01d9b92a612e7..448adb5ef60064fe1fcafa7b3f92282a5c3e1f65 100644 --- a/src/app/pages/external-app/external-app.module.ts +++ b/src/app/pages/external-app/external-app.module.ts @@ -5,7 +5,7 @@ import { ExternalAppComponent } from './external-app.component'; import { ThemeModule } from '../../@theme/theme.module'; import { ExternalAppRoutingModule } from './external-app-routing.module'; import { NbCardModule } from '@nebular/theme'; -import {MatCardModule} from '@angular/material/card'; +import { MatCardModule } from '@angular/material/card'; const components = [ ExternalAppComponent, diff --git a/src/app/pages/external-app/iframes/iframes.component.html b/src/app/pages/external-app/iframes/iframes.component.html index 41bb86f8b07ca2ce7e3b0923c1dcc1735a753027..cccf4258e8ef08f0d5e5ba8439ec09033b9e09a8 100644 --- a/src/app/pages/external-app/iframes/iframes.component.html +++ b/src/app/pages/external-app/iframes/iframes.component.html @@ -1 +1 @@ -<iframe src="https://idra.eng.it" width="100%" height="680" frameborder="0"></iframe> \ No newline at end of file +<iframe src="https://urbanite-project.eu/" width="100%" height="680" frameborder="0"></iframe> \ No newline at end of file diff --git a/src/app/pages/pages-menu.ts b/src/app/pages/pages-menu.ts index f99ad0ceff8eeb2978ecc2741f2b0e2384bd4383..792275835e8ad6f9a8740a3c2aa9fb44e0757739 100644 --- a/src/app/pages/pages-menu.ts +++ b/src/app/pages/pages-menu.ts @@ -5,6 +5,11 @@ export const MENU_ITEMS: NbMenuItem[] = [ title: 'SERVICES', group: true, }, + { + title: 'Home', + icon: 'home-outline', + link: "/pages/home" + }, { title: 'Maps', icon: 'map-outline', @@ -41,13 +46,27 @@ export const MENU_ITEMS: NbMenuItem[] = [ { title: 'Card Links', link: '/pages/external-app/card-links', - }, - { - title: 'Iframes', - link: '/pages/external-app/iframes', } + // { + // title: 'Iframes', + // link: '/pages/external-app/iframes', + // } ], }, + { + title: 'Urbanite Project', + icon: 'info-outline', + link: '/pages/about', + children: [{ + title:"About Urbanite", + link:"/pages/about/info" + } + // ,{ + // title:"Site Project", + // link:"/pages/about/project" + // } + ], + }, { title: 'UI Features', icon: 'keypad-outline', diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts index fedfdf6be0f3ff9a4708332bb72a264f276fe1d2..c771799c59cd3ad5101057d5d4b615caa249bd30 100644 --- a/src/app/pages/pages-routing.module.ts +++ b/src/app/pages/pages-routing.module.ts @@ -14,6 +14,11 @@ const routes: Routes = [{ loadChildren: () => import('./external-app/external-app.module') .then(m => m.ExternalAppModule), }, + { + path: 'about', + loadChildren: () => import('./about/about.module') + .then(m => m.AboutModule), + }, { path: 'ui-features', loadChildren: () => import('./ui-features/ui-features.module') diff --git a/src/assets/config.json b/src/assets/config.json index 3faac0842b78aa9a8ac7143c91e9b6ac67769616..625c244d7f8b5e19a4c6871af99144d34ba53e6a 100644 --- a/src/assets/config.json +++ b/src/assets/config.json @@ -8,6 +8,15 @@ "image": "/assets/images/oia-page.png", "description": "The Open Innovation Area (OIA) is an evolved Idea Management System that allows the stakeholders to track real needs and to address them by adopting a co-creation and innovation approach.", "responsible_partner":"ENG" + }, + { + "url": "https://idra.eng.it", + "title": "Idra", + "subtitle":"Open Data Federation Platform", + "avatar": "https://idra.eng.it/images/idra_D_v6_black.svg", + "image": "https://idra.readthedocs.io/en/latest/user/userhomepage.png", + "description": "Idra is a web application able to federate existing Open Data Management Systems (ODMS) based on different technologies providing a unique access point to search and discover open datasets coming from heterogeneous sources. Idra uniforms representation of collected open datasets, thanks to the adoption of international standards (DCAT-AP) and provides a set of RESTful APIs to be used by third party applications.", + "responsible_partner":"ENG" } ] } \ No newline at end of file