Jasperのコアアーキテクチャは一定間隔でGitHub APIにアクセスし、IssueやPullRequestを取得する。それをローカルのデータベースに蓄積し、そのデータベースを表示したり操作するUIを提供している。である。 主要なコンポーネントとその関係は以下の通りである。Mainプロセス・Rendererプロセス・IPCについてはElectronのプロセスモデルを参照。 画像の元ファイル Fragment(UI) Issueの更新通知、DBに保存されているIssueを表示したり、Streamの作成などを行うUIを提供 Stream Issueの検索クエリを使ってGitHub APIから最新のIssueを取得する ポーリング 全Streamの定期実行を行う Event コンポーネント間のイベント送受信の機能を提供 Repository DBを操作する機能を提供 BrowserView