Skip to content

mitsuoka0423/laravel-line-handson-2024

Repository files navigation

laravel-line-handson-2024

本リポジトリは下記ハンズオンイベントで利用するソースコードです

https://linedevelopercommunity.connpass.com/event/313579/

推奨エディター

  • VSCode

上記エディターのみ確認しています

実行

インストール & コンテナ起動

make

make は下記のエイリアスです

make install
make down
make copy-env-if-not-exist
make up
各コマンドについて

インストールのみ

make install

.env 生成

make copy-env-if-not-exist

コンテナ起動

make up

コンテナ終了

make down

ポートフォワード

ローカルで開発する際に、特定のポートをグローバルに公開して動作確認することができます

事前に devtunnel をインストールしてください

make tunnel

環境変数

項目名 備考
APP_URL https://*****-20080.asse.devtunnels.ms devtunnelのConnect via browserに表示されるURLを設定する
LINE_CHANNEL_SECRET ***** LINE Developers > チャネル基本設定 > チャネルシークレット
LINE_CHANNEL_ACCESS_TOKEN ***** LINE Developers > Messaging API 設定 > チャネルアクセストークン
CLAUDE_API_KEY sk-***** Anthropic Console > API Keys から発行する

Dev Container

コンテナ起動後に laravel.test-1 にアタッチする

操作イメージ

クリックして表示

Container ~~~ と表示されていれば OK

システム概要

全体像

graph RL
  subgraph ユーザー
    LINEアプリ
  end
  subgraph LINE社
    サーバー
  end
  subgraph 開発
    Laravel
  end
  subgraph 外部
    Claude
  end

  サーバー -->|Webhook| Laravel
  Laravel -->|MessagingAPI| サーバー --> LINEアプリ
  Laravel -->|API| Claude
  Claude --> Laravel
  LINEアプリ ---> サーバー
Loading

クラス依存関係

graph LR
  Controller
  UseCase
  Repository
  Model

  LINEサーバー -->|Webhook Request| Controller
  Controller -->|Event| EventHandler
  EventHandler -->|Message| UseCase
  UseCase -->|ApiRequest| Infrastructure/Api
  Infrastructure/Api --- ClaudeAPI
  UseCase --> Infrastructure/Databases
  Infrastructure/Databases --> Repository
  Repository --> Model
  Model --- DB

  Model -->|Collection| Repository
  Repository -->|Entity| Infrastructure/Databases
  Infrastructure/Databases -->|Domain| UseCase
  Infrastructure/Api -->|ApiResponse| UseCase
  UseCase -->|Message| EventHandler
  EventHandler -->|Message| Controller
  Controller -->|MessagingAPI| LINEサーバー
Loading

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages