diff --git a/CHANGELOG.md b/CHANGELOG.md index 1699c6c6d..546e67dfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 1.303.0 - 2023-08-23 + +### Added + +- Added a blog post: _Ghostfolio joins OSS Friends_ ### Changed - Refreshed the cryptocurrencies list - Improved the _OSS Friends_ page +### Fixed + +- Fixed an issue with the _Trackinsight_ data enhancer for asset profile data + ## 1.302.0 - 2023-08-20 ### Changed diff --git a/apps/api/src/assets/sitemap.xml b/apps/api/src/assets/sitemap.xml index 10f20ca46..915bb8e84 100644 --- a/apps/api/src/assets/sitemap.xml +++ b/apps/api/src/assets/sitemap.xml @@ -142,6 +142,10 @@ https://ghostfol.io/en/blog/2023/07/exploring-the-path-to-fire ${currentDate}T00:00:00+00:00 + + https://ghostfol.io/en/blog/2023/08/ghostfolio-joins-oss-friends + ${currentDate}T00:00:00+00:00 + https://ghostfol.io/en/faq ${currentDate}T00:00:00+00:00 diff --git a/apps/api/src/middlewares/html-template.middleware.ts b/apps/api/src/middlewares/html-template.middleware.ts index efbd60fa7..acb3f5aa0 100644 --- a/apps/api/src/middlewares/html-template.middleware.ts +++ b/apps/api/src/middlewares/html-template.middleware.ts @@ -71,6 +71,10 @@ const locales = { '/en/blog/2023/07/exploring-the-path-to-fire': { featureGraphicPath: 'assets/images/blog/20230701.jpg', title: `Exploring the Path to FIRE - ${titleShort}` + }, + '/en/blog/2023/08/ghostfolio-joins-oss-friends': { + featureGraphicPath: 'assets/images/blog/ghostfolio-joins-oss-friends.png', + title: `Ghostfolio joins OSS Friends - ${titleShort}` } }; diff --git a/apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts b/apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts index a18d82449..2c9f1b7a8 100644 --- a/apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts +++ b/apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts @@ -7,7 +7,7 @@ import got from 'got'; @Injectable() export class TrackinsightDataEnhancerService implements DataEnhancerInterface { - private static baseUrl = 'https://data.trackinsight.com'; + private static baseUrl = 'https://www.trackinsight.com/data-api'; private static countries = require('countries-list/dist/countries.json'); private static countriesMapping = { 'Russian Federation': 'Russia' @@ -33,14 +33,22 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface { } const profile = await got( - `${TrackinsightDataEnhancerService.baseUrl}/data-api/funds/${symbol}.json` + `${TrackinsightDataEnhancerService.baseUrl}/funds/${symbol}.json` ) .json() .catch(() => { - return {}; + return got( + `${TrackinsightDataEnhancerService.baseUrl}/funds/${ + symbol.split('.')?.[0] + }.json` + ) + .json() + .catch(() => { + return {}; + }); }); - const isin = profile.isin?.split(';')?.[0]; + const isin = profile?.isin?.split(';')?.[0]; if (isin) { response.isin = isin; @@ -55,7 +63,11 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface { `${TrackinsightDataEnhancerService.baseUrl}/holdings/${ symbol.split('.')?.[0] }.json` - ); + ) + .json() + .catch(() => { + return {}; + }); }); if (holdings?.weight < 0.95) { diff --git a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts new file mode 100644 index 000000000..682a1fdd8 --- /dev/null +++ b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -0,0 +1,14 @@ +import { Component } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { RouterModule } from '@angular/router'; + +@Component({ + host: { class: 'page' }, + imports: [MatButtonModule, RouterModule], + selector: 'gf-ghostfolio-joins-oss-friends-page', + standalone: true, + templateUrl: './ghostfolio-joins-oss-friends-page.html' +}) +export class GhostfolioJoinsOssFriendsPageComponent { + public routerLinkAboutOssFriends = ['/' + $localize`about`, 'oss-friends']; +} diff --git a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html new file mode 100644 index 000000000..16cb3d72e --- /dev/null +++ b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html @@ -0,0 +1,167 @@ +
+
+
+
+
+

