【個人開発】約半年間でデータ収集アプリをリリースしてみた
初めに
この度、データ収集アプリのArbilioをリリースしました。
この記事は、作ったアプリを宣伝がてら、一年ほど個人開発をしてみて貯まった知見を共有したく、書いています。
使った技術いろいろ
おおまかにはfirebase,reactnative,expo,EAS(expoの関連サービス)
具体的には
firebase
- function(重い処理などフロントでやりたくない処理)
- firestore(データベース)
- authentication(認証)
- dynamiclinks(アプリ内コンテンツのリンクの作成)
当初予定していた機能はほとんどfirebaseで作ることができました。個人的にはfirestoreがとてもいい感じです。作ってて楽しいし便利でした。加えて認証を実装しなくていい、サーバーがいらないところは、初心者にはとても利点だと思います。ただ、deeplinkの実装にはdynamiclinksを使ったのですが、動的パラメータを渡せず、だいぶ時間を使いました。結局、動的にリンクを作るにはfunctionsからRESTをたたくのがベストな気がしました。
expo + EAS
ビルド、OTAアップデート、appstoreへの提出など、いまのところアプリ運営に必要だった動きはEASを使うことでスムーズにこなすことができています。特にアップデートやバージョン管理は不安だったのですが、eas update
コマンドに少しパラメータを渡す程度で行うことができてとても助かりました。
UIはnativebaseで作りました。直感的にcssをいじれた気がします。。
サービスについて
ユーザーは任意の話題について投票を作成することができます。また、その他のユーザーはその投票に対して票を投じたり、投票結果を見ることができます。投票結果は、単純な結果に加え、投票者たちの属性ごとにも表示されます。投票は時系列に何度も集計することができます。(9月版、10月版など)
そして、投票したユーザーには、投票に設定されたコインが付与されます。
このコインは、サービス内で使用することができます。また、商品と交換することもできるようになる予定です。(時期は未定)
投票画面 | 投票結果画面 |
---|---|
投票は、気になる話題に対して投票を作ることができる機能です。また、私たち、個人開発者は、ニーズがあることを十分に確かめる事をしないことは多々あると思います。そんなとき、Arbilioは個人開発者の助けになることができます。そのほか、たとえば新作のケーキの感想などのフィードバックを得たいときにも使うことができます。
Arbilioには投票機能のほか、グループ機能があります。
グループ画面 |
---|
このグループとは、仲良しグループというよりは、「ケーキ屋」、「居酒屋」などのビジネスグループを想定しています。そして、ユーザーはコインを消費して、グループ本体や、グループメンバーに対して、いいねやアイテムを送信することができます。また、グループに投票を紐づける事で、グループページから簡単に投票を促すことができます。
ひとりごと
firestoreのセキュリティルールは癖があってかくのがしんどかったです。あと今回採用した技術だとほとんどjavascriptだけ書ければよかったのが学習コストを抑えられてよかったと思います。
最後に
android版は現在準備中!
11月中にユーザー登録してからuserIdをtwitterのDMに送ってもらえるとコインあげます。
Discussion