【個人開発】発案者とのマッチングサイトを利用して、アレルギー食品をメモするアプリを作った

個人開発にて、[**アレルギー食品のメモアプリ「AllergyNote」**](https://play.google.com/store/apps/details?id=com.yakuran.my_food_allergy)を作りました。

使う機会は少ないかもしれないけど、**あったら嬉しいサービス**を目指して作りました。

https://apps.apple.com/jp/app/allergynote/id6451404630

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

## アプリの紹介

**AllergyNoteはモバイルアプリ[^1]** です。
画面UIはシンプルなものを目指して、[**Material Design 3**](https://m3.material.io) に沿うように作成しました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510027/5aad8b56-f71a-35e2-3c1e-1378a7f34a04.png" width="800">

アレルギーをチェックするようなアプリでも **「食品数が足りない」** といったレビューを多く見たので、
主要なアレルギー食品[^2]はカバーするように作成しました。

アレルギー情報は画像や、**7ヵ国語**[^3]の音声で伝えることが出来るので、
食事会や旅行先でのレストランなどでご活用下さい。

## 開発の経緯

最初は学習を目的としてアプリ開発を行う予定でした。

ですが、**目的となるアプリ案もない状態**だったので、
すでに作成されているアプリを見たり、サンプルプログラムを作る程度となってしまいました。

新しいものを少し触る程度となっていき、**アプリ開発のモチベーションも低下していきました**。

そんな中、[**アイデアとエンジニアのマッチングサイトである「ideee」**](https://www.ideee.tech) にたどり着き、作ってみたいアプリを見つけました。

https://www.ideee.tech

サイト内で [**アプリの発案者である「なる」さん**](https://twitter.com/1026NT)と連絡を取り、
個人開発としてアイデアを利用させてもらうことをご相談し、開発がスタートしました。

## システム構成

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510027/e979a883-f24e-cf8c-a09c-ae2b940f2fba.png" width="400">

定番の構成ではありますが、
フロントエンドに**Flutter**、バックエンドはmBaaSである**Firebase**を利用しました。

リリースに伴って躓いたポイントについては、下記の記事でまとめています。

https://zenn.dev/yakuran1/articles/be126a719023b9

技術スタックについては下記の通り

### 技術スタック

- [Firebase](https://firebase.google.com/?hl=ja) (Auth, Firestore, Storage, DynamicLinks, RemoteConfig)の利用
- [intl](https://pub.dev/packages/intl) を利用した多言語化対応
- [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) を利用したテスト
- [flutter_screenutil](https://pub.dev/packages/flutter_screenutil) を利用したレスポンシブ対応
- [GitHub Actions](https://github.co.jp/features/actions) を利用したCI(自動テスト/ビルド/アップロード)

## 今後のアップデート

初期リリース版では、アレルギー食品のメモ/共有のみに絞って開発しリリースを行いました。

今後は、食事会等のイベントを登録できる機能や、食事レシピの提案、ゲストへ記入してもらうための機能等を追加していく予定です。

継続してアップデートを行う予定ですので、ぜひご利用下さい。

## まとめ

初めての個人開発だったこともあり、**マネタイズ等を考えないままアプリのリリースまで行いました**。
アプリリリース後に、発案者である「なる」さんとお話をさせて頂き、マネタイズや今後の拡張性についてもご提案頂きました。

元々は学習を目的としていたため、リリース出来ただけでも満足いく内容ではあったのですが、
他の個人開発者の方の意見や知見を頂けたことは、本当に有意義でした。
**この場を借りて感謝をお伝えしたいと思います**。

個人開発を始めたいけどアイデアが思い浮かばない方や、作って欲しいアプリはあるが時間や技術の問題で作れない方のためにも、
ideeeはオススメのサイトです。
作成したアプリ共々、ぜひ使ってみて下さい。

[^1]: GooglePlayStore,AppleStoreの両方でリリース済みです。~~現在はGooglePlayStoreのみの公開となっています。将来的にはAppleStoreでも公開予定です。~~
[^2]: 主要なアレルギー食品は[消費者庁が公開していた情報](https://www.caa.go.jp/policies/policy/food_labeling/food_sanitation/allergy/)を元に選定しました。
[^3]: 日本語以外は機械翻訳です。対応言語は　日本語、英語、フランス語、イタリア語、スペイン語、ドイツ語、ロシア語　です