Skip to content

WassCodeur/SyncraFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A professional README is the storefront of your project. It’s what makes a recruiter or a potential investor say, "This developer knows what they’re doing."

Here is a comprehensive, high-quality README.md for SyncraFlow, written in English as requested.


SyncraFlow Engine

SyncraFlow is a high-performance, event-driven automation backend designed to orchestrate data between different APIs. It allows users to create custom workflows triggered by Webhooks, process data asynchronously, and execute multi-step actions with reliability and speed.


Key Features

  • Event-Driven Architecture: Non-blocking request handling using FastAPI and Celery.
  • Dynamic Webhooks: Unique endpoint generation for every user workflow.
  • Asynchronous Task Processing: Offloads heavy data processing to background workers via Redis.
  • Native PostgreSQL Support: Optimized for Supabase with raw SQL queries for maximum performance.
  • JWT Authentication: Secure user management and scoped access to workflows.
  • Detailed Execution Logs: Full traceability for every event processed by the engine.
  • AI-Ready: Modular architecture designed to integrate LLM (OpenAI/Anthropic) steps seamlessly in the future.

Tech Stack


Architecture Overview

  1. Ingestion Layer: FastAPI receives incoming webhooks and validates the payload.
  2. Messaging Layer: The payload is pushed to a Redis queue.
  3. Processing Layer: Celery Workers fetch the workflow configuration from Supabase and execute the defined steps (e.g., Data transformation, HTTP requests).
  4. Logging Layer: Every success or failure is logged back to PostgreSQL for real-time monitoring.

Getting Started

1. Prerequisites

  • Docker & Docker Compose
  • A Supabase account (PostgreSQL)
  • Python 3.12+

2. Environment Setup

Create a .env file in the root directory:

DATABASE_URL=postgresql://postgres:[PASSWORD]@[HOST]:5432/postgres
REDIS_URL=redis://localhost:6379/0
SECRET_KEY=your_super_secret_jwt_key

3. Installation

# Clone the repository
git clone https://github.com/yourusername/syncraflow.git
cd syncraflow

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

4. Running the Application

# Start Redis and Postgres (if using local Docker)
docker-compose up -d

# Start the FastAPI server
uvicorn app.main:app --reload

# Start the Celery Worker (in a new terminal)
celery -A app.worker worker --loglevel=info

Roadmap

  • Core Webhook ingestion engine
  • Native PostgreSQL integration
  • Multi-step logic execution
  • User Dashboard API
  • AI-powered data transformation steps (Future)
  • Stripe integration for SaaS monetization

TODO:

  • Add more detailed API documentation (Swagger/OpenAPI)
  • setup CI/CD pipeline for automated testing and deployment, DOCKERIZE the application for easier deployment, python package distribution, and add more comprehensive unit and integration tests.
  • Python formatting and linting with Black and Flake8.
  • Implement a retry mechanism for failed tasks in Celery.
  • Implement a real database and remove mock data generation and stockage functions
  • Implement a user-friendly dashboard for workflow management and monitoring.

About

SyncraFlow is an intelligent automation SaaS platform. It allows companies to connect their tools (Stripe, GitHub, Shopify, etc.) to create automated workflows. Unlike existing solutions, SyncraFlow is designed to be “API-First,” offering developers complete flexibility to transform their data in real time without complex infrastructure.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors