A lightweight, feature-rich workflow automation engine built with Node.js, Express, Next.js, and PostgreSQL. It allows users to define, manage, and execute multi-step workflows triggered via HTTP requests.
The project includes a convenient development script to automate the setup and execution process.
- Node.js: v18 or later
- Docker & Docker Compose: For running the PostgreSQL database
To install dependencies and set up environment files, run:
chmod +x dev.sh
./dev.sh --initThis will:
- Create
.envfiles from.env.examplein bothfrontendandbackenddirectories. - Install npm dependencies for both applications.
To start the database, run migrations, and launch both frontend and backend servers:
./dev.shNote: Ensure Docker is running before executing this command. The script will automatically:
- Start the PostgreSQL container via
docker-compose. - Generate Prisma client and apply database migrations.
- Start the backend server on http://localhost:4000.
- Start the frontend server on http://localhost:3000.
- /backend: Express.js API with Prisma ORM.
- /frontend: Next.js application with React Query and Monaco Editor.
- /docker-compose.yml: Defines the PostgreSQL database service.
- dev.sh: Main entry point for development tasks.
The database is managed via Docker Compose. If you need to manage the database separately:
# Start only the database
docker-compose up -d
# Stop the database and remove volumes
docker-compose down -vBelow are some previews of the Mini Workflow Engine in action:
Once the backend is running, you can access the Interactive Swagger UI at: http://localhost:4000/api-docs
cd backend
npm testcd frontend
npm testFor more detailed information about the project's design, constraints, and requirements, please refer to the following documents:




