Supabaseが流行ってきているので情報整理してみた

## はじめに
みなさま、[supabase](https://supabase.com/)は活用していますか？
Firebaseに対応するサービスで、FirebaseのNoSQLとは違いPostgreSQLを用いたRDBで
データ管理をすることができます。
また、Firebaseにある[Authentication](https://supabase.com/#:~:text=Learn%20more-,Authentication,-Add%20user%20sign),[Storage](https://supabase.com/#:~:text=Learn%20more-,Storage,-Store%2C%20organize%2C%20and),[Edge Function](https://supabase.com/#:~:text=Learn%20more-,Edge,-Functions),も備わっているのでFirebaseから移行する方も周囲で見かけます。

モダンなフロントエンドのフレームワークにも対応していますし、REST APIも使えるため気軽に取り込めると思います！


![Screenshot 2023-07-16 1.32.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/735195/1a98f533-dc9e-78e7-b485-aa77207a8122.png)

個人的には、Firebaseはライブラリやパッケージの依存関係の整理で苦労した思いがありますが、Supabaseはそれがないのも乗り換えるメリットになるかなと思います。

#### Document
https://supabase.com/docs

#### ハッカソンも活発に行われています
https://www.madewithsupabase.com/tag/Hackathon

#### Launch Weekも頻繁に行われています
https://supabase.com/blog/launch-week-7-hackathon-winners


## Supabaseのサポート
supabaseは、開発者向けに以下のサポートを行っています
### 1. Discord

https://discord.supabase.com/

QAのスレッドがあったりするので気軽に相談できます！

### 2. Github Discussion

https://github.com/orgs/supabase/discussions

こちらでもDiscord同様Discussionにて質問や相談ができます

### 3. Github issue

https://github.com/supabase

具体的なissueがあれば対象のリポジトリで起票した方がいいですね。
リアクションもしっかりくるので安心です。

### 3. twitter
返事が早い。別にタグをつけているわけでもなく、ボソッと呟いたことに対して回答してくださるのでたまに救われます。

https://twitter.com/dshukertjrjp


## ちょっとだけtwitterのQAを羅列してみます

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ファイルURLのクエリーパラメーターに適当なパラメーターを追加してURLを変えれば最新版を取ってこれるはずなので試してみてください！</p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1679000892853596161?ref_src=twsrc%5Etfw">July 12, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">iOSとAndroid向けであればこちらの手法がおすすめかもです。signInWithOAuthだとwebブラウザが開きますが、こちらだとそれなしでいけます。<a href="https://t.co/GgIOkHfp82">https://t.co/GgIOkHfp82</a></p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1678618914144800768?ref_src=twsrc%5Etfw">July 11, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">クレカ登録なしで使い始められます！</p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1678419404760006658?ref_src=twsrc%5Etfw">July 10, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">もちろんいろんなやり方があると思うのですが、Supabaseを使っている前提であればたぶん一番手軽なのはposgres functionを作ってそれをSupabaseクライアントの.rpcで呼ぶ形かなと思います！特に追加のdependencyなしで使えますし、フロントエンドから直接呼べますし！<a href="https://t.co/CmPyK8tcUD">https://t.co/CmPyK8tcUD</a></p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1677692488222654467?ref_src=twsrc%5Etfw">July 8, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">DateTimeを`.toIso8601String()`メソッドでStringに変換して挿入するやり方が一番簡単かなと思います！</p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1677129427891937281?ref_src=twsrc%5Etfw">July 7, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">クエリーが遅いのであればインデックスを貼ることで改善するかもですが、authとrealtimeが遅いのであればマシンパワー不足がおそらく原因なので対処としては正しいかなと思います！</p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1675751708847374337?ref_src=twsrc%5Etfw">July 3, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">多分どこかに利用例あると思うのですが、ぱっと見つかりませんでした。<br>バックエンドにSupabase authのsessionから取得できるaccessTokenを投げてバックエンド側で.getUser(accessToken)を呼んでいただくことで認証情報を引き継いでSupabaseを操作できる形になっています<a href="https://t.co/x7fel0TFnv">https://t.co/x7fel0TFnv</a></p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1675732480232673281?ref_src=twsrc%5Etfw">July 3, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">こちらで行ける気がします！ <a href="https://t.co/DCouBDGzdN">pic.twitter.com/DCouBDGzdN</a></p>&mdash; タイラー (@dshukertjrjp) <a href="https://twitter.com/dshukertjrjp/status/1675197973259755520?ref_src=twsrc%5Etfw">July 1, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


以上です！
supabase、気軽に使えてサポートも手厚いので面白いと思います！
RDB好きなエンジニアにとってはおすすめなので使ってみてください！