Skip to content

ユドナリウムで使用するWeb APIバックエンド

License

Notifications You must be signed in to change notification settings

TK11235/udonarium-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ユドナリウムバックエンド

ユドナリウムバックエンド(Udonarium-Backend)は、ユドナリウム(Udonarium)のバックエンド処理を行うアプリケーションです。

GitHub license

目次

機能

  • バックエンド機能、Web API

    • フロントエンドでは実装できない処理をバックエンドのWeb APIとして処理
    • SkyWayにアクセスするための認証トークン(SkyWay Auth Token)の発行
  • 可能な限りデプロイする環境を選択可能にする

サーバ設置

ユーザ自身で実行環境を用意し、その環境にユドナリウムバックエンドを設置して動作させることができます。
以下ではCloudflare Workersに設置する例を説明します。

1. WebブラウザからCloudflare Workersにjsファイルをデプロイ

ユドナリウムバックエンドのリリース版(udonarium-backend.zipをダウンロードして展開し、cloudflare-workers/index.jsを取得します。

Cloudflareにアカウントを作成します。
WebブラウザからCloudflareダッシュボードにログインし、ダッシュボードから新しいWorkerを作成します。
WebブラウザからWorkerのコードを編集して前述のindex.jsのコードを反映・デプロイします。

2. 環境変数の設定

Workerの設定ページからユドナリウムバックエンドで使用する環境変数を設定します。
SkyWayのアカウントでアプリケーション作成し、必要な情報を取得してください。

  • SKYWAY_APP_ID
    SkyWayから発行されたアプリケーションID。

  • SKYWAY_SECRET
    SkyWayから発行されたシークレットキー。

  • ACCESS_CONTROL_ALLOW_ORIGIN
    このWeb APIを利用するユドナリウムのOrigin(URL)。設定したOrigin以外からのAPIリクエストは拒否されます。

# Example
SKYWAY_APP_ID = "aaaaaaaa-bbbb-4ccc-1234-xxxxxxxxxxxx"
SKYWAY_SECRET = "ab12....<中略>...="
ACCESS_CONTROL_ALLOW_ORIGIN = "https://your-udonarium-domain/"

3. ユドナリウムにWorkerのURLを設定

ユドナリウムconfig.yamlを編集し、backend.urlの項目にWorkerのURLを記述します。

backend:
  mode: skyway2023
  url: https://your-worker-name.xxxxxxxx.workers.dev/ # Example Cloudflare Workers URL
...

ユドナリウムにWebブラウザからアクセスしてエラーが発生しなければ完了です。

開発者クイックスタート

開発環境を用意するとソースコードの修正や機能追加を行うことができます。

開発環境

Node.jsnpmが必要です。

開発言語はTypeScriptを使用し、Honoのフレームワークで実装されています。
リポジトリはnpm workspacesによるMonorepoになっており、ディレクトリ構成は以下の通りです。

  • packages/backend/*: 各バックエンド環境ごとのコードがパッケージに実装されています。
  • packages/shared/*: 共通で使用するコードがパッケージに実装されています。

バックエンド固有のCLIツールなど

バックエンド環境ごとに開発を効率化するCLIツールが存在する場合があります。
例えば、

バックエンド環境のツールの設定やインストール方法については、それぞれの公式ドキュメントを参照してください。

SkyWay

SkyWayの認証トークン(SkyWay Auth Token)を発行するためにはSkyWayのアプリケーション情報が必要です。

Cloudflare Workers用コードの実行

Cloudflare Workers用のコードはpackages/backend/cloudflare-workers/配下の@udonarium-backend/cloudflare-workersパッケージとして構成されています。

このパッケージ自体に実装コードはほとんどありません。
ユドナリウムバックエンドとしての主な機能はpackages/shared/core/@udonarium-backend/coreの依存関係から使用します。

リポジトリをダウンロードした後、初回はリポジトリのディレクトリで以下のコマンドを実行してください。

npm i

開発用ローカルサーバ

開発作業を行う際には、wrangler.tomlを編集してユドナリウムバックエンドの環境変数を設定してください。
.dev.vars作成して利用する方法もあります。
※注意:wrangler.tomlや.dev.varsに記述した環境変数はGitにコミットしないでください。セキュリティリスクになります。

リポジトリのルートディレクトリで以下のコマンドを実行するとhttps://localhost:8787/で開発用ローカルサーバを起動できます。

npm run cloudflare-workers:dev

本番環境へのデプロイ

以下のコマンドで本番環境へのデプロイを開始します。
表示される内容に従ってCloudflare Workersのデプロイ設定を行ってください。

npm run cloudflare-workers:deploy

開発に寄与する

バグを報告したり、ドキュメントを改善したり、開発の手助けをしたりしたいですか?

報告や要望の窓口としてGitHubのIssue、またはX(Twitter)を利用できます。
コードのPull Requestも歓迎です。

ただ、難易度や優先度の都合によりそっとしたままになる可能性があります。

報告

バグ報告では、バグを再現できる必要十分な条件について、分かっている範囲で詳しく書いてください。
基本的には「報告を受けて改修 → 次回更新時に反映」の流れで対応する予定です。

要望

機能要望では「何故それが必要なのか」について説明があると良いです。

Pull Request

作成したコードやドキュメントをこのリポジトリに反映させたい時はPull Request(PR)を送ってください。

PRのコードが完全ではない場合でも作業中PRとして送ることができます。
その場合、作業中である旨をPRタイトルか説明文に付け加えてください。

License

MIT License

About

ユドナリウムで使用するWeb APIバックエンド

Resources

License

Stars

Watchers

Forks

Packages

No packages published