diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products.ts
index 8eddbea16..050ee5383 100644
--- a/apps/client/src/app/pages/resources/personal-finance-tools/products.ts
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products.ts
@@ -7,6 +7,7 @@ import { CapMonPageComponent } from './products/capmon-page.component';
import { CopilotMoneyPageComponent } from './products/copilot-money-page.component';
import { DeltaPageComponent } from './products/delta-page.component';
import { DivvyDiaryPageComponent } from './products/divvydiary-page.component';
+import { EightFiguresPageComponent } from './products/eightfigures-page.component';
import { ExirioPageComponent } from './products/exirio-page.component';
import { FinaryPageComponent } from './products/finary-page.component';
import { FolisharePageComponent } from './products/folishare-page.component';
@@ -23,6 +24,7 @@ import { PlannixPageComponent } from './products/plannix-page.component';
import { PortfolioDividendTrackerPageComponent } from './products/portfolio-dividend-tracker-page.component';
import { PortseidoPageComponent } from './products/portseido-page.component';
import { ProjectionLabPageComponent } from './products/projectionlab-page.component';
+import { RocketMoneyPageComponent } from './products/rocket-money-page.component';
import { SeekingAlphaPageComponent } from './products/seeking-alpha-page.component';
import { SharesightPageComponent } from './products/sharesight-page.component';
import { SimplePortfolioPageComponent } from './products/simple-portfolio-page.component';
@@ -131,6 +133,15 @@ export const products: Product[] = [
pricingPerYear: '€65',
slogan: 'Your personal Dividend Calendar'
},
+ {
+ alias: '8figures',
+ component: EightFiguresPageComponent,
+ founded: 2022,
+ key: 'eightfigures',
+ name: '8FIGURES',
+ origin: $localize`United States`,
+ slogan: 'Portfolio Tracker Designed by Professional Investors'
+ },
{
component: ExirioPageComponent,
founded: 2020,
@@ -307,6 +318,15 @@ export const products: Product[] = [
pricingPerYear: '$108',
slogan: 'Build Financial Plans You Love.'
},
+ {
+ component: RocketMoneyPageComponent,
+ founded: 2015,
+ hasSelfHostingAbility: false,
+ key: 'rocket-money',
+ name: 'Rocket Money',
+ origin: $localize`United States`,
+ slogan: 'Track your net worth'
+ },
{
component: SeekingAlphaPageComponent,
founded: 2004,
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts
new file mode 100644
index 000000000..3867beaf2
--- /dev/null
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/eightfigures-page.component.ts
@@ -0,0 +1,31 @@
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+import { MatButtonModule } from '@angular/material/button';
+import { RouterModule } from '@angular/router';
+
+import { products } from '../products';
+
+@Component({
+ host: { class: 'page' },
+ imports: [CommonModule, MatButtonModule, RouterModule],
+ selector: 'gf-eightfigures-page',
+ standalone: true,
+ styleUrls: ['../product-page-template.scss'],
+ templateUrl: '../product-page-template.html'
+})
+export class EightFiguresPageComponent {
+ public product1 = products.find(({ key }) => {
+ return key === 'ghostfolio';
+ });
+
+ public product2 = products.find(({ key }) => {
+ return key === 'eightfigures';
+ });
+
+ public routerLinkAbout = ['/' + $localize`about`];
+ public routerLinkFeatures = ['/' + $localize`features`];
+ public routerLinkResourcesPersonalFinanceTools = [
+ '/' + $localize`resources`,
+ 'personal-finance-tools'
+ ];
+}
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts
new file mode 100644
index 000000000..cbf2599e8
--- /dev/null
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/rocket-money-page.component.ts
@@ -0,0 +1,31 @@
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+import { MatButtonModule } from '@angular/material/button';
+import { RouterModule } from '@angular/router';
+
+import { products } from '../products';
+
+@Component({
+ host: { class: 'page' },
+ imports: [CommonModule, MatButtonModule, RouterModule],
+ selector: 'gf-rocket-money-page',
+ standalone: true,
+ styleUrls: ['../product-page-template.scss'],
+ templateUrl: '../product-page-template.html'
+})
+export class RocketMoneyPageComponent {
+ public product1 = products.find(({ key }) => {
+ return key === 'ghostfolio';
+ });
+
+ public product2 = products.find(({ key }) => {
+ return key === 'rocket-money';
+ });
+
+ public routerLinkAbout = ['/' + $localize`about`];
+ public routerLinkFeatures = ['/' + $localize`features`];
+ public routerLinkResourcesPersonalFinanceTools = [
+ '/' + $localize`resources`,
+ 'personal-finance-tools'
+ ];
+}
diff --git a/libs/common/src/lib/interfaces/product.ts b/libs/common/src/lib/interfaces/product.ts
index c5465898d..274ee8207 100644
--- a/libs/common/src/lib/interfaces/product.ts
+++ b/libs/common/src/lib/interfaces/product.ts
@@ -1,4 +1,5 @@
export interface Product {
+ alias?: string;
component: any;
founded?: number;
hasFreePlan?: boolean;