5時間程度でノーコードサービスGlide使って商品・顧客管理ツール作った

2020年08月11日 00時08分

背景

三連も終わりに差し掛かった時、商品管理・顧客管理で困っているからと相談をうけた。
スプレッドシートをおすすめしたんですが、事務未経験のためスプレッドシートは使いこなせず…。
Android は使用したことがあると聞いていたので PWA のような感じの UI でスプレッドシートと連携できる機能がサクッと作れれば、問題ないかなーとふわふわ考えていたらGlideというスプレッドシートを利用した PWA を作成するサービスがあった。作るしかねぇ!

作業開始したのが 14 時ごろで作業終わったのが 18 時ごろ、デバッグ等はできてなかったので、不具合修正していたら 19 時。
ドキュメント読みつつ大体 5 時間くらいで作成できた。ノーコードすごい。

使用サービス

今回使用したのはGlideというサービスで、GUI でアプリがサクッと作成できる基盤で、データはスプレッドシートに持つ形。Row データが 500 行までなら無料で使える。すぐ困ってるっぽいので、一旦無料プランで。

スプレッドシートを読み込むと、各シートごとにページが作成され、閲覧、新規作成、編集、削除を行うことができる。
権限については開発者が設定することができる。

テーブル(シート)定義

テーブル(シート)定義は下記の感じ。

table

Relation と呼ばれる定義を Glide 内で設定しないと他シートからデータをとってこれない(よくある外部キーの設定)。

この定義は 1 対 1、多対多も対応している。中間テーブルを使用せずに組む場合は、お互いの Relation をお互いの列に配置する必要がある。(行数で課金されるので中間テーブルは使用しなかった。)
また、Relation を築いても各シートのトップページでは Relation 先は呼べないみたいで、Relation 先のテーブルを表示するための列を作成する必要がある。
図内のリレーション下の要素がそれ。

動かしてみる。とりあえず最低限は実装できたので、今後は使用感を聴きながらドメイン用に設計していく。

動作イメージ

商品新規登録

商品製造

売上発生・顧客登録・売上明細登録

注意点・作った感想

一番時間がかかったのがテーブル設計で、ここはアプリから定義しておかないと二度手間になった。(1 敗

このアプリ、js に出力ができれば言うことないんだけど、どうだろうか。

ノーコード、速度は出るけど結局マシンの処理速度に甘えてしまってる感じがあるから、最適化するにはやっぱりコードやバックエンドを考えないといけない。

あとフォームの使いまわしが欲しいかも。

ベースはできたから横展開ができそうだけど、それならかっちり作りたい。

とりあえずデータをしっかり管理するおいしさを伝えつつ無料プランが終わった際には移行を考える感じに。

他にもいいツールあれば教えてください。