From 8ff80c10e5ec96704916242fe0e775dcbdb2d5b8 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Sat, 11 Nov 2023 09:01:58 +0100
Subject: [PATCH] Feature/extend personal finance tools pages 20231110 (#2630)
* Add Magnifi
* Add Basil Finance
---
apps/api/src/assets/sitemap.xml | 32 +++++++++++++++++++
.../personal-finance-tools/products.ts | 22 +++++++++++++
.../products/basil-finance-page.component.ts | 31 ++++++++++++++++++
.../products/magnifi-page.component.ts | 31 ++++++++++++++++++
4 files changed, 116 insertions(+)
create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts
create mode 100644 apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts
diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml
index 2c8ad34b9..015a6f67b 100644
--- a/apps/api/src/assets/sitemap.xml
+++ b/apps/api/src/assets/sitemap.xml
@@ -66,6 +66,10 @@
https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-altoo
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-basil-finance
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-beanvest
${currentDate}T00:00:00+00:00
@@ -126,6 +130,10 @@
https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-kubera
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-magnifi
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-markets.sh
${currentDate}T00:00:00+00:00
@@ -368,6 +376,10 @@
https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-altoo
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-basil-finance
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-beanvest
${currentDate}T00:00:00+00:00
@@ -428,6 +440,10 @@
https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-kubera
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-magnifi
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-markets.sh
${currentDate}T00:00:00+00:00
@@ -694,6 +710,10 @@
https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-altoo
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-basil-finance
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-beanvest
${currentDate}T00:00:00+00:00
@@ -754,6 +774,10 @@
https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-kubera
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-magnifi
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-markets.sh
${currentDate}T00:00:00+00:00
@@ -866,6 +890,10 @@
https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-altoo
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-basil-finance
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-beanvest
${currentDate}T00:00:00+00:00
@@ -926,6 +954,10 @@
https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-kubera
${currentDate}T00:00:00+00:00
+
+ https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-magnifi
+ ${currentDate}T00:00:00+00:00
+
https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-markets.sh
${currentDate}T00:00:00+00:00
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 8e4559fa5..0cd32adc3 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
@@ -2,6 +2,7 @@ import { Product } from '@ghostfolio/common/interfaces';
import { AllvueSystemsPageComponent } from './products/allvue-systems-page.component';
import { AltooPageComponent } from './products/altoo-page.component';
+import { BasilFinancePageComponent } from './products/basil-finance-page.component';
import { BeanvestPageComponent } from './products/beanvest-page.component';
import { CapitallyPageComponent } from './products/capitally-page.component';
import { CapMonPageComponent } from './products/capmon-page.component';
@@ -18,6 +19,7 @@ import { GoSpatzPageComponent } from './products/gospatz-page.component';
import { IntuitMintPageComponent } from './products/intuit-mint-page.component';
import { JustEtfPageComponent } from './products/justetf-page.component';
import { KuberaPageComponent } from './products/kubera-page.component';
+import { MagnifiPageComponent } from './products/magnifi-page.component';
import { MarketsShPageComponent } from './products/markets.sh-page.component';
import { MaybeFinancePageComponent } from './products/maybe-finance-page.component';
import { MonarchMoneyPageComponent } from './products/monarch-money-page.component';
@@ -84,6 +86,15 @@ export const products: Product[] = [
origin: $localize`Switzerland`,
slogan: 'Simplicity for Complex Wealth'
},
+ {
+ component: BasilFinancePageComponent,
+ founded: 2022,
+ hasFreePlan: true,
+ hasSelfHostingAbility: false,
+ key: 'basil-finance',
+ name: 'Basil Finance',
+ slogan: 'The ultimate solution for tracking and managing your investments'
+ },
{
component: BeanvestPageComponent,
founded: 2020,
@@ -252,6 +263,17 @@ export const products: Product[] = [
pricingPerYear: '$150',
slogan: 'The Time Machine for your Net Worth'
},
+ {
+ component: MagnifiPageComponent,
+ founded: 2018,
+ hasFreePlan: false,
+ hasSelfHostingAbility: false,
+ key: 'magnifi',
+ name: 'Magnifi',
+ origin: $localize`United States`,
+ pricingPerYear: '$132',
+ slogan: 'AI Investing Assistant'
+ },
{
component: MarketsShPageComponent,
founded: 2022,
diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-page.component.ts
new file mode 100644
index 000000000..c6ec41c55
--- /dev/null
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/basil-finance-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-basil-finance-page',
+ standalone: true,
+ styleUrls: ['../product-page-template.scss'],
+ templateUrl: '../product-page-template.html'
+})
+export class BasilFinancePageComponent {
+ public product1 = products.find(({ key }) => {
+ return key === 'ghostfolio';
+ });
+
+ public product2 = products.find(({ key }) => {
+ return key === 'basil-finance';
+ });
+
+ 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/magnifi-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-page.component.ts
new file mode 100644
index 000000000..63cde2c14
--- /dev/null
+++ b/apps/client/src/app/pages/resources/personal-finance-tools/products/magnifi-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-magnifi-page',
+ standalone: true,
+ styleUrls: ['../product-page-template.scss'],
+ templateUrl: '../product-page-template.html'
+})
+export class MagnifiPageComponent {
+ public product1 = products.find(({ key }) => {
+ return key === 'ghostfolio';
+ });
+
+ public product2 = products.find(({ key }) => {
+ return key === 'magnifi';
+ });
+
+ public routerLinkAbout = ['/' + $localize`about`];
+ public routerLinkFeatures = ['/' + $localize`features`];
+ public routerLinkResourcesPersonalFinanceTools = [
+ '/' + $localize`resources`,
+ 'personal-finance-tools'
+ ];
+}