Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 4.98 KB

README-JP.md

File metadata and controls

80 lines (59 loc) · 4.98 KB

InterSystems IRIS Full Stack demo and template

このリポジトリは「coffee-maker shop」デモ用の InterSystems IRIS REST API とフロントエンドアプリケーションで構成されたサンプルアプリケーションです。

このデモを通して、フロントエンドアプリケーションから InterSystems IRIS への接続方法がご確認いただけます。 リポジトリには、ユニットテストコードも含まれていて、インタラクティブに実行できるほか、ZPM を使ったり、GitHub CI(GitHub Actions) を介して実行することもできます。

Docker コンテナを使った開発方法のデモも含まれています また、ZPM モジュールでアプリケーションをパッケージ化する方法、ZPM を使ってデプロイする方法も含まれています。

インストール方法

Docker を利用する場合

リポジトリを clone 後、docker-compose.yml があるディレクトリで以下実行します。

docker-compose up -d

アプリケーションを以下のURLで実行します。

URL: http://localhost:52775/csp/coffee/index.html#/

ZPM を利用する場合

IRIS ターミナルを開き、以下 ZPM コマンドを実行します。

USER>zpm
zpm:USER>install "demo-coffeemaker"

アプリケーションを以下URLで実行します。

URL: http://yourserver:52775/csp/coffee/index.html#/

開発方法

前提条件

gitDocker desktop がインストールされた環境をご準備ください。

このリポジトリには、ObjectScript のプラグインを使って VSCode のコーディングできるようになっています。 VSCodeDockerObjectScript プラグインをインストールし、VSCode 内のフォルダを開きます。

このリポジトリは開発テンプレートです。GitHub の「Use this template」ボタンを利用して iris-fullstack-template コピーしたリポジトリを新規で作成します。

template

あなたのリポジトリをクローンし、VSCodeでクローンしたフォルダを開きます。 以下の gif にで紹介しているようにコンテナをビルドします。

template-build

または、ターミナルを開き、以下実行します。

docker-compose up -d

VSCode の ObjectScript メニューでアプリケーションが実行しているかどうか確認します。

template-app1

ここまで動作できたら、開発を開始できます。

ユニットテストの利用

このリポジトリは、Unit Tests を含んでいます。 このリポジトリには、Github Actions CI workflow が含まれていて、GitHub リポジトリへ Push する毎にユニットテストを行い、テストを失敗すると失敗する仕組みになっています。

ですが、ローカルでテストスクリプトを実行することもできます。

COFFEE>set ^UnitTestRoot="/irisdev/app/tests"
COFFEE>do ##class(%UnitTest.Manager).RunTest()

または、ZPM 使用することもできます。

COFFEE>zpm
zpm:COFFEE>load /irisdev/app
zpm:COFFEE>test demo-coffeemaker

ZPM Package Manager

このモジュールは、ZPM でパッケージ化されていて、module.xmlで記述され、パブリックリポジトリで利用可能で、インストールは以下のコマンドを使用します。 zpm "install demo-coffeemaker"

例として、自由に使用して、module.xml を変更して独自の InterSystems IRIS フルスタック・ソリューションをパッケージ化してください。

Credits

デモは、Michael Smart によってオリジナルの Coffee Maker application が開発されています。また、Caret Devにより、拡張バージョンが用意されています。