mcpField
L
low-code-platforms

low-code-platforms

github.com/travisjneuman開発10695 回インストール1 日前に更新
リポジトリ

low-code-platforms について

Retool、Supabase、Appsmith、Tooljet、n8n、Zapierを検討する開発者向けのローコード選定・連携ガイドです。カスタムコード、APIファーストのバックエンド、ハイブリッド構成、データ同期も扱います。

主な機能

  1. 01主なローコードプラットフォームの用途比較
  2. 02Supabase認証の例
  3. 03RetoolのSQLクエリパターン
  4. 04n8nワークフロー構成の解説
  5. 05カスタムコードとハイブリッド構成の説明
  6. 06Webhookによるデータ同期とセルフホストの概要

活用シーン

  1. 01社内ツールや管理パネル向けの基盤選定
  2. 02Supabaseで認証付きバックエンドを構築
  3. 03n8nまたはZapierでSaaSデータを同期
  4. 04データ主権要件に向けたセルフホスト型基盤の評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/travisjneuman/.claude --skill low-code-platforms

インストール後、Claude Code で/low-code-platformsを入力して読み込まれたか確認します。

詳細

ローコード&社内ツールプラットフォーム

プラットフォームの選定

プラットフォーム最適な用途料金モデル
Retool社内ツール、管理パネルユーザーごと
Supabaseバックエンド・アズ・ア・サービス、認証、DB使用量に応じた課金
Appsmith社内ツール(オープンソース)セルフホスト無料
Tooljet社内ツール(オープンソース)セルフホスト無料
n8nワークフロー自動化(オープンソース)セルフホスト無料
ZapierSaaS 間の連携タスクごと

Supabase

import { createClient } from '@supabase/supabase-js';

const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);

// Auth
const { data: { user } } = await supabase.auth.signUp({
  email: '[email protected]',
  password: 'secure-password',
});

// Database (auto-generated REST API from Postgres)
const { data, error } = await supabase
  .from('posts')
  .select('*, author:users(name)')
  .eq('published', true)
  .order('created_at', { ascending: false })
  .limit(10);

// Real-time subscriptions
supabase.channel('posts')
  .on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'posts' },
    (payload) => console.log('New post:', payload.new))
  .subscribe();

// Row Level Security (RLS)
// CREATE POLICY "Users can only see own posts"
//   ON posts FOR SELECT
//   USING (auth.uid() = user_id);

// Storage
const { data: upload } = await supabase.storage
  .from('avatars')
  .upload('user_123/avatar.png', file);

// Edge Functions (Deno)
// supabase/functions/hello/index.ts
Deno.serve(async (req) => {
  return new Response(JSON.stringify({ message: 'Hello!' }));
});

Retool

// Retool query (SQL)
SELECT * FROM orders
WHERE status = {{ statusDropdown.value }}
AND created_at >= {{ dateRange.start }}
ORDER BY created_at DESC
LIMIT {{ pagination.pageSize }}
OFFSET {{ (pagination.page - 1) * pagination.pageSize }}

// Retool transformer
const enriched = data.map(row => ({
  ...row,
  total_formatted: `$${row.total.toFixed(2)}`,
  status_color: row.status === 'paid' ? 'green' : 'red',
}));
return enriched;

n8n ワークフロー自動化

{
  "nodes": [
    { "type": "n8n-nodes-base.webhook", "name": "Webhook Trigger" },
    { "type": "n8n-nodes-base.httpRequest", "name": "Fetch Data" },
    { "type": "n8n-nodes-base.if", "name": "Check Condition" },
    { "type": "n8n-nodes-base.slack", "name": "Send Notification" }
  ]
}

統合パターン

  • カスタムコードによる拡張: ローコードの限界に達した場合は、カスタム JS/Python を埋め込みます
  • API ファーストのバックエンド: Supabase/Firebase をバックエンドとして使用し、フロントエンドはカスタムで構築します
  • ハイブリッドアーキテクチャ: 管理パネルにはローコード、顧客向けにはカスタムコードを使用します
  • データ同期: SaaS ツール間で、Webhook をトリガーとする n8n/Zapier ワークフローを使用します
  • セルフホスト: データ主権の要件がある場合は、Appsmith/Tooljet/n8n を優先します

コメント