A powerful workflow automation platform that enables you to create AI-powered agents through a visual flow editor. Flowgent allows you to design, build, and deploy automated workflows that combine AI capabilities with custom actions and triggers.
- Frontend Framework: React with TypeScript
- Build Tool: Vite
- Storage: IndexedDB for offline data persistence
- API Integration: REST API communication
- Database: PostgreSQL with Drizzle ORM
- Backend: Node.js with Express
- Flow Editor: @xyflow/react for visual flow editing
- Environment Management: Multiple environment configurations
- Visual Flow Editor for creating AI agent workflows
- Node-based programming interface
- Multiple node types:
- Trigger nodes for workflow initiation
- AI nodes for language processing and decision making
- Action nodes for executing tasks
- Flow control nodes for conditional logic
- Real-time flow validation and testing
- Offline-first architecture
- Database persistence for workflows
- Environment-specific configurations
packages/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── MatrixEditor/ # Flow editor components
│ │ │ └── ui/ # Shared UI components
│ │ ├── services/ # API and storage services
│ │ └── pages/ # Application routes
│ └── public/
└── backend/
├── src/
│ ├── routes/ # API endpoints
│ ├── db/ # Database models and migrations
│ └── services/ # Business logic
└── docker-compose.dev.yml # Development database setup
- Node.js (v16 or higher)
- npm or yarn
- Docker (for development database)
- PostgreSQL (production)
- Clone the repository:
git clone [repository-url]
cd flowgent- Install dependencies:
# Install frontend dependencies
cd packages/frontend
npm install
# Install backend dependencies
cd ../backend
npm install- Set up environment variables:
# Frontend
cd packages/frontend
cp .env.example .env
# Backend
cd ../backend
cp .env.example .env- Start the development database:
cd packages/backend
npm run docker:up- Start the backend server:
npm run dev- In a new terminal, start the frontend development server:
cd packages/frontend
npm run dev- Build the frontend:
cd packages/frontend
npm run build- Build the backend:
cd packages/backend
npm run buildVITE_USE_BACKEND: Enable/disable backend integrationVITE_API_BASE_URL: Backend API URLVITE_APP_TITLE: Application title
PORT: Server portNODE_ENV: Environment (development/production)DB_HOST: Database hostDB_PORT: Database portDB_USER: Database userDB_PASSWORD: Database passwordDB_NAME: Database nameFRONTEND_URL: Frontend application URL
Flowgent follows a modular architecture:
-
Frontend:
- React components for UI rendering
- XYflow for flow visualization and editing
- Service layer for API communication
- Offline-first data persistence
-
Backend:
- Express.js REST API
- PostgreSQL database with Drizzle ORM
- Service-based business logic
- Environment-based configuration
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.