Project Au Lait
システム開発のほろ苦さをまろやかに
Project Au Laitはシステム開発に役立つツールを開発しています。システム開発に携わるエンジニアの作業を自動化・効率化することで、システムの品質向上に寄与することを目指しています。ツールはOSSとして開発していて、Apache License 2.0で公開しています。
SVQK
- SVQKは、SvelteKit + Quarkus + PlaywrightでWebアプリケーションを開発するためのアセットです。
- Frontend、BackendがTest (Unit、Integration、End to End)をPassする状態から開発を開始することができます。
- セットアップからEnd to End Testまで全てコマンドで完結し、CI/CD環境でも実行可能です。
Quick Start
SVQKを使用してアプリケーションを開発するには、以下のソフトウェアが必要です。
- Docker Desktop
- JDK v21
- Maven
- Node.js v22
- pnpm
- Git
- Visual Studio Code
SVQKを使用して開発を始めるには、SVQKが提供するMaven Archetypeを使用してプロジェクトを作成します。Archetypeからプロジェクトを作成するには、以下のコマンドを実行します。
-
コンソールの文字コードをUTF-8にセットします。
chcp 65001
SVQKプロジェクトを作成します。
mvn archetype:generate ^ -DarchetypeGroupId=dev.aulait.svqk ^ -DarchetypeArtifactId=svqk-archetype-refimpl ^ -DarchetypeVersion=CHECK_THE_LATEST_ON_GITHUB ^ -DgroupId=my.group.id ^ -DartifactId=my-artifactid ^ -Dversion=1.0-SNAPSHOT
作成したプロジェクトのディレクトリに移動し、セットアップコマンドを実行します。
cd my-artifactid
mvnw install -T 1C -P setup
作成したプロジェクトをVSCodeワークスペースとして開きます。
code my-artifactid.code-workspace
VSCode TaskでBackendアプリケーションとFrontendアプリケーションを起動します。
Ctrl + Shift + P > Tasks: Run task > start-back
Ctrl + Shift + P > Tasks: Run task > start-front
Frontendアプリケーションが起動すると、ブラウザで以下のURLが表示されます。
Batch Translator
Batch Translator はテキストファイルを翻訳する CLI ツールです。想定する主な利用者は、README やドキュメントを翻訳する必要のある OSS 開発プロジェクトメンバーです。想定する主な用途は以下のようなものです。
・1 つのファイルの翻訳 (README.md など)
・ディレクトリ以下の特定の拡張子を持ったファイルの一括翻訳 (AsciiDoctorを使ったドキュメントなど)
Batch Translator は Java コマンド、または Maven Plugin として実行します。
JPA Entity Generator
JPA Entity Generator は、DB のテーブル定義を読み取り、それをもとに JPA の Entity クラスの java ファイルを生成するツールです。
JPA Entity Generator は Java コマンド、または Maven Plugin として実行します。
Dev Servers
Dev Servers は、CI / CD 用のサーバー ツールをセットアップするための Docker Compose アセットです。 Docker を使用して次のツールをセットアップし、すぐに使用できるようにします。
Dev ServersはDocker Composeとして実行します。
CSV Loader
CSV LoaderはCSVファイルをDBにロードするツールです。CSV Loaderのv0.8時点での用途はFlywayのJava-based Migrationに特化しています。次バージョン移行でjar単独実行、Maven Plugin等のサポートを予定しています。
CSV LoaderはFlyway経由でJavaライブラリとして使用します。