Skip to content

Repository files navigation

Yantra

Version 0.1 - Alpha Software

A reliable, visual workflow automation platform for building complex business processes without code.

Yantra lets you design and execute workflows using a visual, node-based editor. What you see in the editor is exactly what executes—no hidden compilation steps, no surprises.

⚠️ Important Notice

This is alpha software (v0.1). While Yantra has been built with robust architecture and reliability principles, it is not recommended for production environments at this time. Use with caution and thoroughly test in development/staging environments before considering any critical use cases.

Features

  • 🎨 Visual Workflow Design - Drag-and-drop WYSIWYG editor
  • 🔒 Guaranteed Reliability - Transactional outbox pattern, checkpointing, fault tolerance
  • Powerful Integrations - HTTP APIs, Email, Slack, JSON processing, loops, conditionals
  • 🔄 Flexible Triggers - Manual, scheduled (cron), webhooks, API calls
  • 📊 Comprehensive Monitoring - Real-time execution tracking, history, debugging

Yantra workflow editor screenshot

Quick Start

With Docker (Recommended)

  1. Set up PostgreSQL:
psql -U postgres -c "CREATE DATABASE yantra;"
psql -U postgres -c "CREATE USER yantra WITH PASSWORD 'yantra_dev_password';"
psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE yantra TO yantra;"
  1. Configure environment:
cp env.example backend/.env
# Edit backend/.env with your database credentials
  1. Start services:
docker-compose up --build
  1. Access Yantra:

Without Docker

  1. Configure environment:
cp env.example backend/.env
# Edit backend/.env with your database credentials
  1. Use the tmux development script:
./dev.sh

This runs both backend and frontend in a split tmux session.

Project Structure

yantra/
├── backend/          # Go backend server
│   └── .env          # Backend environment variables (copy from env.example)
├── frontend/         # Vue.js frontend application
│   └── .env          # Frontend environment variables (copy from env.example)
├── docs/             # Documentation
├── dev.sh            # Development script (tmux)
├── docker-compose.yml
└── env.example       # Environment template

Documentation

Backend-Specific:

Core Concepts

WYSIWYG Execution

The visual workflow you design is exactly what executes. No compilation or transformation steps.

Transactional Outbox Pattern

Ensures reliable side-effect execution (email, Slack) without distributed transactions.

Fault Tolerance

Every node execution is checkpointed. Workflows can resume from the last successful state after failures.

Available Node Types

Category Nodes
Control Start, End, Conditional, Delay, Sleep
Data JSON, JSON Array, Transform, JSON to CSV
Iteration Loop, Loop Accumulator
Integration HTTP, Email, Slack

See Node Types for detailed documentation.

Development

Prerequisites

  • Docker & Docker Compose (for containerized setup)
  • PostgreSQL 15+ (running on host)
  • Go 1.21+ (for backend development)
  • Node.js 20+ (for frontend development)
  • tmux (optional, for dev.sh script)

Testing

Backend:

cd backend
go test ./...

Configuration

Key environment variables:

Variable Description Required
DATABASE_URL PostgreSQL connection string Yes
JWT_SECRET JWT signing secret (min 32 chars) Yes
SMTP_* Email configuration For email nodes
VITE_API_URL Frontend API URL Build time

See Configuration Guide for details.

Production Deployment

  1. Set strong JWT_SECRET and DATABASE_URL
  2. Configure SMTP for email nodes
  3. Set up SSL/TLS certificates
  4. Use reverse proxy (nginx/caddy)
  5. Enable monitoring and backups

See Deployment Guide for complete instructions.

Contributing

We welcome contributions!

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes in backend/ or frontend/
  4. Run tests
  5. Commit: git commit -m 'Add amazing feature'
  6. Push and open a Pull Request

License

MIT LICENSE

Support


About

A reliable, visual workflow automation platform for building complex business processes without code.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages