【個人開発】こどもの欲しい物を家族でシェアする「欲しい物リスト」アプリを作りました

個人開発にて、[**こども用のほしいものリストアプリ「これほしい！」**](https://yakuran.notion.site/e70461f7c2934bf7918bd82d48e5804f?pvs=4) を作りました。

子供が生まれてからというもの、両親や親族からいろんな贈り物をいただく身になりました。
ほしいものを両親に伝えたり、贈り物が被ってしまう問題をなくす目的で作りました。

![紹介画像：こどもの「ほしい」を叶えてあげたい](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510027/14f4ca8e-4176-b5bf-343b-f39d353b1ba5.png)

## 📌アプリのリンク

- Google Play Store

https://play.google.com/store/apps/details?id=com.yakuran.family_wish_list

- App Store

https://apps.apple.com/jp/app/id6464590632

- Web (β)

https://family-wish-list-ad3c7.firebaseapp.com



## 🎉アプリの紹介

デザインは極力シンプルでわかりやすいものにするため、マテリアルデザインにしました。

**「ジャングルジムが欲しいけど、まだ商品までは決まってない」** ということもあると思い、
画像やURLなどの商品情報に関わる部分は複数登録できるようにしています。

アプリの主な機能は下記の通りです。

- **「ほしいもの」** の情報や、購入状況を記録できます
- 家族や親族で「ほしいもの」の情報を**シェアできます**
- **サプライズ機能**を利用し、大人だけで購入状況をシェアできます
- (追加予定) 購入履歴などを**振り返る**ことができます



### ✨こだわりポイント

#### 1. サプライズ機能

単純に欲しい物を登録するアプリを作ろうとすると、
[Amazonのほしいものリスト](https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=GHCGC7B7SQ222YMD)や[Monoca](https://monoca.sola-air.com)など、多機能で洗練されたアプリがすでにリリースされています。
※ 作る上でも参考にさせてもらいました

そこで当アプリでは **「こどものほしいもの」** に絞って、機能を考えました。

クリスマスなどでプレゼントする場合、
子供には秘密にしたいけど、親には買うものを共有したいことがあります。

そこで、ユーザーを「こども」と「おとな」で分け、
サプライズ機能で大人間だけで購入状況をシェアする機能を作りました。



#### 2. なんちゃってWeb対応

スマホはおおむね **小学校高学年ぐらいで買ってもらうことが多い**[^1]みたいです。

ターゲットとしては、親や祖父母から何かを買ってもらう年齢層にしているので、
小さい間は親のパソコンやタブレットでも登録ができるように、**Web版も公開**しています。

機能面だけでなく、デザイン面も粗だらけですが、
子供が**自分自身の欲しい物を登録してくれると嬉しい**です。



#### 3. 広告は表示しない

ターゲットから考えても、子供が直接利用するケースは少ないと思います。

しかし、子供が使えるアプリである以上、
**不適切な広告**などが予期せず表示されてしまうと、子供の教育に悪影響を及ぼす可能性があります。

そのため、当アプリでは**広告を表示せず**、
アプリ内課金も小額の買い切りプランのみに絞っています。

マネタイズという観点からは、広告やアフィリエイトを導入するのが理想的だと思いますが、
個人開発アプリのメリットは、そこに縛られないことだと思ってます。

ただ、維持費がかかるようになれば、**すぐさま追加します**



## 💻システム構成

定番のFlutter x Firebaseです。

### 技術スタック

- [Firebase](https://firebase.google.com/?hl=ja) (Auth, Crashlytics, Dynamic Links, Firestore, Functions, Hosting, RemoteConfig, Storage)の利用
- [RevenueCat](https://www.revenuecat.com)を利用したアプリ内課金
- [riverpod](https://pub.dev/packages/riverpod), [riverpod_generator](https://pub.dev/packages/riverpod_generator) を利用した状態管理
- [go_router](https://pub.dev/packages/go_router), [go_router_builder](https://pub.dev/packages/go_router_builder) を利用したルーティング
- [dynamic_color](https://pub.dev/packages/dynamic_color) を利用したDynamic Color対応
  - ダークモード対応
- [flutter_launcher_icons](https://pub.dev/packages/flutter_launcher_icons) を利用したアプリアイコンの生成
  - [Themed App Icons](https://developer.android.com/about/versions/13/features?hl=ja&authuser=1#themed-app-icons) 対応
- [qr_flutter](https://pub.dev/packages/qr_flutter) を利用したQRコード生成
- [mocktail](https://pub.dev/packages/mocktail) を利用したテスト
- [responsive_framework](https://pub.dev/packages/responsive_framework) を利用したレスポンシブ対応
- [GitHub Actions](https://github.co.jp/features/actions) を利用したCI(自動テスト/ビルド/アップロード)



## 🙇最後に

**最後までお読み頂きありがとうございました。**

[前回のアプリ](https://qiita.com/yakuran1/items/89c6302452c2bdd384fb) と同様、マネタイズを深く検討できなかったのは反省でした。
「サブスクの方がいいかも？」「でも子供が使ったらトラブルになるかも...」といった不安もあり、
現状の状態となっています。

時間やお金をかけているので、何かしらの収益や成果を出せることが理想です。
しかし、とりあえずものを作って、リリースまで行えたことだけでも価値はあると思っています。

**ご興味を持っていただけたら、ぜひご利用ください。**

https://www.notion.so/yakuran/e70461f7c2934bf7918bd82d48e5804f



[^1]: https://www.moba-ken.jp/project/children/kodomo20230216.html