”amplication"
公式サイト:https://amplication.com/
Github:https://github.com/amplication/amplication
オープンソースなローコード、ノーコードまとめのリストから気になったものをレビューしています。今回はその第1弾です。
こちらはイスラエル発のWebアプリケーション開発者向けのローコードツールです。
つくりたいアプリケーションの「データモデル」と「ロール」、「権限」をツール上で定義すれば
- 簡易な機能
(データモデルのCRUDと権限管理、認証機能等)
- 簡易UI
- REST API
- GraphQL
- 環境構築のdockerファイル
を自動生成するというものです。
生成したアプリケーションは
Server
NestJs / Prisma / PostgreSQL / Passport / GraphQL / Swagger UI / Docker
Client
ReactJS / Axios / Formik
で構成されています。
amplicationはクラウドサービスも行っています。
ベータ版の間はFreeだそうです。(2022/3/24)
簡単なアプリを作ってみる
商品(Product)を参照、登録、変更、削除、検索だけ行うアプリを作ってみました。
エンティティ
UserはAmplication上でアプリを定義するとフィールドも含めて自動で作成されます。
ロール
商品(Product)エンティティに対する権限
ロール | 参照 | 作成 | 編集 | 削除 | 検索 |
---|---|---|---|---|---|
Admin | 〇 | 〇 | 〇 | 〇 | 〇 |
User | 〇 | 〇 | 〇 | × | 〇 |
Guest | 〇 | × | × | × | 〇 |
アプリの作成
amplication上でのアプリの作成手順です。アプリの作成はコマンドラインツールもあります。
参照:https://docs.amplication.com/docs/first-app
1.アプリケーションの作成
1-1. "New app"をクリック
1-2. "Start from scrach"を選択
今回はスクラッチにしました。
1-3. アプリ名、説明、カラーを設定
2. データベース名の設定
2-1.データベース名を入力します。
3.エンティティの作成
3-1.エンティティ名を入力
2-2. "Add field"からフィールドを追加します。
2-3.必要に応じでフィールドの項目を変更します。
3. ロールの作成
3-1. "Add role"に追加するロール名を入力します。
3.パーミッションの設定
3-1. Entitiesをクリックします。
3-2.パーミッションを設定するエンティティをクリックします。
3-3. "Permissions"からEntityに対する操作をどのロールに許可するか設定します。
4. コミット&ビルド
ここまで設定したものの変更を確定します。”Commit chages & build"をクリックします。
デプロイ
参照: https://docs.amplication.com/docs/deploy
1. 生成したプロジェクトをダウンロード
展開したデータ
2. セットアップされた環境で展開
※node,npm,dockerのセットアップされている必要があります。
3. docker-composeコマンドの実行
docker-compose up
生成されたアプリ
デプロイすると「http://localhost:3001」でサービスにアクセスできるようになります。
画面
ログイン
初期ユーザー「admin/admin」でログインできます。
ログイン後(ホーム)
エンティティの管理(User)
ユーザーを何件か登録した状態。
エンティティの管理(Product)
API ドキュメント (Swagger)
http://localhost:3000/api/
graphQL
http://localhost:3000/graphql
パーミッション
作成権限のないユーザーでProductを作成しようとしたところ。SAVEがクリックできないようにされています。
総合
使いやすさ | ★★★☆☆ |
技術要素の要求度 | ★★★★★ |
カスタマイズ性 | ★★★★★ |
分類 | ローコード |
認証機能やパーミッションの設定の面倒なところも作ってくれるのは便利ですね。
使い勝手は開発者を前提としていれば難しいことはなさそうです。好みがあえば気に入る方もいるのではないかと思います。
追記
オープンソースなローコード・ノーコードのサービスをはじめました。
詳細は以下をご覧ください。