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

rammyblog/servflow

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

banner

πŸš€ 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


demo

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
  • πŸ“ˆ 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 Started β€’ View Examples β€’ Read 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

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.2%
  • Python 2.9%
  • Shell 2.5%
  • Other 0.4%