diff --git a/CHANGELOG.md b/CHANGELOG.md index 773c52fb2..5a1d7209b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Set up i18n support +- Added a blog post: _500 Stars on GitHub_ ### Changed diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index bc10c4cd7..da506e673 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -88,6 +88,13 @@ const routes: Routes = [ './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: 'blog/2022/08/500-stars-on-github', + loadChildren: () => + import( + './pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.module' + ).then((m) => m.FiveHundredStarsOnGitHubPageModule) + }, { path: 'demo', loadChildren: () => diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html index 2273cc2a2..19a6a2577 100644 --- a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html @@ -7,7 +7,7 @@
2022-07-23
Ghostfolio meets Internet Identity Teaser diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page-routing.module.ts b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page-routing.module.ts new file mode 100644 index 000000000..c64edfab2 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page-routing.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; + +import { FiveHundredStarsOnGitHubPageComponent } from './500-stars-on-github-page.component'; + +const routes: Routes = [ + { + canActivate: [AuthGuard], + component: FiveHundredStarsOnGitHubPageComponent, + path: '', + title: '500 Stars on GitHub' + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class FiveHundredStarsOnGitHubRoutingModule {} diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts new file mode 100644 index 000000000..de177d9c2 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +@Component({ + host: { class: 'page' }, + selector: 'gf-500-stars-on-github-page', + styleUrls: ['./500-stars-on-github-page.scss'], + templateUrl: './500-stars-on-github-page.html' +}) +export class FiveHundredStarsOnGitHubPageComponent {} diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html new file mode 100644 index 000000000..122b527e6 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html @@ -0,0 +1,197 @@ +
+
+
+
+
+

500 Stars

+
2022-08-13
+ 500 Stars on GitHub Teaser +
+
+

+ Ghostfolio, the web-based personal + finance management software, is celebrating 500 stars on + GitHub. This + is a major milestone for this open source project and a good time + for another + recap. +

+
+
+

Growing Community

+

+ The Ghostfolio community is growing on various platforms and has + recently passed 100 members on + Slack + as well as 100 followers on + Twitter. If you have + not joined yet, this is a good time to make sure you do not miss out + on any future updates. +

+
+
+

Message Queue: Asynchronous Processing

+

+ Overall + stability and robustness + has increased significantly since the introduction of a + message queue. The + workers of this robust queue system process jobs, namely gathering + historical market data, asynchronously in the background to not + bother the main service. +

+
+
+

Ready for Web 3.0

+

+ The + recent integration of Internet Identity, a blockchain authentication system, makes Ghostfolio ready for + Web3. This third iteration of the World Wide Web is the vision of a + new and better Internet based on decentralized blockchains to give + power back to the users. Internet Identity created by the + Dfinity Foundation enables you to + sign in securely and anonymously to Ghostfolio without an email + address, username, or a password. All you need is your device with + built-in biometric authentication. +

+
+
+

Break-even Point

+

+ Despite the complicated + economic situation at this time, + the goal set at the beginning of the year to build a sustainable + business and reach break-even with the SaaS offering (Ghostfolio Premium) has been achieved. We will continue to leverage the revenue to + further improve the fully managed cloud offering for our paying + customers. A new goal we have set for ourselves is to become + profitable. +

+
+
+

Outlook

+

+ Besides all the positive accomplishments during the last months, + there is still a lot of room for improvement. It would be great to + onboard more contributors who are actively involved in software + engineering to realize the full potential of open source software. + If you are a web developer and interested in personal finance, + please get in touch by email via + hi@ghostfol.io or on Twitter + @ghostfolio_. We are + happy to discuss ideas. +

+

+ We would like to say thank you for all your feedback and support + since the beginning of this project. +

+

+ Off to the next 500 stars!
+ Thomas from Ghostfolio +

+
+
+
    +
  • + Blockchain +
  • +
  • + BuildInPublic +
  • +
  • + Cloud +
  • +
  • + Community +
  • +
  • + Finance +
  • +
  • + Fintech +
  • +
  • + Future +
  • +
  • + Goal +
  • +
  • + Internet Identity +
  • +
  • + Investment +
  • +
  • + Message Queue +
  • +
  • + OpenSaaS +
  • +
  • + Open Source +
  • +
  • + OSS +
  • +
  • + Personal Finance +
  • +
  • + Planning +
  • +
  • + Portfolio +
  • +
  • + Portfolio Tracker +
  • +
  • + Progress +
  • +
  • + SaaS +
  • +
  • + Software +
  • +
  • + User Feedback +
  • +
  • + Wealth +
  • +
  • + Wealth Management +
  • +
  • + Web3 +
  • +
  • + Web 3.0 +
  • +
  • + Worker +
  • +
+
+
+
+
+
diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.module.ts b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.module.ts new file mode 100644 index 000000000..ffc072ac9 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.module.ts @@ -0,0 +1,13 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { FiveHundredStarsOnGitHubRoutingModule } from './500-stars-on-github-page-routing.module'; +import { FiveHundredStarsOnGitHubPageComponent } from './500-stars-on-github-page.component'; + +@NgModule({ + declarations: [FiveHundredStarsOnGitHubPageComponent], + imports: [CommonModule, FiveHundredStarsOnGitHubRoutingModule, RouterModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class FiveHundredStarsOnGitHubPageModule {} diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.scss b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.scss new file mode 100644 index 000000000..5d4e87f30 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/apps/client/src/app/pages/blog/blog-page.html b/apps/client/src/app/pages/blog/blog-page.html index dbea378ed..522536122 100644 --- a/apps/client/src/app/pages/blog/blog-page.html +++ b/apps/client/src/app/pages/blog/blog-page.html @@ -2,6 +2,30 @@

Blog

+ + + + +
diff --git a/apps/client/src/assets/images/blog/500-stars-on-github.jpg b/apps/client/src/assets/images/blog/500-stars-on-github.jpg new file mode 100644 index 000000000..8a55b497e Binary files /dev/null and b/apps/client/src/assets/images/blog/500-stars-on-github.jpg differ diff --git a/apps/client/src/assets/sitemap.xml b/apps/client/src/assets/sitemap.xml index b8ac3a840..805947e3f 100644 --- a/apps/client/src/assets/sitemap.xml +++ b/apps/client/src/assets/sitemap.xml @@ -6,66 +6,70 @@ http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> https://ghostfol.io - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/about - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/about/changelog - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/blog - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/blog/2021/07/hello-ghostfolio - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 + + + https://ghostfol.io/en/blog/2022/08/500-stars-on-github + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/demo - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/faq - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/features - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/markets - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/pricing - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/register - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 https://ghostfol.io/en/resources - 2022-07-29T00:00:00+00:00 + 2022-08-13T00:00:00+00:00 diff --git a/apps/client/src/styles/bootstrap.scss b/apps/client/src/styles/bootstrap.scss index 3835c6b62..49b9bf057 100644 --- a/apps/client/src/styles/bootstrap.scss +++ b/apps/client/src/styles/bootstrap.scss @@ -11,7 +11,7 @@ @import '~bootstrap/scss/root'; @import '~bootstrap/scss/reboot'; @import '~bootstrap/scss/type'; -// @import '~bootstrap/scss/images'; +@import '~bootstrap/scss/images'; // @import '~bootstrap/scss/code'; @import '~bootstrap/scss/grid'; // @import '~bootstrap/scss/tables';