mirror of https://github.com/ghostfolio/ghostfolio
Browse Source
* Setup blog * Add german blog post * Add english blog post * Update changelogpull/238/head
committed by
GitHub
25 changed files with 591 additions and 28 deletions
@ -0,0 +1,19 @@ |
|||||
|
import { NgModule } from '@angular/core'; |
||||
|
import { RouterModule, Routes } from '@angular/router'; |
||||
|
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; |
||||
|
|
||||
|
import { HalloGhostfolioPageComponent } from './hallo-ghostfolio-page.component'; |
||||
|
|
||||
|
const routes: Routes = [ |
||||
|
{ |
||||
|
path: '', |
||||
|
component: HalloGhostfolioPageComponent, |
||||
|
canActivate: [AuthGuard] |
||||
|
} |
||||
|
]; |
||||
|
|
||||
|
@NgModule({ |
||||
|
imports: [RouterModule.forChild(routes)], |
||||
|
exports: [RouterModule] |
||||
|
}) |
||||
|
export class HalloGhostfolioPageRoutingModule {} |
@ -0,0 +1,7 @@ |
|||||
|
import { Component } from '@angular/core'; |
||||
|
|
||||
|
@Component({ |
||||
|
selector: 'gf-hallo-ghostfolio-page', |
||||
|
templateUrl: './hallo-ghostfolio-page.html' |
||||
|
}) |
||||
|
export class HalloGhostfolioPageComponent {} |
@ -0,0 +1,194 @@ |
|||||
|
<div class="blog container"> |
||||
|
<div class="row"> |
||||
|
<div class="col"> |
||||
|
<article> |
||||
|
<div class="mb-4 text-center"> |
||||
|
<h1 class="mb-1" i18n>Hallo Ghostfolio 👋</h1> |
||||
|
<div class="text-muted"><small>31.07.2021</small></div> |
||||
|
</div> |
||||
|
<section class="mb-4"> |
||||
|
<p> |
||||
|
In diesem Artikel möchte ich mein neues Open Source Projekt näher |
||||
|
vorstellen: <a href="https://ghostfol.io">Ghostfolio</a>, eine |
||||
|
web-basierte Software für das Management der persönlichen Finanzen. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Welches Problem löst Ghostfolio?</h2> |
||||
|
<p> |
||||
|
Aufgrund der steigenden Inflation und den Negativzinsen befasse ich |
||||
|
mich seit einiger Zeit, wie ich mein Vermögen möglichst |
||||
|
diversifiziert anlegen kann. Konkret verfolge ich eine |
||||
|
<a [routerLink]="['/resources']">Buy and Hold Strategie</a> mit |
||||
|
Investitionen in verschiedene Anlageklassen verteilt auf |
||||
|
unterschiedliche Plattformen. Deshalb suchte ich nach einer App, die |
||||
|
mein Portfolio ganzheitlich zusammenfasst. Bei meiner |
||||
|
Internetrecherche und Suche in App Stores habe ich mehrere Lösungen |
||||
|
ausprobiert, doch keine hat mich vollkommen überzeugt: Zu |
||||
|
kompliziert, zu überladen, nicht optimiert für Smartphones oder zu |
||||
|
wenig umfassend. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Die Vision</h2> |
||||
|
<p> |
||||
|
Besonders wichtig ist mir, dass ich in Echtzeit die Übersicht über |
||||
|
mein gesamtes Vermögen erhalte. Bisher hatte ich nur einmal im Jahr, |
||||
|
beim Abschluss der Steuererklärung, die aufbereiteten Zahlen zur |
||||
|
Verfügung. Zum Gesamtbild gehören neben Cash auf dem Sparkonto auch |
||||
|
länderspezifische Besonderheiten wie beispielsweise die freiwillige |
||||
|
Altersvorsorge (Säule 3a) in der Schweiz. |
||||
|
</p> |
||||
|
<p> |
||||
|
In der Zwischenzeit habe ich mit vielen Kollegen gesprochen, die |
||||
|
schon länger investieren. Nicht wenige haben aus denselben |
||||
|
Überlegungen über die Zeit ein komplexes Spreadsheet angelegt. Ich |
||||
|
finde, dass dies im Jahr 2021 besser gehen muss. |
||||
|
</p> |
||||
|
<div class="container my-4"> |
||||
|
<div class="row"> |
||||
|
<div class="col-md-10 offset-md-1"> |
||||
|
<blockquote class="blockquote m-0"> |
||||
|
<p class="mb-0"> |
||||
|
Ghostfolio zeigt das Gesamtbild des Vermögens, um |
||||
|
bestmögliche Anlage-Entscheidungen zu treffen. |
||||
|
</p> |
||||
|
</blockquote> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<p> |
||||
|
Ghostfolio soll eine simple Wealth Management Software sein. Diese |
||||
|
präsentiert jederzeit das aktuelle Vermögen und unterstützt bei |
||||
|
zukünftigen Investments. Sei es beim Rebalancing des Portfolios in |
||||
|
Anlageklassen (Aktien, Cryptocurrencies, ETFs, etc.) oder der |
||||
|
Finanzierung einer Wohnung, Ghostfolio bietet eine solide, |
||||
|
datengestützte Entscheidungshilfe. |
||||
|
</p> |
||||
|
<p> |
||||
|
Ich lege grossen Wert auf Datenschutz. Als |
||||
|
<a href="https://github.com/ghostfolio/ghostfolio" |
||||
|
>Open Source Software</a |
||||
|
> |
||||
|
(OSS) kann Ghostfolio vollständig anonym genutzt werden, ohne die |
||||
|
gierigen Blicke von Grossbanken oder Big Tech. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Von der Idee zur Umsetzung</h2> |
||||
|
<p> |
||||
|
Vor diesem Hintergrund habe ich das ambitionierte Projekt gestartet |
||||
|
und in kleinen Schritten eine Software programmiert, die ich rasch |
||||
|
selbst nutzen konnte. Als Stack habe ich mich für moderne |
||||
|
Web-Technologien entschieden, die mich persönlich besonders |
||||
|
interessieren beziehungsweise die ich gerne erlernen und vertiefen |
||||
|
möchte. Dazu zählen <a href="https://www.docker.com">Docker</a>, |
||||
|
<a href="https://nx.dev">Nx</a> für das Management des Monorepos, |
||||
|
<a href="https://nestjs.com">NestJS</a> für das Backend und |
||||
|
<a href="https://www.postgresql.org">PostgreSQL</a> als Datenbank. |
||||
|
Der Code ist sowohl im Frontend als auch im Backend in |
||||
|
<a href="https://www.typescriptlang.org">TypeScript</a> |
||||
|
geschrieben. |
||||
|
</p> |
||||
|
<p> |
||||
|
Da ich bei einigen Kalkulationen an meine Grenzen gestossen bin, |
||||
|
habe ich mit verschiedenen Möglichkeiten auseinandergesetzt, um |
||||
|
Unterstützung zu bekommen. In der Hoffnung, dass andere Leute |
||||
|
ebenfalls von der Lösung profitieren und bei Interesse mit |
||||
|
Verbesserungen beitragen können, habe ich den bestehenden Code als |
||||
|
Open Source Software veröffentlicht. Schon nach kurzer Zeit haben |
||||
|
<a |
||||
|
href="https://github.com/ghostfolio/ghostfolio/graphs/contributors" |
||||
|
>andere Entwickler</a |
||||
|
> |
||||
|
mit tollen Erweiterungen an Ghostfolio mitgewirkt. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Wie kann ich das Projekt unterstützen?</h2> |
||||
|
<p> |
||||
|
Bist du ebenfalls besessen von einer maximal diversifizierten |
||||
|
Anlagestrategie? Ich freue mich über alle, die Ghostfolio |
||||
|
ausprobieren. Bist du überzeugt vom Potential der Software? Jede |
||||
|
Unterstützung für Ghostfolio ist willkommen. Sei es mit einer |
||||
|
<a href="https://ghostfol.io/pricing">Ghostfolio Premium</a> |
||||
|
Subscription zur Finanzierung des Hostings, einem positiven Rating |
||||
|
im |
||||
|
<a |
||||
|
href="https://play.google.com/store/apps/details?id=ch.dotsilver.ghostfolio.twa" |
||||
|
>Google Play Store</a |
||||
|
>, einem Sternchen auf |
||||
|
<a href="https://github.com/ghostfolio/ghostfolio">GitHub</a>, |
||||
|
Feedback, Bug Reports, Feature Requests und natürlich Contributions! |
||||
|
</p> |
||||
|
<p> |
||||
|
Du erreichst mich per E-Mail unter |
||||
|
<a href="mailto:hi@ghostfol.io">hi@ghostfol.io</a> oder auf Twitter |
||||
|
<a href="https://twitter.com/ghostfolio_">@ghostfolio_</a>. |
||||
|
</p> |
||||
|
<p> |
||||
|
Ich freue mich, von dir zu hören.<br /> |
||||
|
Thomas von Ghostfolio |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="my-5"> |
||||
|
<ul class="list-inline"> |
||||
|
<li class="h5"> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Aktie</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Altersvorsorge</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Anlage</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2">App</span> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Cryptocurrency</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2">ETF</span> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Feedback</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Fintech</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Ghostfolio</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Investition</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Open Source</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2">OSS</span> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Portfolio</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Software</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Strategie</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Trading</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>TypeScript</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Vermögen</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Wealth Management</span |
||||
|
> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</section> |
||||
|
</article> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
@ -0,0 +1,15 @@ |
|||||
|
import { CommonModule } from '@angular/common'; |
||||
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; |
||||
|
import { RouterModule } from '@angular/router'; |
||||
|
|
||||
|
import { HalloGhostfolioPageRoutingModule } from './hallo-ghostfolio-page-routing.module'; |
||||
|
import { HalloGhostfolioPageComponent } from './hallo-ghostfolio-page.component'; |
||||
|
|
||||
|
@NgModule({ |
||||
|
declarations: [HalloGhostfolioPageComponent], |
||||
|
exports: [], |
||||
|
imports: [CommonModule, HalloGhostfolioPageRoutingModule, RouterModule], |
||||
|
providers: [], |
||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA] |
||||
|
}) |
||||
|
export class HalloGhostfolioPageModule {} |
@ -0,0 +1,19 @@ |
|||||
|
import { NgModule } from '@angular/core'; |
||||
|
import { RouterModule, Routes } from '@angular/router'; |
||||
|
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; |
||||
|
|
||||
|
import { HelloGhostfolioPageComponent } from './hello-ghostfolio-page.component'; |
||||
|
|
||||
|
const routes: Routes = [ |
||||
|
{ |
||||
|
path: '', |
||||
|
component: HelloGhostfolioPageComponent, |
||||
|
canActivate: [AuthGuard] |
||||
|
} |
||||
|
]; |
||||
|
|
||||
|
@NgModule({ |
||||
|
imports: [RouterModule.forChild(routes)], |
||||
|
exports: [RouterModule] |
||||
|
}) |
||||
|
export class HelloGhostfolioPageRoutingModule {} |
@ -0,0 +1,7 @@ |
|||||
|
import { Component } from '@angular/core'; |
||||
|
|
||||
|
@Component({ |
||||
|
selector: 'gf-hello-ghostfolio-page', |
||||
|
templateUrl: './hello-ghostfolio-page.html' |
||||
|
}) |
||||
|
export class HelloGhostfolioPageComponent {} |
@ -0,0 +1,173 @@ |
|||||
|
<div class="blog container"> |
||||
|
<div class="row"> |
||||
|
<div class="col"> |
||||
|
<article> |
||||
|
<div class="mb-4 text-center"> |
||||
|
<h1 class="mb-1" i18n>Hello Ghostfolio 👋</h1> |
||||
|
<div class="text-muted"><small>31.07.2021</small></div> |
||||
|
</div> |
||||
|
<section class="mb-4"> |
||||
|
<p> |
||||
|
In this article I would like to introduce my new open source project |
||||
|
in more detail: <a href="https://ghostfol.io">Ghostfolio</a>, a |
||||
|
web-based personal finance management software. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">What problem does Ghostfolio solve?</h2> |
||||
|
<p> |
||||
|
Due to rising inflation and negative interest rates, I have been |
||||
|
looking for some time at how I can invest my assets in the most |
||||
|
diversified way possible. Specifically, I follow a |
||||
|
<a [routerLink]="['/resources']">buy and hold strategy</a> with |
||||
|
investments in different asset classes spread across different |
||||
|
platforms. Therefore, I was looking for an app that would |
||||
|
holistically aggregate my portfolio. During my research on the |
||||
|
internet and in app stores, I have tried several solutions, but none |
||||
|
of them has convinced me completely: too complicated, too cluttered, |
||||
|
not optimized for smartphones or not comprehensive enough. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">The vision</h2> |
||||
|
<p> |
||||
|
It is particularly important to me that I get an overview of all my |
||||
|
assets in real time. Previously, I only had the prepared figures |
||||
|
available once a year, when I had completed my annual tax |
||||
|
declaration. In addition to the cash balance in the savings account, |
||||
|
the overall picture also includes country-specific traits such as |
||||
|
the voluntary pension plan (pillar 3a) in Switzerland. |
||||
|
</p> |
||||
|
<p> |
||||
|
In the meantime, I have talked to many colleagues who have been |
||||
|
investing for a longer time. Quite a few have created complex |
||||
|
spreadsheets from the same considerations. I think that should be |
||||
|
better in 2021. |
||||
|
</p> |
||||
|
<div class="container my-4"> |
||||
|
<div class="row"> |
||||
|
<div class="col-md-10 offset-md-1"> |
||||
|
<blockquote class="blockquote m-0"> |
||||
|
<p class="mb-0"> |
||||
|
Ghostfolio presents the big picture of assets to make the |
||||
|
best possible investment decisions. |
||||
|
</p> |
||||
|
</blockquote> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<p> |
||||
|
Ghostfolio is supposed to be a simple wealth management software. It |
||||
|
presents the current assets at any time and supports the decision |
||||
|
making of future investments. Whether rebalancing the portfolio in |
||||
|
asset classes (stocks, cryptocurrencies, ETFs, etc.) or financing an |
||||
|
apartment, Ghostfolio offers solid, data-driven decision support. |
||||
|
</p> |
||||
|
<p> |
||||
|
As I value privacy, data protection is an integral part of |
||||
|
Ghostfolio. As |
||||
|
<a href="https://github.com/ghostfolio/ghostfolio" |
||||
|
>open source software</a |
||||
|
> |
||||
|
(OSS), Ghostfolio can be used completely anonymously, without the |
||||
|
greedy eyes of big banks or big tech. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">From idea to implementation</h2> |
||||
|
<p> |
||||
|
With this background I have started the ambitious project and |
||||
|
programmed with small steps a software that I could quickly use for |
||||
|
myself. As a stack, I chose modern web technologies that are |
||||
|
personally of particular interest or that I would like to learn and |
||||
|
deepen. These include <a href="https://www.docker.com">Docker</a>, |
||||
|
<a href="https://nx.dev">Nx</a> for the management of the monorepo, |
||||
|
<a href="https://nestjs.com">NestJS</a> for the backend and |
||||
|
<a href="https://www.postgresql.org">PostgreSQL</a> as a database. |
||||
|
The code of the frontend and backend is written in |
||||
|
<a href="https://www.typescriptlang.org">TypeScript</a>. |
||||
|
</p> |
||||
|
<p> |
||||
|
Since I have shortly reached my limits with some calculations, I |
||||
|
have looked into different possibilities to get valuable support. |
||||
|
Hoping that other people could also benefit from the solution and |
||||
|
contribute with improvements if interested, I have released the |
||||
|
existing code as open source software. Very soon, other |
||||
|
<a |
||||
|
href="https://github.com/ghostfolio/ghostfolio/graphs/contributors" |
||||
|
>developers</a |
||||
|
> |
||||
|
contributed to Ghostfolio with great enhancements. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">How can I support the project?</h2> |
||||
|
<p> |
||||
|
Are you also obsessed with a maximally diversified investment |
||||
|
strategy? I'm happy for everyone who tries Ghostfolio. Are you |
||||
|
convinced of its potential? Any support for Ghostfolio is welcome. |
||||
|
Be it with a |
||||
|
<a href="https://ghostfol.io/pricing">Ghostfolio Premium</a> |
||||
|
Subscription to finance the hosting, a positive rating in the |
||||
|
<a |
||||
|
href="https://play.google.com/store/apps/details?id=ch.dotsilver.ghostfolio.twa" |
||||
|
>Google Play Store</a |
||||
|
>, a star on |
||||
|
<a href="https://github.com/ghostfolio/ghostfolio">GitHub</a>, |
||||
|
feedback, bug reports, feature requests and of course contributions! |
||||
|
</p> |
||||
|
<p> |
||||
|
You can reach me by email at |
||||
|
<a href="mailto:hi@ghostfol.io">hi@ghostfol.io</a> or on Twitter |
||||
|
<a href="https://twitter.com/ghostfolio_">@ghostfolio_</a>. |
||||
|
</p> |
||||
|
<p> |
||||
|
I look forward to hearing from you.<br /> |
||||
|
Thomas from Ghostfolio |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="my-5"> |
||||
|
<ul class="list-inline"> |
||||
|
<li class="h5"> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Cryptocurrency</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2">ETF</span> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Fintech</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Ghostfolio</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Investment</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Open Source</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2">OSS</span> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Portfolio</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Software</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Stock</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Strategy</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Wealth</span |
||||
|
> |
||||
|
<span class="badge badge-light font-weight-normal mr-2" |
||||
|
>Wealth Management</span |
||||
|
> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</section> |
||||
|
</article> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
@ -0,0 +1,15 @@ |
|||||
|
import { CommonModule } from '@angular/common'; |
||||
|
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; |
||||
|
import { RouterModule } from '@angular/router'; |
||||
|
|
||||
|
import { HelloGhostfolioPageRoutingModule } from './hello-ghostfolio-page-routing.module'; |
||||
|
import { HelloGhostfolioPageComponent } from './hello-ghostfolio-page.component'; |
||||
|
|
||||
|
@NgModule({ |
||||
|
declarations: [HelloGhostfolioPageComponent], |
||||
|
exports: [], |
||||
|
imports: [CommonModule, HelloGhostfolioPageRoutingModule, RouterModule], |
||||
|
providers: [], |
||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA] |
||||
|
}) |
||||
|
export class HelloGhostfolioPageModule {} |
Loading…
Reference in new issue