Ha4go の開発と運用をやっている @PharaohKJ です。この記事はチームの総意だとかそういうのじゃなく、あくまでも開発と運用を担当している私の考えていることです。いわゆるシビックテック発のプロダクトを開発・運営する現場について少しでも感じる、伝わればと思っています。
Ha4go とは
Ha4go by codeforkanazawa-org を参照してください。一応、Code for Kanazawa にリポジトリがあって開発されています。
CfKのメンバーだけではなく、 Code for Okinawa の kimihito (kimihito) さん、Code for Japan の halsk (Hal Seki) さんにもコードのコミットをいただいて共同開発しています。
大きな役割は3つだと考えています.
- みんなで見つけた・考えた課題の投稿
- 課題を解決するための何かを提供できる人の登録
- 課題の欲していることからの課題と人のマッチング
実績(現状)
サービスインしてから特に目立った宣伝や活用、フィードバックを受けてのアップデートの戦略が特にないせいもあって、アクセスゼロに向かって進んでしまっている感じ。
今年の1月にみんなだいすきFacebookとの連携機能を追加した。 → Ha4go - ホーム
が、なかなかこっちのPVも伸びていない。
UU・PV
総ユーザー数は790から900に伸びましたがPVはかなり落ちてます。ローカルとはいえCfKにテレビ局さんとかも入ったんですが、●●砲!って感じのはありませんでした。去年の7月14日はシビックハック系イベントでご紹介いただいたときだったはず。そのボーナスがまるまるないという感じ。
登録されてる課題と増えた量
select subject, created_at from projects;
subject | created_at |
---|---|
課題と対応する解決案、プロジェクト進捗の見える化 | 2016-03-22 13:23:59 |
シビックハックナイトの運営チームの人不足 | 2016-04-14 11:44:14 |
選挙を若者でも分かりやすく可視化するためにはどうしたらいいか? | 2016-04-19 13:42:41 |
能登地域の獣害(イノシシ)対策 | 2016-05-12 14:37:59 |
子育て-石川県のオムツの交換場所がわからない。 | 2016-07-14 11:01:08 |
次世代の里山都市を創造したい。 | 2016-07-14 11:14:50 |
歩いた道の可視化ができないか(CHN Vol.14より) | 2016-07-14 14:06:11 |
(完全な)フリーWiFiマップ(CHN Vol.14より) | 2016-07-14 14:08:44 |
空き家のデータベースを充実させたい (CHN Vol.14より) | 2016-07-14 14:11:15 |
休日当番医webアプリの開発 | 2016-08-28 13:19:41 |
イベントカレンダーが見られるページが欲しい | 2016-09-05 09:33:45 |
地域ぐるみで獣害対策を行うには何が必要か? | 2016-10-04 14:58:57 |
ヨボシゴ育成ツール | 2016-10-08 08:31:09 |
投票に役立つ情報をまとめたい(CHN Vol.17より) | 2016-10-14 09:53:46 |
シビックハック(ナイト) FAQ/Wiki を用意したらいいんじゃないか | 2016-11-14 00:54:54 |
子供の安全のために石川県域版の不審者情報マップを作りたい | 2016-12-05 01:37:47 |
ハザード情報をオープンデータに | 2017-05-12 00:04:30 |
地域の年間行事のicsファイルを作って活用してもらいたい。 | 2017-05-31 02:37:46 |
「儲けは多いがくだらい仕事」と「儲けは少ないが価値のある仕事」の可視化 | 2017-06-02 03:34:20 |
託児所ありなイベントを増やしたいのでマッチングサイトを | 2017-08-12 06:36:59 |
助成金・補助金の対象かどうかがわかりにくくてしょうがない | 2017-10-27 12:44:56 |
去年は16件、今年は5件でした。
mysql> select year(created_at), month(created_at), count(id) from projects group by year(created_at), month(created_at);
| year(created_at) | month(created_at) | count(id) |
------------------:+------------------:+----------:+
| 2016 | 3 | 1 |
| 2016 | 4 | 2 |
| 2016 | 5 | 1 |
| 2016 | 7 | 5 |
| 2016 | 8 | 1 |
| 2016 | 9 | 1 |
| 2016 | 10 | 3 |
| 2016 | 11 | 1 |
| 2016 | 12 | 1 |
| 2017 | 5 | 2 |
| 2017 | 6 | 1 |
| 2017 | 8 | 1 |
| 2017 | 10 | 1 |
運用
ソースコード、issue
前述のとおり、CfKのGitHubにリポジトリなど一式用意されています。 → codeforkanazawa-org/ha4go: ha4go
ウェブ上のインフラ
ドメイン名はCfKにとっていただいてます。
ウェブページ( http://ha4go.net )は上記リポジトリの GitHub Pages を使って運用しています。
ウェブアプリは さくらインターネット様のご厚意で、IaaSであるさくらクラウドをご提供いただきました。この上に以下のような構成とミドルウェアを使っています。
- Ruby on Rails のウェブアプリ用インスタンス1
- nginx
- Let's Encrypt
- docker (Ruby on Rails アプリ)
- MySQL 用インスタンス1
- docker (MySQL)
- メンテ用踏み台1
- munin
- cron
- DBデイリーバックアップ
- Let's Encrypt 証明書更新(マンスリー)
通知メール配信はさくらのメールボックスを使わせてもらってます(これは有料でもともとCfKが契約していたものです)。
開発のコミュニケーションは 一連の業務の拠点となるデジタルワークスペース | Slack の無料プランで行っています。GitHubとの連携や、さくらインターネットさんの障害情報のRSSをここに通知させたりしています。
この程度のアプリではCPUは全然余裕で、メモリだけはくいます。どんどん食ってしまっているのはたぶんdocker上のログで、今は上限を決めて運用しています。DBも余裕ですね…。
インフラ構築関係についてはどうしても秘密鍵や各サービスのAPIトークン、シード値など、どうしても秘密にしたいことがあるので Bitbucket さんに無料枠でプライベートリポジトリを作成して、情報共有しています。
開発
開発は、基本的には各自のコンピュータ上に環境を作ってもらってますが、デザインだけお願いしている子、Windowsな子などはツライのでとあるブランチを Heroku に自動デプロイして確認できるようにしています。
課題と今後
技術的課題
さくらインターネット様には非常に感謝していますが、 IaaS ではメンテナンスコストが高すぎるので、なんとかしたいです。具体的にはやっぱりいろいろとミドルウェアの管理、セキュリティパッチなど、調査と対応に時間がかかってしまうのが大変です。もちろんあえてIaaSを採用するのはアリだと思いますが、なかなか判断が難しいです。
今後
もっとHa4goに書くことが
- 便利で
- 宣伝にもなって
- 人が集まって
- ちゃんと解決する
ということをシナリオとして宣伝していかないと忘れ去られていくプロダクトとなって終わりそうな感じ。議論するならFacebookやGitHub、各種SNSのほうがいいし、人が集まってる限りは宣伝する必要もないですし。
ha4go オンライン もくもく会 - connpass を開催して、なんとか投稿されている課題を解決に向かわせたいと考えていますが、なかなか追いつかないです。ぜひご参加ください。