【ノーコードで簡単!】Bubbleで作るシンプルなポイントサイトの作り方

こんにちは!NoCodeCampAppTalentHubのツバサです。
知人から、小売店で簡単に作れるポイントサイトを作ってという依頼があったので、記事に書いて伝えます。

今回は、ノーコードツール「Bubble」を使って、シンプルなポイントサイトを作ってみたので、その手順や仕組みをご紹介します。おおよそ、初心者が1時間くらいを目安に作れる程度のもので想定しました。

ユーザー登録・ログイン機能付き、ポイント履歴の表示・合計ポイントの集計までをBubbleだけで構築しました。
ノーコード初心者の方にもおすすめの内容になっています!


🎯 作ったものの概要

  • サービス名(仮):Pointsite
  • 主な機能:
    • ユーザー登録/ログイン(Bubble AIによる自動生成)
    • ポイント履歴の表示(Repeating Group)
    • 合計ポイントの表示(自動集計)
    • 管理者による手動ポイント付与(Bubbleエディターから)

💡 使用したデータベース

1. User

Bubble標準のユーザーデータ型を使用し、以下のフィールドを追加しました。nameだけ新規で追加します。

フィールド名種類用途
nametextユーザー名(新規で追加します)
emailtextメールアドレス
slugtext固有URL用のスラッグ


2. PointHistory

ポイントの履歴を記録するためのデータ型です。

フィールド名種類用途
userUserポイントの対象ユーザー
point_changenumber加算/減算されたポイント値
created_datedate履歴が作成された日時

🖥️ UI構成

サインアップ画面

BubbleのAIアシスタントを使って、ワンクリックで生成。
「Full name」「Email」「Password」「Re-enter password」の入力欄を持つ、ベーシックなログイン/サインアップを登録

  • すでにアカウントがあるユーザー向けに「ログインはこちら」リンクも設置。

Workflowでサインアップのアクションを追加しましょう。(自動でできてる場合もあります。)

サインアップ後は、indexページへのNavigationも忘れず


ポイント履歴画面(index)

ログイン後に表示されるホーム画面では、次の情報を表示します。

  • 「ようこそ、〇〇」
  • ポイント履歴(Repeating Groupで表示)
  • 合計ポイント

ようこそ、とポイント履歴を作る
(↓履歴表示ページ)


ポイント履歴を表示させる。Data sourceを登録

プレビューでポイント履歴が反映していることを確認

✅ 合計ポイントの表示方法

「このユーザーが今持っている合計ポイントを出したい!」
そんなときもBubbleなら簡単。

以下のように設定します:

🔧 手順

  1. テキスト要素を配置
  2. Insert dynamic data を選択
  3. 以下のように記述:
plaintextコピーする編集するSearch for PointHistory's point_change:sum
  1. 検索条件(Constraint)で:
user = Current User

この設定で、ログイン中のユーザーがこれまでに受け取ったポイントの合計を自動表示できます!

🔁 ポイントが増減した場合も、point_changeをマイナスで記録すればOK!
±両方対応できる設計です。


🛠️ ポイントの追加方法

今回はシンプルにするため、管理者がBubbleエディターから手動でポイントを加算しています。

具体的には:

  1. データ → App Data → PointHistory にアクセス
  2. 「Add entry」をクリック
  3. 以下のように入力:
    • user:対象のユーザー
    • point_change:加算したいポイント数(例:+100)
    • created_date:省略可(自動入力される)

⚠ 今後はワークフローで自動加算する処理にも発展できます。

📸 スクリーンショット
(↓データベース設定)


🔐 セキュリティ面で気をつけること

今回、1時間程度で作れるものが目安なので、本格運用する場合には、以下の

点などにも配慮してください。特にポイントサイトの増減は、お金がからむ
ケースもありますので、お客様がいる場合には、何度もテスト検証をお願いします。

1. 管理者操作の制限

  • 懸念点:ポイントの追加をBubbleエディター上から手動で行っているため、ログイン情報を知っていれば誰でも操作可能。
  • 対策
    • 管理者用の専用ダッシュボードを用意し、**is_admin フラグ(User データに Boolean 型で追加)**を持たせて表示・操作を制限する。
    • エディターアクセス権はなるべく共有しない。

2. データの読み取り制限(Privacy Rules)

  • 懸念点PointHistoryのデータがすべてのユーザーに表示されてしまう可能性。
  • 対策
    • Privacy設定で「Current User is this PointHistory’s user」のときのみ表示可にする。
    • 管理者にはすべて見えるように、is_adminで条件分岐。

3. ページアクセス制限(Navigation制御)

  • 懸念点:ログインしていないユーザーでもindexページにアクセスできてしまう。
  • 対策
    • indexページなどは「Current User is logged in でないとリダイレクト」処理を追加。
    • 管理者ページも同様にCurrent User's is_admin is yesでないとアクセス不可に。

✅ Bubble上で追加すべき項目

項目名内容理由
is_admin(Userフィールド)Boolean型管理者だけがポイント追加画面を見れるようにする
PrivacyルールPointHistoryに対し「This PointHistory’s user is Current User」条件で閲覧可他ユーザーの履歴を見られないようにする
アクセス制限Workflow未ログインユーザーをloginページへリダイレクト不正アクセス防止
フォームバリデーション入力値の空欄・形式チェックデータの破損や不正な入力を防止

📝 まとめ

今回は、Bubbleだけで作れるシンプルなポイントサイトの作り方を紹介しました。

  • ログイン・サインアップはAIアシスタントで自動生成
  • ポイント履歴はRepeatingGroupで表示
  • 合計ポイントはsum関数でカウント
  • ポイントはエディターから簡単に追加可能

🚀 今後の拡張アイデア

  • ポイント付与の自動ワークフロー(例:ボタンを押すと加算)
  • 管理者専用のダッシュボード
  • ポイントランキング表示
  • 月別・カテゴリ別集計
  • ポイントと交換できるアイテム設計

👋 最後に

「Bubbleで何か作ってみたいけど、難しそう…」という方でも、
このようなポイントサイトならサクッと作れて、機能の練習にも最適です!

気になる方はぜひチャレンジしてみてください 😊

オンラインサロンNoCodeCampでもお待ちしてます

この記事を書いた人

tsubasatwi( つばさ)

国立工業高専卒業(新居浜工業高等専門学校)
「イベント×IT×営業」のカスタマーサクセスマネージャーとして活躍。セールス→構築管理運用まで全体プロジェクト管理の豊富な経験あり。

・主にITに関するイベント集客/法人営業/開発を担当
・大手通信会社を中心にエンタープライズのIT導入を担当(B2B)

DMMで日本初の NoCodeサロン を運営
「NoCodeCamp プログラミングを使わないIT開発 」
https://lounge.dmm.com/detail/2549/