『最強のTODOアプリ作ってみた』 〜リポジトリをPublicにしてみたら何が起こるのか〜
この記事は最近開発しているTodoアプリのGitHubリポジトリをPublicにしてみた記事です。
アプリの名前はTokeruです。
はじめに
TokeruはFlutter作られているMacOSアプリです。
アプリを一言で説明すると「1日の作業パフォーマンスを最大化するアプリ」を目指しているアプリです。
⇧ ⌘ ,
キーでSpotlightやAlfredのようなTodoウィンドウが開きます。
ショートカットにも対応しており、作成、チェック、ウィンドウを閉じる操作はキーボードのみで行えます。
今はTodo機能しかありませんが、今後は時間をうまく使うための機能や思考の整理のための機能をリリース予定です。
今はFlutterのマテリアルデザインをそのまま使っていますが、UIや触り心地にもこだわっていきます。(今はまだそのフェーズではないだけ)
Tokeruは絶賛Beta版です!
誰でも触ることができるので、ぜひTestFlightからインストールしてみてください。
なぜリポジトリをPublicにしてみたのか
なぜリポジトリをPublicにしてみたのかと言うと、8割くらいは単純な興味本位とプロダクトを知って欲しいという気持ちです。
ただ、それ以外にもメリット・デメリットはいろいろある気がしたので紹介したいと思います。
Publicにするメリット
まずはメリットからです。
GitHub Actionsを制限がなく使える
GitHub Actionsはプランによって使えるStorageと分(月当たり)が決まっています。
個人開発だとGitHub Free
に該当することが多いのではないでしょうか。
しかし、Publicリポジトリの場合その制限はなくなり、使いたい放題になります!!
TokeruはMacOSアプリなのでビルドするためにmacos-latest
を選択する必要がありますが、ubuntuの10倍も消費するためずっと無料なのは大変ありがたいです。
GitHub Actions の使用は、パブリック リポジトリの標準の GitHub ホステッド ランナーとセルフホステッド ランナーの場合は無料です。
Codecovを無料で使える
テストカバレッジを計測してくれるツールのCodecovも制限なく使えます。
(実はまだテストは書けてないのですが...)、個人開発とはいえテストはしっかり書ける人間に成長したいのでCodecovを導入してモチベーションを上げていきましょう。
その他諸々GitHubの機能が使える
GitHub Actions以外にもFreeプランでもpublicだと使える機能があります。
- Pull requestのDraft
- ブランチプロテクト
スターがつくとモチベーションがでる
個人開発は苦しい道のりです。
勉強のため、自分が使うため...と表向きには言いつつも内心は誰かに使って褒めてもらいたい気持ちでいっぱいです。
正直になりましょう。
とは言っても一般の人に使ってもらい褒めてもらう機会なんてそうそうありません。
同じエンジニア同士、スターを送り合ってモチベーションを保ち合いましょう!!
共感してくれたら是非、Tokeruにもスターをお願いします!!
人に見られている気がしてしっかりとしたコードが書ける
仕事で書くコードと、プライベートで書くコードに違いが生まれるのは必然です。
だって誰も見ていないのだから。
誰も見ていないコードだと適当に書いたりコメントをおろそかにしがちです...
人に見られているかも...😞と言う状況を作って丁寧なコードを心がけましょう。
Publicにするデメリット
恥ずかしい
自分のエンジニアリング力に相当な自信がない限り恥ずかしいと言う気持ちはついてきます。
特に個人開発は誰かに見てもらう前提ではないので、適当に書いたりコメントをおろそかにしがちです...
publicにすることで仕事の時と同じくらいしっかりと書くことができるかもしれません。
key・セキュリティ周りが不安
公開してはいけないものを含めていないか不安になります。
普段からcommitに含めないようにはしていますが、Publicにしてしまうとより一層気をつけなければいけません。
ちなみにFirebaseのkey周りは含めていますが、これは問題ない認識です。
Firestoreはセキュリティルールでアクセス制限しをしています。
無料で使われ続ける懸念がある
もしTokeruが成長して有料プロダクトにした時に、エンジニアであればcloneして無料で使い続けることができてしまいます。
同じ開発者としてそんなことにはならないだろうと信じたいですが、その懸念は0ではありません。
Publicにするために準備したこと
READMEを書こう
リポジトリに訪れた人が一番最初に閲覧するREADMEをしっかり書きましょう。
環境構築について書くのはもちろんですが、プロダクトに興味を持ってもらえるために機能の紹介なども書く方が良いと思います。
CONTRIBUTE.md
貢献してくれる人のためにCONTRIBUTE.mdを書きましょう。
書き方についてはこちらの記事が参考になりそうです。
Issueを用意する
もしコントリビューターになりたい!と思ってもらった時のためにIssueを用意しておきましょう。
また、Issueを見れば今後どんな機能が作られるのかもわかるので、ユーザーをワクワクさせることができるかもしれません。
ブランチプロテクト
pushしまくりにならないようにmainブランチは守っておきましょう。
セキュリティ周り
GitHubがやってくれるセキュリティ周りの設定は行っておきます。
最後に
最後まで読んでいただきありがとうございます。
アップデートがあったらX(Twitter)でも投稿するので、ぜひフォローしておいてください!!
Discussion