Getting Started
Get the Transform Platform running locally in about 5 minutes.
Setup Flowβ
Prerequisitesβ
- JDK 21+ β Download Temurin
- Docker & Docker Compose β Install Docker
- Gradle 8+ β bundled via
./gradlew(no separate install needed)
1. Clone the Repositoryβ
git clone https://github.com/avinashreddyoceans/transform-platform.git
cd transform-platform
2. Configure Environmentβ
cp .docker/env.example .env
tip
For local dev the defaults in env.example work out of the box. Only change values for production deployments.
3. Start Infrastructureβ
docker compose -f .docker/docker-compose.yml up -d
4. Run the APIβ
./gradlew :platform-api:bootRun
The Spring Boot application starts on port 8080.
5. Verifyβ
Open the Swagger UI to confirm the API is running:
http://localhost:8080/swagger-ui
6. Run Testsβ
./gradlew test
All 53 Kotest tests in platform-core should pass.
Quick Transform Walkthroughβ
Step 1 β Register a Specβ
POST /api/v1/specs
Content-Type: application/json
{
"name": "Bank Transactions CSV",
"format": "CSV",
"hasHeader": true,
"delimiter": ",",
"fields": [
{ "name": "accountNumber", "type": "STRING", "columnName": "account_number", "sensitive": true },
{ "name": "amount", "type": "DECIMAL", "columnName": "amount" },
{ "name": "transactionDate","type": "DATE", "columnName": "date", "format": "yyyy-MM-dd" },
{ "name": "description", "type": "STRING", "columnName": "description", "required": false }
],
"correctionRules": [
{ "ruleId": "trim-desc", "field": "description", "correctionType": "TRIM" }
],
"validationRules": [
{ "ruleId": "amount-positive", "field": "amount", "ruleType": "MIN_VALUE", "value": "0",
"message": "Amount must be positive", "severity": "ERROR" }
]
}
The response contains a specId β hold onto it.
Step 2 β Transform a Fileβ
curl -X POST http://localhost:8080/api/v1/transform/file-to-events \
-F "file=@transactions.csv" \
-F "specId=<your-spec-id>" \
-F "kafkaTopic=bank-transactions"
IntelliJ IDEA Setupβ
Shared run configurations are committed to .run/ and .idea/runConfigurations/. Open the project in IntelliJ and Run Transform App (Local) and Docker Compose Dependencies appear automatically.