Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FlowState Pro by Uriesmooth

MIT License GitHub Node.js Code Style

FlowState Pro is a modular flow platform built for teams that ship fast. Build, connect, and deploy intelligent pipelines in minutes using a visual composer, with the flexibility to drop into custom code anytime. Scale easily, stay secure, and streamline your workflow seamlessly.

🌐 Live Demo: wooden-slick-flow-pro.base44.app


Table of Contents


✨ Features

Core Capabilities

  • Visual Composer - Drag-and-drop pipeline builder with intuitive UI
  • Modular Architecture - Reusable components for rapid development
  • Custom Code Integration - Drop into custom JavaScript/Python anytime
  • Team Collaboration - Real-time collaboration for distributed teams
  • Scalable Infrastructure - Handle millions of pipeline executions

Enterprise Features

  • Enterprise Security - Built-in authentication, encryption, and compliance
  • Rich Integrations - Connect with 100+ third-party services
  • API-First Design - Powerful REST and GraphQL APIs
  • Advanced Analytics - Monitor pipelines and execution metrics
  • Multi-tenant Support - Isolate teams and organizations

Developer Experience

  • No-Code & Low-Code - Visual builder with custom code escape hatch
  • Pre-built Nodes - 50+ ready-to-use components
  • Node Library - Create and share custom nodes
  • Version Control - Track changes and rollback easily
  • Local Development - SDK for local testing and development

πŸš€ Quick Start

Prerequisites

  • Node.js 18.0.0 or higher
  • npm 9.0.0 or higher
  • Git for version control
  • Optional: Docker for containerized deployment

Installation

1. Clone the Repository

git clone https://github.com/uriesmooth/Uriesmooth-.git
cd Uriesmooth-

2. Install Dependencies

npm install

3. Configure Environment

# Copy the example environment file
cp .env.example .env

# Edit .env with your configuration
# nano .env

4. Start Development Server

npm run dev

5. Access the Application

Open your browser and navigate to:

http://localhost:3000

First Pipeline

Once you're logged in:

  1. Click "Create Pipeline"
  2. Add nodes by dragging from the sidebar
  3. Connect nodes to create your flow
  4. Click "Deploy" to activate
  5. Monitor execution in the Dashboard

πŸ“š Documentation

Getting Started Guides

Core Concepts

API Reference

Advanced Topics

Examples


πŸ—οΈ Project Structure

Uriesmooth-/
β”œβ”€β”€ src/                          # Source code
β”‚   β”œβ”€β”€ components/               # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pipeline/
β”‚   β”‚   β”œβ”€β”€ nodes/
β”‚   β”‚   β”œβ”€β”€ canvas/
β”‚   β”‚   └── shared/
β”‚   β”œβ”€β”€ pages/                    # Application pages
β”‚   β”‚   β”œβ”€β”€ dashboard/
β”‚   β”‚   β”œβ”€β”€ pipelines/
β”‚   β”‚   β”œβ”€β”€ settings/
β”‚   β”‚   └── auth/
β”‚   β”œβ”€β”€ api/                      # API routes & handlers
β”‚   β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ pipelines/
β”‚   β”‚   β”œβ”€β”€ executions/
β”‚   β”‚   └── integrations/
β”‚   β”œβ”€β”€ services/                 # Business logic
β”‚   β”‚   β”œβ”€β”€ pipeline.service.js
β”‚   β”‚   β”œβ”€β”€ execution.service.js
β”‚   β”‚   └── integration.service.js
β”‚   β”œβ”€β”€ utils/                    # Utility functions
β”‚   β”‚   β”œβ”€β”€ validators/
β”‚   β”‚   β”œβ”€β”€ formatters/
β”‚   β”‚   └── helpers/
β”‚   β”œβ”€β”€ styles/                   # Global styles
β”‚   β”‚   β”œβ”€β”€ variables.scss
β”‚   β”‚   β”œβ”€β”€ globals.scss
β”‚   β”‚   └── themes/
β”‚   β”œβ”€β”€ config/                   # Configuration
β”‚   β”‚   β”œβ”€β”€ database.js
β”‚   β”‚   β”œβ”€β”€ redis.js
β”‚   β”‚   └── logger.js
β”‚   └── middleware/               # Express middleware
β”‚       β”œβ”€β”€ auth.js
β”‚       β”œβ”€β”€ errorHandler.js
β”‚       └── requestLogger.js
β”‚
β”œβ”€β”€ public/                       # Static assets
β”‚   β”œβ”€β”€ images/
β”‚   β”œβ”€β”€ icons/
β”‚   └── fonts/
β”‚
β”œβ”€β”€ docs/                         # Documentation
β”‚   β”œβ”€β”€ concepts/
β”‚   β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ advanced/
β”‚   └── examples/
β”‚
β”œβ”€β”€ tests/                        # Test suites
β”‚   β”œβ”€β”€ unit/
β”‚   β”œβ”€β”€ integration/
β”‚   └── e2e/
β”‚
β”œβ”€β”€ .github/                      # GitHub configuration
β”‚   β”œβ”€β”€ workflows/                # CI/CD pipelines
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/
β”‚   └── PULL_REQUEST_TEMPLATE/
β”‚
β”œβ”€β”€ config/                       # Configuration files
β”‚   β”œβ”€β”€ webpack.config.js
β”‚   β”œβ”€β”€ jest.config.js
β”‚   └── eslint.config.js
β”‚
β”œβ”€β”€ docker/                       # Docker files
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   └── .dockerignore
β”‚
β”œβ”€β”€ k8s/                          # Kubernetes manifests
β”‚   β”œβ”€β”€ deployment.yaml
β”‚   β”œβ”€β”€ service.yaml
β”‚   └── configmap.yaml
β”‚
β”œβ”€β”€ .env.example                  # Environment template
β”œβ”€β”€ .gitignore                    # Git ignore rules
β”œβ”€β”€ .dockerignore                 # Docker ignore rules
β”œβ”€β”€ package.json                  # Dependencies & scripts
β”œβ”€β”€ package-lock.json             # Locked versions
β”œβ”€β”€ Dockerfile                    # Container image
β”œβ”€β”€ docker-compose.yml            # Local development compose
β”œβ”€β”€ LICENSE                       # MIT License
β”œβ”€β”€ CONTRIBUTING.md               # Contribution guidelines
β”œβ”€β”€ SECURITY.md                   # Security policy
└── README.md                     # This file

