mirror of https://github.com/ghostfolio/ghostfolio
committed by
GitHub
12 changed files with 296 additions and 18 deletions
@ -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 {} |
@ -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 {} |
@ -0,0 +1,197 @@ |
|||||
|
<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">500 Stars</h1> |
||||
|
<div class="mb-3 text-muted"><small>2022-08-13</small></div> |
||||
|
<img |
||||
|
alt="500 Stars on GitHub Teaser" |
||||
|
class="rounded w-100" |
||||
|
src="../assets/images/blog/500-stars-on-github.jpg" |
||||
|
title="500 Stars on GitHub" |
||||
|
/> |
||||
|
</div> |
||||
|
<section class="mb-4"> |
||||
|
<p> |
||||
|
<a href="https://ghostfol.io">Ghostfolio</a>, the web-based personal |
||||
|
finance management software, is celebrating 500 stars on |
||||
|
<a href="https://github.com/ghostfolio/ghostfolio">GitHub</a>. This |
||||
|
is a major milestone for this open source project and a good time |
||||
|
for another |
||||
|
<a |
||||
|
[routerLink]="['/en', 'blog', '2022', '01', 'ghostfolio-first-months-in-open-source']" |
||||
|
>recap</a |
||||
|
>. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Growing Community</h2> |
||||
|
<p> |
||||
|
The Ghostfolio community is growing on various platforms and has |
||||
|
recently passed 100 members on |
||||
|
<a |
||||
|
href="https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg" |
||||
|
>Slack</a |
||||
|
> |
||||
|
as well as 100 followers on |
||||
|
<a href="https://twitter.com/ghostfolio_">Twitter</a>. If you have |
||||
|
not joined yet, this is a good time to make sure you do not miss out |
||||
|
on any future updates. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Message Queue: Asynchronous Processing</h2> |
||||
|
<p> |
||||
|
Overall |
||||
|
<a href="https://status.ghostfol.io">stability and robustness</a> |
||||
|
has increased significantly since the introduction of a |
||||
|
<a href="https://github.com/OptimalBits/bull">message queue</a>. The |
||||
|
workers of this robust queue system process jobs, namely gathering |
||||
|
historical market data, asynchronously in the background to not |
||||
|
bother the main service. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Ready for Web 3.0</h2> |
||||
|
<p> |
||||
|
The |
||||
|
<a |
||||
|
[routerLink]="['/en', 'blog', '2022', '07', 'ghostfolio-meets-internet-identity']" |
||||
|
>recent integration of Internet Identity</a |
||||
|
>, 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. <i>Internet Identity</i> created by the |
||||
|
<a href="https://dfinity.org">Dfinity Foundation</a> 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. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Break-even Point</h2> |
||||
|
<p> |
||||
|
Despite the complicated |
||||
|
<a [routerLink]="['/markets']">economic situation</a> 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 (<a |
||||
|
[routerLink]="['/markets']" |
||||
|
>Ghostfolio Premium</a |
||||
|
>) 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. |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<h2 class="h4">Outlook</h2> |
||||
|
<p> |
||||
|
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 |
||||
|
<a href="mailto:hi@ghostfol.io">hi@ghostfol.io</a> or on Twitter |
||||
|
<a href="https://twitter.com/ghostfolio_">@ghostfolio_</a>. We are |
||||
|
happy to discuss ideas. |
||||
|
</p> |
||||
|
<p> |
||||
|
We would like to say thank you for all your feedback and support |
||||
|
since the beginning of this project. |
||||
|
</p> |
||||
|
<p> |
||||
|
Off to the next 500 stars!<br /> |
||||
|
Thomas from Ghostfolio |
||||
|
</p> |
||||
|
</section> |
||||
|
<section class="mb-4"> |
||||
|
<ul class="list-inline"> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Blockchain</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">BuildInPublic</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Cloud</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Community</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">Future</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">Internet Identity</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">Message Queue</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">OpenSaaS</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Open Source</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">OSS</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">Portfolio Tracker</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Progress</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">SaaS</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">User Feedback</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Wealth</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Wealth Management</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Web3</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Web 3.0</span> |
||||
|
</li> |
||||
|
<li class="list-inline-item"> |
||||
|
<span class="badge badge-light">Worker</span> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</section> |
||||
|
</article> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
@ -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 {} |
@ -0,0 +1,3 @@ |
|||||
|
:host { |
||||
|
display: block; |
||||
|
} |
After Width: | Height: | Size: 197 KiB |
Loading…
Reference in new issue