チャット機能について

チャット機能について

もっと見る
icon_R_0044.jpg

どうやって実装したの?

もっと見る
スクリーンショット 2025-09-11 171058.png
icon_R_0044.jpg

チャット機能リリースしました。
About Chat

ついにチャット機能リリースしました!🎉

みなさん、ついに!このブログに 「チャット機能」 をリリースしちゃいました🙌
もうすでに実装済みなので、いま見てくれている画面でも使えます。

「なんか質問したいな~」とか「ちょっと話しかけてみよっかな?」って思ったときに、
気軽にポチッと使ってもらえたらめっちゃ嬉しいです😊

これからも便利な機能をちょこちょこ追加していく予定なので、
ぜひチェックしてみてくださいね✨

スクリーンショット 2025-09-11 171058.png

どうやって実装したの?
How to user ?

ざっくり流れをお話ししますね😊

今回は Flask(PythonのWebフレームワーク) を使って、サーバ側の処理を担当させました。
フロントは HTML / CSS / JavaScript を組み合わせて、チャットっぽいUIを作っています。

コードは GitHub で管理していて、実際の公開環境は 自宅サーバ(raspberry pi) にデプロイしました。
「ローカルで作って → GitHubにあげて → Jenkinsで自動デプロイ → サーバに反映」という流れです。

また、コードの品質を保つために testpy を使ってテストも行っています。
「動作確認して → 問題なければデプロイ」という手順を自動化しているので安心です✨

技術的な細かい部分はちょっとずつ記事にまとめていくので、
気になる方はぜひチェックしてみてください!

実際にどんな感じで書いてるのか、ほんの一部紹介します!
(全部だと長くなるので、ざっくり入口だけ)

サーバー処理(app.py


from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route("/chat", methods=["POST"])
def chat():
    user_message = request.json.get("message")
    # ここでAIや処理を呼び出してレスポンスを作成
    response = f"あなたが言ったのは: {user_message}"
    return jsonify({"reply": response})
  

これは app.py に書くサーバ側の入口部分です。やってることは超シンプル: フロントから来た JSON の message を受け取って、そのまま返してるだけ。
実際はここに AI 呼び出しや DB 保存、Slack 連携などを差し込むイメージです。

フロント処理(message.js


// static/js/message.js
document.getElementById("sendBtn").addEventListener("click", () => {
    const message = document.getElementById("input").value;

    fetch("/chat", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ message })
    })
    .then(res => res.json())
    .then(data => {
        document.getElementById("chatBox").innerHTML += 
          "
" + data.reply + "
"; }); });

こちらは message.js に入れるクライアント側の小さなスクリプト。 ボタンを押したら入力をサーバに投げて、返ってきた reply を画面にポンと追加します。
要は「app.py が受け取って → message.js が表示する」の基本ループを担ってます。

テンプレートと配置

フォルダ構成はシンプルにしておくと迷いにくいよ:


project/
├─ app.py                # サーバ(Flask)
├─ templates/
│  └─ message.html       # ブラウザに表示するHTML(Flaskのテンプレート)
└─ static/
   └─ js/
      └─ message.js      # フロント側のJS
  

templates/message.html の中で JS を読み込むときは、テンプレート側に普通に <script src="{{ url_for('static', filename='js/message.js') }}"></script> を置きます(表示用に記事に貼るときはエスケープしてね)。

動かし方


# 任意で仮想環境を作る
python -m venv venv
# mac/linux
source venv/bin/activate
# windows
venv\Scripts\activate

# 必要パッケージを入れる
pip install Flask

# サーバ起動
python app.py

# ブラウザで開く
http://127.0.0.1:5000/
  

まずはこれで動かしてみて、挙動を確認しましょう。動いたら次に機能追加に進めば OK!

22275554.jpg

まとめ
review

今回は、簡単なチャット機能をブログに実装する方法を紹介しました😊
ざっくりおさらいすると:

  • フロント(message.js)がユーザーの入力を拾ってサーバに送信
  • サーバ(app.py)が受け取って処理 → JSON で返却
  • フロントが受け取った内容を画面に表示

この「送って → 返って → 表示」の流れさえ押さえれば、
あとは「デザインを整える」「履歴保存」「管理者への通知」などを段階的に追加していけます✨

最初はシンプルに動くところまで作って、少しずつ機能を肉付けしていくのがオススメです。
小さな成功体験を積むと、どんどん自信がついて楽しくなりますよ〜😆

さあ、あなたもまずは app.py + message.js + message.html で動く基本形を作ってみましょう!
動いたら、次は履歴管理や管理者通知、リアルタイム返信機能などを順番に追加して、あなただけのチャット体験を作ってみてください💡

writer

ryohma
りょうま

写真 2025-03-18 23.09.11.jpg

EC業界システムエンジニア。
アパレルECを9年経験後、
現在は木の玩具、家具ECへ。
世界販売に向けて挑戦中。
感じたことをつぶやきます。
趣味は、珈琲、キャンプ。