Ghostfolio joins OSS Friends

+
2023-08-23
+ Ghostfolio joins OSS Friends Teaser +
+
+

+ We are excited to announce that Ghostfolio is now part of the + OSS Friends. This + new initiative is all about helping open source projects grow and + become more popular. +

+
+
+

The Story of OSS Friends

+

+ OSS Friends started as a simple + post + on X (formerly known as Twitter). The idea came from + Formbricks, an + open source experience management platform to create surveys in + minutes, and is all about giving open source projects a boost. +

+

+ If you are excited about the OSS Friends movement and want to bring + your own open source project along, just take a moment to fill out + this form. Let’s work and learn together – all the open source way. +

+
+
+

+ Ghostfolio – Next Generation Software for your Personal Finances +

+

+ Money management can be tricky, especially when you have various + investments like cryptocurrencies, ETFs and stocks in your + portfolio. But guess what? There are cooler ways than staring at + boring spreadsheets. Say hello to Ghostfolio, a privacy-first, open + source dashboard for your personal finances. +

+
+
+

+ Would you like to simplify asset tracking? +

+

+ Ghostfolio empowers you to make informed investment decisions. +

+ +
+
+
    +
  • + Asset +
  • +
  • + Collaboration +
  • +
  • + Cryptocurrency +
  • +
  • + Community +
  • +
  • + Dashboard +
  • +
  • + ETF +
  • +
  • + Finance +
  • +
  • + Fintech +
  • +
  • + Ghostfolio +
  • +
  • + Initiative +
  • +
  • + Innovation +
  • +
  • + Investment +
  • +
  • + Open Source +
  • +
  • + OSS +
  • +
  • + OSS Friends +
  • +
  • + Personal Finance +
  • +
  • + Platform +
  • +
  • + Portfolio +
  • +
  • + Privacy +
  • +
  • + Software +
  • +
  • + Stock +
  • +
  • + Technology +
  • +
  • + Tracking +
  • +
  • + Wealth Management +
  • +
  • + Web3 +
  • +
+
+ +
+
+
+
diff --git a/apps/client/src/app/pages/blog/blog-page-routing.module.ts b/apps/client/src/app/pages/blog/blog-page-routing.module.ts index 4c41b423e..30d9eb3b5 100644 --- a/apps/client/src/app/pages/blog/blog-page-routing.module.ts +++ b/apps/client/src/app/pages/blog/blog-page-routing.module.ts @@ -136,6 +136,15 @@ const routes: Routes = [ './2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component' ).then((c) => c.ExploringThePathToFirePageComponent), title: 'Exploring the Path to FIRE' + }, + { + canActivate: [AuthGuard], + path: '2023/08/ghostfolio-joins-oss-friends', + loadComponent: () => + import( + './2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component' + ).then((c) => c.GhostfolioJoinsOssFriendsPageComponent), + title: 'Ghostfolio joins OSS Friends' } ]; diff --git a/apps/client/src/app/pages/blog/blog-page.html b/apps/client/src/app/pages/blog/blog-page.html index 26c262c1a..b5dfae39e 100644 --- a/apps/client/src/app/pages/blog/blog-page.html +++ b/apps/client/src/app/pages/blog/blog-page.html @@ -8,6 +8,32 @@ finance + + + + +
diff --git a/apps/client/src/assets/images/blog/ghostfolio-joins-oss-friends.png b/apps/client/src/assets/images/blog/ghostfolio-joins-oss-friends.png new file mode 100644 index 000000000..f8d90aedb Binary files /dev/null and b/apps/client/src/assets/images/blog/ghostfolio-joins-oss-friends.png differ diff --git a/package.json b/package.json index 0151d5003..99e0a33d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "1.302.0", + "version": "1.303.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio",