Skalholt

Scala code generator for Play Framework and Slick

View the Project on GitHub tishub/skalholt.g8

Skalholtの概要

SkalholtはScalaでのWebアプリケーションの開発を効率化するソースコード自動生成ツールです。データベーススキーマからPlay FrameworkとSlickに準拠したソースコードを生成に加え、スキーマからは得ることが出来ない情報を付加したソースコードの生成を実現します。

DBスキーマを準備しSkalholtを実行すれば、シンプルなCRUDアプリケーションが作成できます。SkalholtはWebアプリケーションとして動作しますので、自動生成された設計内容をブラウザから編集することが出来ます。これによりScaffoldから一歩進んだアプリケーションを構築することが出来ます。

Webアプリケーションを開発する際のフレームワークとしてスターンダードとなりつつあるPlay FrameworkとSlickを利用する際の開発を効率化すること、また、簡単に開発をスタートできることでScalaやPlayの習得に障壁を感じている方に対して、その習得を促進することを狙いとしています。

特徴

  1. Play Framework、Slickに対応したソースコードを生成
  2. DBスキーマからソースコードを生成するScaffold機能
  3. アプリケーション構造を設計リポジトリに保持し、その内容を編集することでアプリケーションが進化
  4. sbtがインストールされていれば "sbt new" で利用可能

リリースノート

構成

SkalholtはPlay FrameworkをベースとしたWebアプリケーションのテンプレートです。

プロジェクトは以下の構成になっています。

▶ Skalholt-Template
  ├ app
  │   開発するアプリケーションのソースコード(本ツールにより自動生成)
  ├ conf
  │   設定ファイル
  ├ skalholt/lib
  │   Skalholtのライブラリ群
  ├ skalholt.h2.db
  │   設計リポジトリのデータファイル(H2 Database)
  └ skalholt-ui.bat(skalholt-ui)
     Skalholt起動バッチ(シェル)

Skalholtは以下の様な流れで利用します。

1. 自動生成を実行すると業務データベースからアプリケーション生成に必要な情報を設計リポジトリに登録し、ソースコードを生成する。

(1) 設計リポジトリの作成
(2) 業務データベースからソースコードの生成
(3) 設計リポジトリからソースコードの生成

2. 設計リポジトリの内容を編集し、ソースコードを再生成する。

(4) 設計リポジトリの内容を編集
(5) ソースコードの再生成

Generate flow

構築するWebアプリケーションの構成はPlay Frameworkに準拠し、「Controller」「View」等は設計リポジトリから、「Model」等はDBスキーマから自動生成します。 設計リポジトリは以下の様な構成です。

Design Repositoy

Skalholtは以下のDBMSで動作確認を行っています。

インストール

Skalholtを利用するために特別なツールのインストールは不要です。sbtさえインストールされていれば使用できます。 sbtの利用に必要な環境と環境構築方法は公式サイトの「sbt のインストール」を参照してください。

利用手順

前準備

1. ブランクプロジェクトの作成

2. 業務データベースの準備と起動

※ 初期状態で準備されているH2 Database以外を利用する場合は、アプリケーションが使用するDBスキーマを準備し、「application.conf」に接続先情報を設定してください。

3. アプリケーションの起動

ソースコードのジェネレート

1. 自動生成を実行すると業務データベースからアプリケーション生成に必要な情報を設計リポジトリに登録し、ソースコードを生成する。

2. 設計リポジトリの内容を編集し、ソースコードを再生成する。

Edit Screen Detail

ライセンス

SkalholtはApache License version2.0のもとにリリースされています。