Skip to content

Commit 1c84fc0

Browse files
fix: README
1 parent daa6c6f commit 1c84fc0

File tree

2 files changed

+99
-108
lines changed

2 files changed

+99
-108
lines changed

README.ja.md

Lines changed: 49 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -7,54 +7,51 @@
77
![Java 21](https://img.shields.io/badge/Java-21%2B-blue)
88
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-CC2233.svg)](https://opensource.org/licenses/Apache-2.0)
99

10-
## 🇬🇧 English
10+
## 🌐 言語サポート
1111

12-
The English version of the README can be found [here](README.md).
12+
🇬🇧 英語版のREADMEは[こちら](README.md)
1313

1414
## 🔍 概要
1515

16-
このリポジトリは、**Spring Boot 3****Spring Batch 5** のために特化した**Spring Batchスターターキット**です。
17-
最新機能を活用し、Spring Boot 3との完全な互換性を持つことで、バッチジョブ開発を効率化します。
18-
**Spring Boot 2** からの移行や新規プロジェクトで、**Spring Batchの強化された機能**を簡単に活用できます。
19-
20-
### 📝 主な特徴
21-
- **スケルトンバッチフレームワーク**: 最小限の設定でカスタムバッチジョブを簡単に開発できます。
22-
- **DB to CSV バッチ**: MySQLデータをCSVファイルにエクスポート。動的なWHERE句や柔軟な出力設定に対応しています。
23-
- **CSV to DB バッチ**: CSVデータをMySQLに効率的にインポートします。バルク処理とエラーハンドリング機能を備えています。
24-
25-
### ♻️ 再利用性
26-
データベース接続設定やCSVのカラム定義を業務要件に合わせて変更するだけで、すぐにプロジェクトに適用できます。
16+
このリポジトリは**Spring Boot 3****Spring Batch 5**に特化した、エンタープライズ向けバッチ処理アプリケーションの基盤となるスターターキットです。業界のベストプラクティスを取り入れ、最新のSpringフレームワーク機能を活用してバッチ開発プロセスを加速します。
17+
18+
### ⭐ 主要機能
19+
20+
#### 🏗️ 基本コンポーネント
21+
- **本番対応バッチフレームワーク**: 高速開発のための事前設定済み基本構造
22+
- **データベース操作**:
23+
- 動的クエリ対応のDB-to-CSVエクスポート
24+
- バルク処理によるハイパフォーマンスなCSV-to-DBインポート
25+
- **エンタープライズグレードのアーキテクチャ**: スケーラビリティとメンテナンス性を考慮した設計
26+
27+
### 🛠️ 技術的な特徴
28+
- **Springフレームワークの活用**
29+
- 堅牢なSpring Batchのジョブとステップ管理
30+
- JOOQ ORMによる型安全なSQLクエリ
31+
- OpenCSVによるシームレスなCSV処理
32+
- **デュアルデータベース設定**
33+
- バッチメタデータ用のH2インメモリデータベース
34+
- ビジネスデータ処理用のMySQL
35+
36+
### 💻 開発環境の特徴
37+
- **動的設定**
38+
- 環境別プロファイル(ローカル/サーバー)
39+
- 実行時引数による実行するジョブの選択
40+
- 実行時引数による柔軟なクエリカスタマイズ
41+
- **コード品質ツール**
42+
- Google Java Format(Spotless)による自動フォーマット
43+
- Spotbugsによる静的解析
44+
- Jacocoによるテストカバレッジレポート
45+
- パイプライン
46+
47+
### 🚢 DevOps対応
48+
- コンテナ化: 使用準備完了のMySQL設定を含むDocker対応
49+
- CI/CD統合: GitHub Actionsワークフロー搭載
50+
- シンプルなビルドプロセス: 本番対応JARを生成するシングルコマンドビルド
2751

2852
---
2953

30-
31-
32-
## 💡 特徴
33-
34-
### バッチ開発を簡単に
35-
- **Spring Batch フレームワーク**: ジョブとステップの管理を効率化。
36-
- **jooq ORM**: SQLライクなクエリ記述とエンティティ生成機能。
37-
- **OpenCSV**: CSVファイルの簡単な取り扱い。
38-
- **マルチデータベースサポート**:
39-
- H2 : バッチメタデータ管理にH2
40-
- MySQL : 業務データ処理にMySQL
41-
42-
### 柔軟性と最適化
43-
- **動的な設定**: 環境ごとの設定(ローカル/サーバー)をプロファイルで管理。
44-
- **複数ジョブの動的実行**: 実行時の引数で複数のジョブを動的に実行。
45-
- **カスタマイズ可能なバッチ**: 実行時の引数により、バッチ内のクエリのWHERE句を動的に変更。
46-
- **Google Java Format**: Spotlessを使用した自動コード整形。
47-
- **品質チェックとカバレッジ**: Spotbugsによる静的解析、Jacocoによるテストカバレッジの生成、CIツールでのチェック。
48-
49-
### 将来に向けた設計
50-
- **スケルトンバッチフレームワーク**: バッチジョブを迅速に開発できる事前設定されたテンプレート。
51-
- **Docker環境設定**: ローカルのMySQLデータベースを簡単にセットアップできる`compose.yaml`ファイルを提供。
52-
- **CI/CD**: Github Actions で 継続的インテグレーションと継続的デリバリーを実現。
53-
- **デフォルトタスク**: Gradleのデフォルトタスクでビルド、テスト、品質チェックを一度に実行し、実行可能なSpring Boot JARファイルが生成されるため、開発プロセスを簡素化。Gradleの設定を変更する必要はありません。
54-
55-
---
56-
57-
## 🗂️ プロジェクト構成
54+
## 📁 プロジェクト構造
5855
```text
5956
.
6057
├── gradlew
@@ -77,25 +74,25 @@ The English version of the README can be found [here](README.md).
7774
└── test
7875
```
7976

80-
## 🛠️ はじめに
77+
## 🚀 クイックスタートガイド
8178

82-
### 1. リポジトリをクローンする
79+
### 1. リポジトリのクローン
8380
```bash
8481
git clone https://github.com/kinto-technologies/SpringBoot3BatchStarter.git
8582
```
8683

87-
### 2. スケルトンバッチをビルドする
84+
### 2. スケルトンバッチのビルド
8885
```bash
8986
cd skeletonBatch
9087
../gradlew
9188
```
9289

93-
### 3. スケルトンバッチを実行する
90+
### 3. スケルトンバッチの実行
9491
```bash
9592
java -jar build/libs/skeletonBatch-*.jar
9693
```
9794

98-
### 4. MySQLデータベースを設定する(Docker)
95+
### 4. データベースの初期化
9996
```bash
10097
docker compose up -d
10198
```
@@ -116,14 +113,13 @@ java -jar build/libs/dbAndCsvBatch-*.jar --spring.batch.job.name=DB_TO_CSV --spr
116113
java -jar build/libs/dbAndCsvBatch-*.jar --spring.batch.job.name=CSV_TO_DB --spring.profiles.active=local
117114
```
118115

119-
> **注意**: ステップ4を実行する前にDockerがインストールされていて、実行中であることを確認してください。
120-
116+
> **注意**: データベースセットアップにはDockerのインストールが必要です。
121117
122-
#### 🎉 このSpring Batchスターターキットを使用すれば、すでに土台が構築されているので、ビジネスロジックに集中できます。
123-
**楽しいコーディングを!** 🚀
118+
## ♻️ カスタマイズ性
119+
このスターターキットは簡単なカスタマイズを想定して設計されています。データベース設定とCSVマッピングを特定の要件に合わせて変更するだけで、すぐにビジネスデータの処理を開始できます。
124120

125-
## 📄 ライセンス
121+
## 📜 ライセンス
126122

127-
このプロジェクトは、**[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)** の下でライセンスされています。
123+
[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)でライセンスされています
128124

129-
Copyright © 2024 KINTO Technologies Corporation
125+
Copyright © 2024 KINTO Technologies Corporation

README.md

Lines changed: 50 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -8,55 +8,50 @@
88
![Java 21](https://img.shields.io/badge/Java-21%2B-blue)
99
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-CC2233.svg)](https://opensource.org/licenses/Apache-2.0)
1010

11-
## 🇯🇵 Japanese
12-
13-
The Japanese version of the README can be found [here](README.ja.md).
11+
## 🌐 Language Support
12+
🇯🇵 日本語版 README は [こちら](README.ja.md).
1413

1514
## 🔍 Overview
1615

17-
This repository serves as a **Spring Batch Starter Kit**, specifically tailored for **Spring Boot 3** and **Spring Batch 5**. It streamlines batch job development by leveraging the **latest features** and ensuring full compatibility with Spring Boot 3.
18-
Whether you’re upgrading from **Spring Boot 2** or starting a new project, this starter kit enables you to **harness the enhanced capabilities** of Spring Batch with ease.
19-
20-
### 📝 Key Highlights
21-
- **Skeleton Batch Framework**: Quickly develop custom batch jobs with minimal setup.
22-
- **DB to CSV Batch**: Export data from MySQL to CSV files seamlessly, with runtime arguments for dynamic WHERE clauses and flexible output configurations.
23-
- **CSV to DB Batch**: Import CSV data into MySQL efficiently with bulk operations and error handling.
24-
25-
### ♻️ Reusability
26-
27-
This kit is highly adaptable. By simply updating the database connection settings and modifying the CSV column definitions to match your specific business needs, you can immediately start using it for your projects.
28-
29-
---
30-
31-
32-
33-
## 💡 Key Features
34-
35-
### Batch Development Made Simple
36-
- **Spring Batch Framework**: Streamlined job and step management.
37-
- **JOOQ ORM**: SQL-like query writing and entity generation.
38-
- **OpenCSV Integration**: Hassle-free CSV file handling.
39-
- **Multi-Database Support**:
40-
- H2 In-Memory Database: Used for batch metadata management.
41-
- MySQL Database: Used for business data processing.
42-
43-
### Flexibility and Optimization
44-
- **Dynamic Configurations**: Environment-specific setups with profiles (local/server).
45-
- **Dynamic Execution of Multiple Jobs**: Execute multiple jobs dynamically with runtime arguments.
46-
- **Customizable Batches**: Modify WHERE clauses of queries inside batches dynamically based on runtime arguments.
47-
- **Google Java Format**: Automated code formatting with Spotless.
48-
- **Quality Checks and Coverage**: Static analysis with Spotbugs, test coverage generation with Jacoco, and CI tools for checks.
49-
50-
### Future-Proof Design
51-
- **Skeleton Batch Framework**: A pre-configured template for quickly developing batch jobs.
52-
- **Docker Environment Setup**: Provides a `compose.yaml` file to easily set up a local MySQL database.
53-
- **CI/CD**: Achieve Continuous Integration and Continuous Delivery with Github Actions.
54-
- **Default Tasks**: The default Gradle tasks execute build, tests, and quality checks all at once, simplifying the development process. The final result is a runnable Spring Boot JAR file, with no need to modify the Gradle configuration.
16+
This comprehensive starter kit is designed specifically for **Spring Boot 3** and **Spring Batch 5**, offering a production-ready foundation for enterprise batch processing applications. It incorporates industry best practices and leverages the latest Spring framework features to accelerate your batch development process.
17+
18+
## ⭐ Core Features
19+
### 🏗️ Foundation Components
20+
21+
- **Production-Ready Batch Framework**: Pre-configured skeleton structure for rapid development.
22+
- **Database Operations**:
23+
- Efficient DB-to-CSV export with dynamic query support
24+
- High-performance CSV-to-DB import with bulk operations
25+
- **Enterprise-Grade Architecture**: Built with scalability and maintainability in mind
26+
27+
## 🛠️ Technical Capabilities
28+
- **Advanced Spring Integration**
29+
- Robust Spring Batch job and step management
30+
- Type-safe SQL queries with JOOQ ORM
31+
- Seamless CSV processing with OpenCSV
32+
- **Dual Database Configuration**
33+
- H2 In-Memory Database for batch metadata
34+
- MySQL for business data processing
35+
36+
## 💻 Development Experience
37+
- **Dynamic Configuration**
38+
- Environment-specific profiles (local/server)
39+
- Runtime-configurable job execution
40+
- Flexible query customization through arguments
41+
- **Code Quality Tools**
42+
- Automated formatting with Google Java Format (Spotless)
43+
- Static analysis via Spotbugs
44+
- Test coverage reporting with Jacoco
45+
- Integrated CI pipeline
46+
47+
## 🚢 DevOps Ready
48+
- **Containerization**: Docker support with ready-to-use MySQL configuration
49+
- **CI/CD Integration**: GitHub Actions workflows included
50+
- **Simplified Build Process**: Single-command builds generating production-ready JARs
5551

56-
5752
---
5853

59-
## 🗂️ Project Structure
54+
## 📁 Project Structure
6055
```text
6156
.
6257
├── gradlew
@@ -79,51 +74,51 @@ This kit is highly adaptable. By simply updating the database connection setting
7974
└── test
8075
```
8176

82-
## 🛠️ Getting Started
77+
## 🚀 Quick Start Guide
8378

8479
### 1. Clone the repository
8580
```bash
8681
git clone https://github.com/kinto-technologies/SpringBoot3BatchStarter.git
8782
```
8883

89-
### 2. Build the Skeleton Batch
84+
### 2. Build Skeleton Batch
9085
```bash
9186
cd skeletonBatch
9287
../gradlew
9388
```
9489

95-
### 3. Run the Skeleton Batch
90+
### 3. Execute Skeleton Batch
9691
```bash
9792
java -jar build/libs/skeletonBatch-*.jar
9893
```
9994

100-
### 4. Set up MySQL database (Docker)
95+
### 4. Initialize Database
10196
```bash
10297
docker compose up -d
10398
```
10499

105-
### 5. Build the DB and CSV Batch jobs
100+
### 5. Build Data Processing Jobs
106101
```bash
107102
cd ../dbAndCsvBatch
108103
../gradlew
109104
```
110105

111-
### 6. Run DB to CSV Batch
106+
### 6. Run Database Export
112107
```bash
113108
java -jar build/libs/dbAndCsvBatch-*.jar --spring.batch.job.name=DB_TO_CSV --spring.profiles.active=local
114109
```
115110

116-
### 7. Run CSV to DB Batch
111+
### 7. Run Database Import
117112
```bash
118113
java -jar build/libs/dbAndCsvBatch-*.jar --spring.batch.job.name=CSV_TO_DB --spring.profiles.active=local
119114
```
120115

121-
> **Note**: Ensure Docker is installed and running before executing step 4.
116+
> **Note**: Docker installation is required for database setup.
122117
123-
#### 🎉 **With this Spring Batch Starter Kit, you can focus on your business logic while the framework handles the heavy lifting.**
124-
**Happy coding!** 🚀
118+
## ♻️ Adaptability
119+
The starter kit is designed for easy customization. Simply modify the database configurations and CSV mappings to align with your specific requirements, and you're ready to start processing your business data.
125120

126-
## 📄 License
121+
## 📜 License
122+
Licensed under the **[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)**.
127123

128-
This project is licensed under the **[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)**.
129124
Copyright © 2024 KINTO Technologies Corporation

0 commit comments

Comments
 (0)