project-details works!
+
+
\ No newline at end of file
diff --git a/src/app/project-details/project-details.component.scss b/src/app/project-details/project-details.component.scss
index e69de29b..1b230616 100644
--- a/src/app/project-details/project-details.component.scss
+++ b/src/app/project-details/project-details.component.scss
@@ -0,0 +1,13 @@
+.project-details-container{
+ padding: 12px;
+ .p-name{
+ font-weight: bold;
+ font-size: 18px;
+ }
+ .right{
+ float: right;
+ }
+ .details-container{
+ clear: both;
+ }
+}
\ No newline at end of file
diff --git a/src/app/project-details/project-details.component.ts b/src/app/project-details/project-details.component.ts
index d5086873..15ca20a0 100644
--- a/src/app/project-details/project-details.component.ts
+++ b/src/app/project-details/project-details.component.ts
@@ -1,4 +1,7 @@
import { Component, OnInit } from '@angular/core';
+import { HttpService } from '../services/http.service';
+import { ActivatedRoute } from '@angular/router';
+import { Router } from '@angular/router';
@Component({
selector: 'app-project-details',
@@ -7,9 +10,29 @@ import { Component, OnInit } from '@angular/core';
})
export class ProjectDetailsComponent implements OnInit {
- constructor() { }
+ constructor(
+ private api: HttpService,
+ private route: ActivatedRoute,
+ private router: Router
+ ) { }
+
+ projectName: any;
+ projectDetails: any;
ngOnInit(): void {
+ this.projectName = this.route.snapshot.paramMap.get('projectName')?.toLowerCase();
+ this.getProjectDetails();
+ }
+
+ getProjectDetails(){
+ this.api.getProjectDetails(this.projectName).subscribe(resp => {
+ console.log(resp);
+ this.projectDetails = resp;
+ });
+ }
+
+ returnBack(){
+ this.router.navigateByUrl('projects');
}
}
diff --git a/src/app/project-intro/project-intro.component.html b/src/app/project-intro/project-intro.component.html
index 249b0f67..12869112 100644
--- a/src/app/project-intro/project-intro.component.html
+++ b/src/app/project-intro/project-intro.component.html
@@ -1,36 +1,24 @@
-
+ {{projectDetails.name}}
+
+
+
+
+
+
+
+ {{useCase}}
+
+
+
+
+ {{feature}}
+
+
+
+ Use Cases
+Features
+
- {{project.shortDescription}}
-
-
- {{project.description}}
-
-
-
- Use Cases
--
-
- - {{useCase}} - -
-
- Features
--
-
- - {{feature}} - -
+ {{project.shortDescription}}
+
+
+ {{project.description}}
+
+
+
-
+
diff --git a/src/app/splash-screen/splash-screen.component.scss b/src/app/splash-screen/splash-screen.component.scss
index 9ee49602..e5e59545 100644
--- a/src/app/splash-screen/splash-screen.component.scss
+++ b/src/app/splash-screen/splash-screen.component.scss
@@ -1,5 +1,5 @@
.app-splash-screen {
- background: #557cc3;
+ background: #212327;
position: fixed;
top: 0;
left: 0;
@@ -29,48 +29,11 @@
}
.app-logo {
- /*background: url("./../../assets/lighty.svg");*/
+ background: url("../../assets/soda-foundation-logo-white.svg");
background-repeat: no-repeat;
max-width: 100%;
background-position: center;
background-size: contain;
- width: 100px;
- height: 100px;
+ width: 600px;
+ height: 400px;
}
-
-.app-loader {
- /*background: url("./../../assets/three-dots.svg");*/
- background-repeat: no-repeat;
- max-width: 100%;
- background-position: center;
- background-size: contain;
- width: 80px;
- height: 80px;
- margin-top: 80px;
-}
-
-.animate-charcter
-{
- background-image: linear-gradient(
- -225deg,
- #231557 0%,
- #44107a 29%,
- #ff1361 67%,
- #fff800 100%
- );
- background-size: auto auto;
- background-clip: border-box;
- background-size: 200% auto;
- color: #fff;
- background-clip: text;
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- animation: textclip 2s linear infinite;
- display: inline-block;
-}
-
-@keyframes textclip {
- to {
- background-position: 200% center;
- }
-}
\ No newline at end of file
diff --git a/src/assets/delfin/delfinDetails.json b/src/assets/delfin/delfinDetails.json
index 3b0578f0..dcdda378 100644
--- a/src/assets/delfin/delfinDetails.json
+++ b/src/assets/delfin/delfinDetails.json
@@ -1,7 +1,17 @@
{
"name": "Delfin",
"slackLink": "",
-
+ "useCases": [
+ "Performance-Monitoring : Monitor storage metrics such as IOP's, r/w throughput, latencies",
+ "Predictive-Analytics : Identify anomalies, forecast resource usage, and fix problems using storage automation capabilities",
+ "Automated-Remediation : Speed up the process of problem solving with alerts"
+ ],
+ "features": [
+ "Support performance monitoring and alerting across heterogeneous storage with CM and Host Mapping",
+ "Unified, intelligent and scalable resource management",
+ "Exporter framework to add custom clients from data processing and visualization. Prometheus supported out of the box",
+ "Support monitoring for EMC, IBM, NetApp, PureStorage, Huawei, etc"
+ ],
"architectureImages": [
{
"imgUrl": "assets/delfin/arch1.jpeg",
diff --git a/src/assets/kahu/kahuDetails.json b/src/assets/kahu/kahuDetails.json
new file mode 100644
index 00000000..89c7156e
--- /dev/null
+++ b/src/assets/kahu/kahuDetails.json
@@ -0,0 +1,29 @@
+{
+ "name": "KAHU",
+ "slackLink": "",
+ "useCases": [
+ "Data Migration: enable cluster portability by easily migrating K8s resources from one cluster to another on-prem and across clouds",
+ "Data Protection: schedule backups, retention schedules, etc.",
+ "Disaster Recovery: reduce time to recovery in case of catastrophic failures"
+ ],
+ "features":[
+ "Snapshot CSI PVC’s",
+ "Backup to any storage (EMC, NetApp, IBM, Huawei, etc.)",
+ "Backup to any cloud storage (AWS S3, Azure Blob, GCP Object Store)",
+ "Multi Cluster",
+ "Global Controller and Meta Data Management"
+ ],
+ "architectureImages": [
+ {
+ "imgUrl": "assets/kahu/arch1.jpeg",
+ "description": "Some description about the above image"
+ }
+ ],
+ "demo": [
+ {
+ "demoUrl": "assets/kahu/demo.avi",
+ "description": "Some description about the above video"
+ }
+ ]
+
+}
\ No newline at end of file
diff --git a/src/assets/projectList.json b/src/assets/projectList.json
index 69f4130e..4f5d2935 100644
--- a/src/assets/projectList.json
+++ b/src/assets/projectList.json
@@ -3,69 +3,24 @@
"name": "DELFIN",
"logo": "assets/delfin/delfin-title.svg",
"shortDescription": "Delfin: Heterogeneous Storage Monitoring",
- "description": "Delfin is an open source storage monitoring and alerting toolkit.",
- "useCases": [
- "Performance-Monitoring : Monitor storage metrics such as IOP's, r/w throughput, latencies",
- "Predictive-Analytics : Identify anomalies, forecast resource usage, and fix problems using storage automation capabilities",
- "Automated-Remediation : Speed up the process of problem solving with alerts"
- ],
- "features": [
- "Support performance monitoring and alerting across heterogeneous storage with CM and Host Mapping",
- "Unified, intelligent and scalable resource management",
- "Exporter framework to add custom clients from data processing and visualization. Prometheus supported out of the box",
- "Support monitoring for EMC, IBM, NetApp, PureStorage, Huawei, etc"
- ]
+ "description": "Delfin is an open source storage monitoring and alerting toolkit."
},
{
"name": "STRATO",
"logo": "assets/strato/strato-title.svg",
"shortDescription": "Strato - Multicloud Data Management",
- "description": "Strato is an open source tool to control data in multicloud IT environments.",
- "useCases": [
- "Cloud Backup: replicate snapshots to multiple clouds for high availability backup",
- "Cloud Switching: easily move data from one cloud to another",
- "Multicloud Content Distribution: distribute content from data center across different clouds"
- ],
- "features":[
- "Provides a cloud vendor agnostic data management for hybrid cloud, intercloud, or intracloud.",
- "Unified interface for file and object services across multiple cloud vendors.",
- "S3 compatible APIs for object data management on cloud or on premise",
- "Deploy on-premise or in the cloud"
- ]
+ "description": "Strato is an open source tool to control data in multicloud IT environments."
},
{
"name": "KAHU",
"logo": "assets/kahu/kahu-title.svg",
"shortDescription": "Kahu: Container Data Protection",
- "description": "Kahu is a cloud native tool to backup and restore, perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes.",
- "useCases": [
- "Data Migration: enable cluster portability by easily migrating K8s resources from one cluster to another on-prem and across clouds",
- "Data Protection: schedule backups, retention schedules, etc.",
- "Disaster Recovery: reduce time to recovery in case of catastrophic failures"
- ],
- "features":[
- "Snapshot CSI PVC’s",
- "Backup to any storage (EMC, NetApp, IBM, Huawei, etc.)",
- "Backup to any cloud storage (AWS S3, Azure Blob, GCP Object Store)",
- "Multi Cluster",
- "Global Controller and Meta Data Management"
- ]
+ "description": "Kahu is a cloud native tool to backup and restore, perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes."
},
{
"name": "TERRA",
"logo": "assets/terra/terra-title.svg",
"shortDescription": "Terra - SDS Controller",
- "description": "Terra is an open source storage management and automation project.",
- "useCases": [
- "Storage Provisioning: automate block and file storage provisioning",
- "Data Protection: schedule snapshots and backups",
- "Storage-as-a-Service (STaaS): self-service catalog empowers users and reduces OPEX"
-
- ],
- "features":[
- "Standardized API, Controller for metadata and Dock for Drivers to provide seamless data management across various storage vendors",
- "Supports to connect different platforms like Kubernetes, Open Stack, VMware through plugins",
- "Supports custom vendors drivers and CSI plugins for heterogeneous storages"
- ]
+ "description": "Terra is an open source storage management and automation project."
}
]
diff --git a/src/assets/strato/stratoDetails.json b/src/assets/strato/stratoDetails.json
new file mode 100644
index 00000000..f0af7b78
--- /dev/null
+++ b/src/assets/strato/stratoDetails.json
@@ -0,0 +1,28 @@
+{
+ "name": "STRATO",
+ "slackLink": "",
+ "useCases": [
+ "Cloud Backup: replicate snapshots to multiple clouds for high availability backup",
+ "Cloud Switching: easily move data from one cloud to another",
+ "Multicloud Content Distribution: distribute content from data center across different clouds"
+ ],
+ "features":[
+ "Provides a cloud vendor agnostic data management for hybrid cloud, intercloud, or intracloud.",
+ "Unified interface for file and object services across multiple cloud vendors.",
+ "S3 compatible APIs for object data management on cloud or on premise",
+ "Deploy on-premise or in the cloud"
+ ],
+ "architectureImages": [
+ {
+ "imgUrl": "assets/strato/arch1.jpeg",
+ "description": "Some description about the above image"
+ }
+ ],
+ "demo": [
+ {
+ "demoUrl": "assets/strato/demo.avi",
+ "description": "Some description about the above video"
+ }
+ ]
+
+}
\ No newline at end of file
diff --git a/src/assets/terra/terraDetails.json b/src/assets/terra/terraDetails.json
new file mode 100644
index 00000000..43441682
--- /dev/null
+++ b/src/assets/terra/terraDetails.json
@@ -0,0 +1,28 @@
+{
+ "name": "TERRA",
+ "slackLink": "",
+ "useCases": [
+ "Storage Provisioning: automate block and file storage provisioning",
+ "Data Protection: schedule snapshots and backups",
+ "Storage-as-a-Service (STaaS): self-service catalog empowers users and reduces OPEX"
+
+ ],
+ "features":[
+ "Standardized API, Controller for metadata and Dock for Drivers to provide seamless data management across various storage vendors",
+ "Supports to connect different platforms like Kubernetes, Open Stack, VMware through plugins",
+ "Supports custom vendors drivers and CSI plugins for heterogeneous storages"
+ ],
+ "architectureImages": [
+ {
+ "imgUrl": "assets/terra/arch1.jpeg",
+ "description": "Some description about the above image"
+ }
+ ],
+ "demo": [
+ {
+ "demoUrl": "assets/terra/demo.avi",
+ "description": "Some description about the above video"
+ }
+ ]
+
+}
\ No newline at end of file
+
+
Loading The SODA Experience
+
+