アプリの目的
夫婦間でレシピを共有するアプリを作成したいと思ったことがきっかけです。
私の家は夫婦共働きで子供もいるので夫婦どちらか余裕がある方がごはんを作ることになっています。
レシピを共有できれば「冷蔵庫の食材は何を作るために買ったの?」ということがなくなると思ったのでアプリの作成を始めました。
アプリ作成の現況
KotlinでAndroidアプリをリリースできたので、次はもう少し複雑な機能を入れたアプリを作成しようと思い着手したもの。
認証機能とDB連携に加えて、ユーザ間でレシピを共有できるようにしたいと思い、
ユーザのUIDをお互いのレコードに保持することで実装できないかと思い進めてきました。
結論としてはDB周りが複雑になりすぎて中断中です。
連携機能をつける前はレシピ登録もメニュー登録もエラーなく機能していたのですが、今ではエラーの山となってしまい頭を抱えているところです。
DB設計が甘かったというか、実装しながらDBの設計もしようと進めたのが原因だと思っています。
恐らくDBとアプリのリポジトリの間でやりとりする変数が異なっているのが問題です。
しばらく開発の時間がとれなくなるのでお蔵入りのアプリになりそうです。
現状の動作
以下が現状の動作になります。
認証周りは問題ありませんが、(パスワードが見えているところは課題)レシピや週のメニュー登録が機能していない状態です。
DB設計を変える前はうまくいっていたのですが、Gitのように上手くいかなくてもすぐ戻れるわけではないので安易に
DB設計を変えてはいけないことがわかりました。
今の段階でできるところは下記の機能のみになっています。
サインアップ → サインイン → メニュー表示 → レシピ表示
参考にした動画
作成のために参考にしたのは下記動画になります。これを見れば1からFlutterの開発ができるようになります。
この動画ではTwitter(現X)のクローンアプリを作成することを目的としていますが、
今回はこれを応用してレシピ共有アプリを作ってみました。
工夫したこと
工事中。
ローカル環境はDockerで
appwriteというプラットフォームをDockerで起動してこちらにアプリを接続してローカルで開発しています。
MySQLや色々なものが入っているので、認証やDBも全てこちらで準備できます。
開発プラットフォームAppwrite
Dockerで起動したappwriteはブラウザで操作します。
Auth,Databaseなど開発に必要なものが一通りそろっています。
以下はlocalhostに接続してコンソール画面を表示しているところです。