Feature/add blog post about personal finances (#1073)
* Add blog post * Update changelog
This commit is contained in:
parent
34e33a2400
commit
49e2862e03
@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
- Added a blog post
|
||||
|
||||
### Changed
|
||||
|
||||
- Upgraded `date-fns` from version `2.22.1` to `2.28.0`
|
||||
|
@ -78,6 +78,13 @@ const routes: Routes = [
|
||||
'./pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.module'
|
||||
).then((m) => m.FirstMonthsInOpenSourcePageModule)
|
||||
},
|
||||
{
|
||||
path: 'en/blog/2022/07/how-do-i-get-my-finances-in-order',
|
||||
loadChildren: () =>
|
||||
import(
|
||||
'./pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.module'
|
||||
).then((m) => m.HowDoIGetMyFinancesInOrderPageModule)
|
||||
},
|
||||
{
|
||||
path: 'features',
|
||||
loadChildren: () =>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="col-md-8 offset-md-2">
|
||||
<article>
|
||||
<div class="mb-4 text-center">
|
||||
<h1 class="mb-1" i18n>Hallo Ghostfolio 👋</h1>
|
||||
<h1 class="mb-1">Hallo Ghostfolio 👋</h1>
|
||||
<div class="text-muted"><small>31.07.2021</small></div>
|
||||
</div>
|
||||
<section class="mb-4">
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="col-md-8 offset-md-2">
|
||||
<article>
|
||||
<div class="mb-4 text-center">
|
||||
<h1 class="mb-1" i18n>Hello Ghostfolio 👋</h1>
|
||||
<h1 class="mb-1">Hello Ghostfolio 👋</h1>
|
||||
<div class="text-muted"><small>31.07.2021</small></div>
|
||||
</div>
|
||||
<section class="mb-4">
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="col-md-8 offset-md-2">
|
||||
<article>
|
||||
<div class="mb-4 text-center">
|
||||
<h1 class="mb-1" i18n>
|
||||
<h1 class="mb-1">
|
||||
👻 Ghostfolio –
|
||||
<span class="text-nowrap">First months in Open Source</span>
|
||||
</h1>
|
||||
|
@ -0,0 +1,19 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
|
||||
|
||||
import { HowDoIGetMyFinancesInOrderPageComponent } from './how-do-i-get-my-finances-in-order-page.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: HowDoIGetMyFinancesInOrderPageComponent,
|
||||
canActivate: [AuthGuard]
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class HowDoIGetMyFinancesInOrderRoutingModule {}
|
@ -0,0 +1,9 @@
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
host: { class: 'page' },
|
||||
selector: 'gf-how-do-i-get-my-finances-in-order-page',
|
||||
styleUrls: ['./how-do-i-get-my-finances-in-order-page.scss'],
|
||||
templateUrl: './how-do-i-get-my-finances-in-order-page.html'
|
||||
})
|
||||
export class HowDoIGetMyFinancesInOrderPageComponent {}
|
@ -0,0 +1,206 @@
|
||||
<div class="blog container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
<article>
|
||||
<div class="mb-4 text-center">
|
||||
<h1 class="mb-1">How do I get my finances in order?</h1>
|
||||
<div class="text-muted"><small>14.07.2022</small></div>
|
||||
</div>
|
||||
<section class="mb-4">
|
||||
<p>
|
||||
Before you can think of
|
||||
<a [routerLink]="['/resources']">long-term investing</a>, you need
|
||||
to have your finances in order. Take a look at Peter's journey to
|
||||
see how you can achieve it, too.
|
||||
</p>
|
||||
<p>
|
||||
Peter enjoys life, but sometimes he overspends a bit. He realizes it
|
||||
when money runs out already in the middle of the month. Then the
|
||||
next few days become difficult and saving money is out of the
|
||||
question. That is why he wants to plan his monthly budget in the
|
||||
future.
|
||||
</p>
|
||||
<p>
|
||||
Peter has a decent salary in his job. But as soon as the salary
|
||||
arrives in his account, it melts away. In order to find out where
|
||||
his money is disappearing, he has decided to plan his monthly
|
||||
budget. He wants to be able to put money aside for major expenses
|
||||
and set financial goals.
|
||||
</p>
|
||||
</section>
|
||||
<section class="mb-4">
|
||||
<h2 class="h4">Keeping a traditional or digital budget book</h2>
|
||||
<p>
|
||||
First, Peter obtains an overview of his personal finances. To do so,
|
||||
he starts keeping a budget book. This can be done on paper by
|
||||
listing his income and expenses for a few months, or he can create a
|
||||
simple spreadsheet in Excel. In addition, many credit card providers
|
||||
offer the feature within their apps of having expenses automatically
|
||||
analyzed according to different categories. According to the
|
||||
<a href="https://www.bfs.admin.ch/bfs/en/home.html"
|
||||
>Swiss Federal Statistical Office</a
|
||||
>, households in Switzerland spend around 20 percent of their
|
||||
disposable income on housing and around 10 percent on groceries.
|
||||
</p>
|
||||
<p>
|
||||
With the smartphone app, Peter has a better overview of his
|
||||
financial affairs. The application assigns the bookings to
|
||||
individual categories. Peter can assign specific budgets to each of
|
||||
them. This way, he is always informed about how much money he can
|
||||
still spend on restaurant visits in the current month, for example.
|
||||
A traditional method is the so-called
|
||||
<a
|
||||
href="https://www.investopedia.com/envelope-budgeting-system-5208026"
|
||||
>envelope method</a
|
||||
>. One envelope is labeled for each category like groceries, rent or
|
||||
student loans. The monthly budget is put into the envelopes in cash.
|
||||
Many apps offer the same budgeting system in a more convenient,
|
||||
virtual way.
|
||||
</p>
|
||||
</section>
|
||||
<section class="mb-4">
|
||||
<h2 class="h4">Planning and investing</h2>
|
||||
<p>
|
||||
If Peter has spent less money than planned on eating out at
|
||||
restaurants, he can set aside the remaining amount. This way, he can
|
||||
treat himself to something special every now and then. From now on,
|
||||
he saves a fixed amount of money in a separate account ("pay
|
||||
yourself first") by standing order at the beginning of the month. As
|
||||
soon as there are three net monthly salaries in the account, he
|
||||
invests the monthly savings amount in a passively managed global
|
||||
equity fund. This grows his assets over the years and allows him to
|
||||
supplement his pension later.
|
||||
</p>
|
||||
</section>
|
||||
<section class="mb-4">
|
||||
<h2 class="h4">How to achieve your financial goals?</h2>
|
||||
<p>
|
||||
If you follow these five actionable tips, you can reach your
|
||||
financial goals easier and faster. Start with one tip and when you
|
||||
implement it well, you can try the next one to ultimately have more
|
||||
money at the end of the month.
|
||||
</p>
|
||||
<h3 class="h5">1. Visualize your goals</h3>
|
||||
<p>
|
||||
Start visualizing your goals. For example, hang up pictures of the
|
||||
travel destination you are saving for. Imagine that you have already
|
||||
achieved the goal to slowly adapt your mindset.
|
||||
</p>
|
||||
<h3 class="h5">2. Write off personal items</h3>
|
||||
<p>
|
||||
Do as a business does and write off purchases annually. For a new
|
||||
car, you could set aside one-sixth of the purchase price each year.
|
||||
</p>
|
||||
<h3 class="h5">3. Save at the beginning of the month</h3>
|
||||
<p>
|
||||
Have a savings amount deducted from your account at the beginning of
|
||||
the month. Then you will pay yourself first and spend less money.
|
||||
</p>
|
||||
<h3 class="h5">4. Follow the 50-30-20 rule</h3>
|
||||
<p>
|
||||
You need 50 percent of your disposable income for fixed costs. 30
|
||||
percent can be spent on personal needs such as hobbies, travel or
|
||||
consumer electronics. 20 percent is left for savings or to pay off
|
||||
potential debts.
|
||||
</p>
|
||||
<h3 class="h5">5. Track your progress</h3>
|
||||
<p>
|
||||
If you have any money to spare, invest it in a broadly diversified,
|
||||
low-cost portfolio excluding the risks of individual stocks. Track
|
||||
the progress of your portfolio and net worth with
|
||||
<a href="https://ghostfol.io">Ghostfolio</a>, a web-based personal
|
||||
finance management software.
|
||||
</p>
|
||||
</section>
|
||||
<section class="mb-4">
|
||||
<ul class="list-inline">
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">App</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Assets</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Budget</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Cash</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Debt</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Equity</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">ETF</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Expense</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Finance</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Fintech</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Fund</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Ghostfolio</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Goal</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Income</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Investment</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Money</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Net Worth</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Pension</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Personal Finance</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Planning</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Portfolio</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Salary</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Saving</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Software</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Spreadsheet</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Stock</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Strategy</span>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<span class="badge badge-light">Wealth Management</span>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,17 @@
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { HowDoIGetMyFinancesInOrderRoutingModule } from './how-do-i-get-my-finances-in-order-page-routing.module';
|
||||
import { HowDoIGetMyFinancesInOrderPageComponent } from './how-do-i-get-my-finances-in-order-page.component';
|
||||
|
||||
@NgModule({
|
||||
declarations: [HowDoIGetMyFinancesInOrderPageComponent],
|
||||
imports: [
|
||||
CommonModule,
|
||||
HowDoIGetMyFinancesInOrderRoutingModule,
|
||||
RouterModule
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
export class HowDoIGetMyFinancesInOrderPageModule {}
|
@ -0,0 +1,3 @@
|
||||
:host {
|
||||
display: block;
|
||||
}
|
@ -2,10 +2,36 @@
|
||||
<div class="mb-5 row">
|
||||
<div class="col">
|
||||
<h3 class="mb-3 text-center" i18n>Blog</h3>
|
||||
<mat-card class="blog-container">
|
||||
<mat-card class="mb-3">
|
||||
<mat-card-content>
|
||||
<div class="container p-0">
|
||||
<div class="flex-nowrap mb-3 no-gutters row">
|
||||
<div class="flex-nowrap no-gutters row">
|
||||
<a
|
||||
class="d-flex w-100"
|
||||
[routerLink]="['/en', 'blog', '2022', '07', 'how-do-i-get-my-finances-in-order']"
|
||||
>
|
||||
<div class="flex-grow-1">
|
||||
<div class="h6 m-0 text-truncate">
|
||||
How do I get my finances in order?
|
||||
</div>
|
||||
<div class="d-flex text-muted">14.07.2022</div>
|
||||
</div>
|
||||
<div class="align-items-center d-flex">
|
||||
<ion-icon
|
||||
class="chevron text-muted"
|
||||
name="chevron-forward-outline"
|
||||
size="small"
|
||||
></ion-icon>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<mat-card class="mb-3">
|
||||
<mat-card-content>
|
||||
<div class="container p-0">
|
||||
<div class="flex-nowrap no-gutters row">
|
||||
<a
|
||||
class="d-flex w-100"
|
||||
[routerLink]="['/en', 'blog', '2022', '01', 'ghostfolio-first-months-in-open-source']"
|
||||
@ -25,7 +51,13 @@
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="flex-nowrap mb-3 no-gutters row">
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<mat-card class="mb-3">
|
||||
<mat-card-content>
|
||||
<div class="container p-0">
|
||||
<div class="flex-nowrap no-gutters row">
|
||||
<a
|
||||
class="d-flex w-100"
|
||||
[routerLink]="['/en', 'blog', '2021', '07', 'hello-ghostfolio']"
|
||||
@ -43,6 +75,12 @@
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card-content>
|
||||
</mat-card>
|
||||
<mat-card class="mb-3">
|
||||
<mat-card-content>
|
||||
<div class="container p-0">
|
||||
<div class="flex-nowrap no-gutters row">
|
||||
<a
|
||||
class="d-flex w-100"
|
||||
|
@ -6,54 +6,58 @@
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
<url>
|
||||
<loc>https://ghostfol.io</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/about</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/about/changelog</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/blog</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/demo</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/features</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/markets</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/pricing</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/register</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ghostfol.io/resources</loc>
|
||||
<lastmod>2022-07-01T00:00:00+00:00</lastmod>
|
||||
<lastmod>2022-07-14T00:00:00+00:00</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
|
Loading…
x
Reference in New Issue
Block a user