Skip to content

ServFlow Engine is a free, standalone declarative API engine that transforms YAML configurations into production-ready APIs. No backend code required.

License

Notifications You must be signed in to change notification settings

Servflow/servflow

Repository files navigation

🚀 ServFlow Engine

Free, standalone API engine - build backends with YAML instead of code

GitHub Release License Docker Pulls Issues

📚 Complete Documentation & Tutorials • 📁 Download Examples • 💬 Community


What is ServFlow Engine?

ServFlow Engine is a free, standalone declarative API engine that transforms YAML configurations into production-ready APIs. No backend code required.

ServFlow Engine is part of the ServFlow platform. Use it standalone (free forever) or with the ServFlow Dashboard for visual development.

✨ Why ServFlow Engine?

  • ⚡ Zero Backend Code: Build complete APIs using only YAML configurations
  • 🔗 Universal Integrations: Connect to any database, AI service, or external API
  • 🧠 AI-Powered: Built-in support for OpenAI, Claude, and other AI services
  • 🛡️ Production Ready: Enterprise-grade security, validation, and error handling
  • 📈 Infinitely Scalable: Designed for high-performance and horizontal scaling
  • ⚙️ Configuration-Driven: Version control your entire API logic

Example: This YAML becomes a working API endpoint:

# Complete example in examples/hello-world/
http:
  listenPath: /users
  method: GET
  next: $action.fetch_users

actions:
  fetch_users:
    type: mongoquery
    config:
      collection: users
      integrationID: mongo
    next: $response.success

responses:
  success:
    code: 200
    responseObject:
      fields:
        users:
          value: "{{ .variable_actions_fetch_users }}"

🚀 Quick Start

Get ServFlow Engine running in under 2 minutes:

1. Install ServFlow Engine

macOS & Linux (Recommended):

curl -fsSL https://raw.githubusercontent.com/servflow/servflow/main/install.sh | bash

Manual Download: Download the latest binary from GitHub Releases

Docker:

docker pull servflow/servflow:latest

2. Download Examples & Start

# Clone this repository for examples
git clone https://github.com/servflow/servflow.git
cd servflow/examples/hello-world

# Start with the hello-world example
servflow start --integrations integrations.yaml configs/

3. Test Your API

curl http://localhost:8080/hello
# Response: {"message": "Hello from ServFlow Engine!", "timestamp": "2024-01-15T10:30:00Z"}

🎉 That's it! You now have a running API built with just YAML configuration.


📁 Examples

Ready-to-run examples you can download and use immediately:

🎯 Example 📋 What it does ⏱️ Setup Time 🔗 Tutorial
hello-world Simple API response 30 seconds Your First API
db-agent AI-powered database queries 2 minutes Database Agent
user-registration User signup with validation 3 minutes User Registration

🏃‍♂️ Using Examples

# 1. Clone this repository
git clone https://github.com/servflow/servflow.git
cd servflow/examples

# 2. Choose an example (e.g., db-agent)
cd db-agent

# 3. Follow the quick setup in each README
# 4. Visit the docs for complete explanations

Each example includes:

  • ✅ Complete YAML configurations that work out-of-the-box
  • ✅ Quick setup instructions (under 3 minutes)
  • ✅ Sample test requests
  • ✅ Links to detailed tutorials in our documentation

Complete tutorials and explanations at docs.servflow.io


🔧 How It Works

ServFlow Engine uses two types of configuration files:

1. Integrations (integrations.yaml)

Define connections to databases, AI services, and external APIs:

integrations:
  mongo:
    type: mongo
    config:
      connectionString: '{{ secret "MONGODB_STRING" }}'
      dbName: myapp
  openai:
    type: openai
    config:
      api_key: '{{ secret "OPENAI_API_KEY" }}'

2. API Endpoints (configs/*.yaml)

Define your API endpoints and business logic:

id: users_api
name: Users API
http:
  listenPath: /users
  method: GET
  next: $action.fetch_users
# ... rest of configuration

🔥 The Result: A fully functional API endpoint with zero backend code!

Learn the complete configuration syntax in our docs


📚 Documentation & Learning

🎯 New to ServFlow?

🧠 Learn by Building

🚀 Reference & Advanced


🛠️ Installation Options

Binary Installation

Quick Install Script

curl -fsSL https://raw.githubusercontent.com/servflow/servflow/main/install.sh | bash

Manual Download

Download from GitHub Releases:

  • Linux (x64): servflow-vX.X.X-linux-amd64.tar.gz
  • macOS (Intel): servflow-vX.X.X-darwin-amd64.tar.gz
  • macOS (Apple Silicon): servflow-vX.X.X-darwin-arm64.tar.gz
  • Windows (x64): servflow-vX.X.X-windows-amd64.zip

Docker Installation

# Pull the latest image
docker pull servflow/servflow:latest

# Run with configuration
docker run -d \
  --name servflow \
  -p 8080:8080 \
  -v $(pwd)/integrations.yaml:/app/integrations.yaml \
  -v $(pwd)/configs:/app/configs \
  servflow/servflow:latest start --integrations /app/integrations.yaml /app/configs

🔧 Quick Configuration

Environment Setup

# Create project structure
mkdir my-servflow-api && cd my-servflow-api
mkdir -p configs
touch integrations.yaml

# Set environment variables for secrets
export MONGODB_STRING="mongodb://localhost:27017/mydb"
export OPENAI_API_KEY="sk-your-api-key-here"

# Start ServFlow
servflow start --integrations integrations.yaml configs/

Health Check

curl http://localhost:8080/health
# Response: ok

🌟 What You Can Build

🤖 AI-Powered APIs

  • Natural language database queries
  • Smart content generation
  • Automated data processing

📊 Data APIs

  • RESTful database operations
  • Complex query pipelines
  • Real-time data streaming

🔐 Authentication Systems

  • User registration & login
  • JWT token management
  • Role-based permissions

🔗 Integration Hubs

  • Multi-service orchestration
  • Webhook processing
  • Third-party API proxying

See all possibilities in our documentation


🤝 Community & Support

Get Help

Contributing

We welcome contributions! Check out our examples and documentation for ways to help.

Quick Links


🔍 Common Issues

"servflow: command not found"

# Make sure binary is executable and in PATH
chmod +x servflow
sudo mv servflow /usr/local/bin/

"Config folder for APIs must be specified"

# Provide the correct path to your configs
servflow start --integrations integrations.yaml configs/

Need more help?

Check our complete troubleshooting guide or open an issue.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🔗 Links


Made with ❤️ by the ServFlow team

Star this repo if ServFlow helps you build better APIs!

Get StartedView ExamplesRead Docs

About

ServFlow Engine is a free, standalone declarative API engine that transforms YAML configurations into production-ready APIs. No backend code required.

Resources

License

Stars

Watchers

Forks

Packages

No packages published