πŸ› οΈ Tech Stack

Frontend

Technology Purpose
React 18 UI Framework
Redux Toolkit State Management
Tailwind CSS Styling
React Query Data Fetching
React Flow Node-based Editor
TypeScript Type Safety

Backend

Technology Purpose
Node.js Runtime
Express.js Web Framework
PostgreSQL Primary Database
Redis Caching & Queue
Socket.io Real-time Communication
JWT Authentication

DevOps & Tools

Technology Purpose
Docker Containerization
Kubernetes Orchestration
GitHub Actions CI/CD
Jest Testing
ESLint Linting
Prettier Code Formatting

πŸ“– Usage Examples

Example 1: Create a Data Processing Pipeline

import { FlowState } from '@flowstate/sdk';

const flowstate = new FlowState({
  apiKey: 'your-api-key',
  baseUrl: 'https://api.flowstate.io'
});

// Create a pipeline
const pipeline = await flowstate.pipelines.create({
  name: 'Daily Data Sync',
  description: 'Sync data from API to database',
  
  nodes: [
    {
      id: 'webhook-trigger',
      type: 'trigger',
      config: {
        event: 'webhook',
        path: '/data-sync'
      }
    },
    {
      id: 'fetch-data',
      type: 'http',
      config: {
        method: 'GET',
        url: 'https://api.example.com/data',
        headers: { 'Authorization': 'Bearer token' }
      }
    },
    {
      id: 'transform',
      type: 'transform',
      config: {
        script: `
          return data.map(item => ({
            id: item.id,
            name: item.title,
            updated_at: new Date()
          }));
        `
      }
    },
    {
      id: 'save-to-db',
      type: 'database',
      config: {
        provider: 'postgresql',
        table: 'data_sync',
        action: 'upsert'
      }
    }
  ],
  
  connections: [
    { from: 'webhook-trigger', to: 'fetch-data' },
    { from: 'fetch-data', to: 'transform' },
    { from: 'transform', to: 'save-to-db' }
  ]
});

console.log('Pipeline created:', pipeline.id);

Example 2: Deploy to Docker

# Build the Docker image
docker build -t flowstate-pro:v1.0.0 .

# Run the container
docker run -p 3000:3000 \
  -e NODE_ENV=production \
  -e DATABASE_URL=postgresql://user:pass@host:5432/db \
  -e JWT_SECRET=your-secret-key \
  flowstate-pro:v1.0.0

# Push to Docker Hub
docker login
docker tag flowstate-pro:v1.0.0 yourusername/flowstate-pro:v1.0.0
docker push yourusername/flowstate-pro:v1.0.0

Example 3: Deploy to Kubernetes

# Create namespace
kubectl create namespace flowstate

# Deploy application
kubectl apply -f k8s/deployment.yaml -n flowstate
kubectl apply -f k8s/service.yaml -n flowstate

# Check status
kubectl get pods -n flowstate
kubectl logs -f deployment/flowstate-pro -n flowstate

πŸ§ͺ Testing

Run Tests

# Run all tests with coverage
npm test

# Run tests in watch mode
npm run test:watch

# Run specific test file
npm test -- tests/api.test.js

# Run only unit tests
npm test -- --testPathPattern=unit

# Generate coverage report
npm run test:coverage

Test Structure

tests/
β”œβ”€β”€ unit/              # Component and function tests
β”œβ”€β”€ integration/       # API and service tests
└── e2e/              # End-to-end tests

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for details on:

  • Code style guidelines
  • Testing requirements
  • Pull request process
  • Commit message conventions
  • Development setup

Quick Start for Contributors

# 1. Fork the repository
git clone https://github.com/yourusername/Uriesmooth-.git
cd Uriesmooth-

# 2. Create a feature branch
git checkout -b feature/amazing-feature

# 3. Make changes and commit
git add .
git commit -m "feat: Add amazing feature"

# 4. Push and create PR
git push origin feature/amazing-feature

πŸ› Bug Reports & Feature Requests


πŸ“‹ Roadmap

Q3 2024

  • Advanced analytics dashboard
  • ML-powered optimization suggestions
  • Custom node marketplace

Q4 2024

  • Mobile app for iOS/Android
  • Enterprise SSO integration
  • Advanced audit logging

2025

  • Real-time collaboration v2
  • AI assistant for pipeline building
  • Advanced workflow templates

View Full Roadmap β†’


πŸ“ž Support


πŸ“„ License

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


πŸ™ Acknowledgments

  • Built with ❀️ for teams that ship fast
  • Inspired by modern workflow automation platforms
  • Thanks to all contributors
  • Special thanks to the open-source community

πŸ“Š Project Stats

GitHub Stars GitHub Forks GitHub Watchers GitHub License


Security & Privacy


Made with πŸš€ by Uriesmooth

⬆ Back to top

About

FlowState Pro by Uriesmooth is a modular flow platform for teams that ship fast. Build, connect, and deploy intelligent pipelines in minutes using a visual composer, with the flexibility to drop into custom code anytime. Scale easily, stay secure, and streamline your workflow seamlessly.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors