kosukesaigusa / recipe-app

A simple FlutterFire recipe app.

Home Page:https://apps.apple.com/jp/app/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%83%AC%E3%82%B7%E3%83%94/id1543341359?l=ja

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

シンプルなレシピ

Flutter & Firebase 製のレシピ管理・投稿アプリ

※ Apple 側の問題で環境によって iOS 版 App Store リンクが 403 エラーを返すことが度々あります。その際は、iOS の App Store で「シンプルなレシピ」と検索するか、Market with the App Store リンク もご確認下さい。

検索画面 レシピ画面 調理時の閲覧画面
mock-top mock-recipe mock-recipe-detail

シンプルなレシピについて

本リポジトリは、KBOY の Flutter 大学 のオンラインサロンのメンバー数名で行った、2020年10月にスタートした共同開発プロジェクトのひとつです。

「シンプルなレシピ」は、主たる開発者/プロダクトオーナーである @KosukeSaigusa(本リポジトリのオーナー)が日々色々なツールを試しながら行っていた料理の記録を、シンプルな操作性と UI によって投稿・管理し、調理時の汚れたり濡れたりした手で画面をスクロールする必要なく、作り方を参照しながら料理をするためのアプリケーションを作成したいという考えで開発されました。

機能や実装内容の一覧

Flutter, Firebase, Firebase Authentication, Cloud Storage, Cloud Functions, Docker などを使用して、下記のようなアプリの各機能等の実装を行いました。

  • アプリの UI の実装に必要な様々な Flutter ウィジェットの実装
  • Provider, ChangeNotifier を用いた Stateless ウィジェットによる状態管理
  • development, staging, production の 3 つの Flavor と debug, release の 2 つのビルドモードに応じた各環境および Firebase プロジェクトで、 iOS, Android の両方のビルドを行うための環境構築
  • 認証機能 (Firebase Authentication)
  • 画像を含むレシピの投稿, 更新, 削除機能
  • 投稿する画像のトリミング・圧縮機能
  • レシピの検索機能(N-gram を用いたサードパーティを使わない Firestore による全文検索機能の実装)
  • レシピの公開・非公開の状態管理機能
  • レシピの無限スクロール機能
  • レシピのお気に入り機能(Flutter の Stream を用いたお気に入りステイタスの監視を含む)
  • レシピの更新時などのバッチ処理の機能
  • 認証認可・スキーマ検証・バリデーションに分けた Firestore Security Rules の実装およびテストの実装
  • Cloud Storage の Security Rules の実装
  • Docker を用いた Firebase CLI の環境構築
  • ユーザー登録やお問い合わせを管理者に通知する機能 (Cloud Functions)

本リポジトリを Flutter, Firebase の学習の参考にする方へ

About

A simple FlutterFire recipe app.

https://apps.apple.com/jp/app/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%83%AC%E3%82%B7%E3%83%94/id1543341359?l=ja


Languages

Language:Dart 93.2%Language:JavaScript 6.1%Language:Ruby 0.4%Language:Dockerfile 0.1%Language:Swift 0.1%Language:Kotlin 0.0%Language:Objective-C 0.0%