Here's a well-structured README.md for the GateOfBabylon repository based on the source code and the application.yaml configuration:
GateOfBabylon is a lightweight Java Spring Boot service for managing and executing dynamic code "activations" (scripts) and tracking their outcomes. It exposes HTTP endpoints to run code, stores execution results in MongoDB, and provides status querying functionality.
- Execute Activations (scripts or logic units) via HTTP POST
- ️ Track Execution Results (status, output, errors)
- Query Status of activations by ID
- ️ Script Execution Logic isolated in a service
- MongoDB Persistence for execution records
- REST API exposed via Spring Web
- POST an activation (with script code and optional params).
- Service executes it and stores:
- Status (
PENDING,RUNNING,COMPLETED,FAILED) - Output
- Timestamp
- Status (
- Query the status or results via GET endpoint.
- Java 17+
- Maven
- MongoDB running locally on port
27017
docker run --rm -d -p 27017:27017 --name mongodb mongomvn clean install mvn spring-boot:runBy default, the app runs on: http://localhost:1337
Execute a new activation script.
Request Body
{ "scriptPath": "<path-to-ea-file>" }Response
{ "executionId": "<uuid>" }Retrieve the execution result by ID.
Response
{ "executionId": "<uuid>", "status": "<predefined-status>", "output": ["<lis-of-logs>"] }spring: application: name: GateOfBabylon data: mongodb: uri: mongodb://localhost:27017/gateofbabylon server: port: 1337