迷子のペットを探すアプリですが、
今日はデータベースとの接続をできるようにしました。
データベースはfirebaseのcloud firestoreを使いました。
firestoreはNoSQLデータベースです。
NoSQLはMySQLなどのRDBと比べて検索時に使うような
高度なクエリが苦手と言われていますが、
そこまでややこしい検索をしなければ
サービスの運用上は特に問題なく使えます。
しかしfirestoreの素晴らしいところは
何と言ってもセキュリティルールの設定です。
この設定を使うことで各データの読み書きを制限できるのです。
認証を通過したユーザだけがアクセスできるようにしたり、
フォームから送信されたデータに対して
バリデーションをかけたりすることもできます。
ただ、送られてきたデータを弾いたときに、
どこのデータが原因で弾いたのかがiOS側ではわからないため、
ユーザに明確なエラー箇所を伝えるのであれば、
iOS側でもバリデーションの仕組みを入れる必要があります。