A full-stack open-source workflow automation platform with AI integration capabilities, enabling users to create, store, and execute custom workflows with interconnected nodes for AI processing, Telegram messaging, and form-based data collection.
- Visual Workflow Builder: Drag-and-drop interface for creating complex automation workflows
- AI Integration: Google Generative AI (Gemini) integration with function calling support 1
- Telegram Bot: Send automated messages through Telegram 2
- Multi-Tenant Architecture: User-scoped workflows and credentials with JWT authentication
- DAG-Based Execution: Intelligent workflow execution with automatic dependency resolution
- Credential Management: Secure storage of external service credentials
Detailed Documentation: n8n docs
The system consists of two main components:
- Framework: Express.js with TypeScript 3
- Database: PostgreSQL with connection pooling 4
- Authentication: JWT tokens with bcrypt password hashing 5 6
- Event Streaming: Kafka integration for asynchronous processing 7
- Framework: React + TypeScript + Vite 8
- Flow Editor: React Flow for visual workflow creation
- State Management: Recoil for global state
- Routing: React Router for navigation
- Node.js >= 18
- PostgreSQL database
- Google Generative AI API key (for AI features)
- Telegram Bot token (for Telegram integration)
cd 05-backend-n8n
npm installCreate a .env file with the following variables:
DB_USER=your_db_user
DB_HOST=localhost
DB_DATABASE=your_db_name
DB_PASSWORD=your_db_password
DB_PORT=5432
JWT_SECRET=your_jwt_secretcd n8n-frontend
npm installcd 05-backend-n8n
npm run devServer runs on http://localhost:5000
cd n8n-frontend
npm run devPOST /api/v1/signup- User registrationPOST /api/v1/signin- User login with JWT token
POST /api/v1/workflow- Create/update workflowGET /api/v1/workflow- Get all user workflowsPUT /api/v1/workflow/:id- Update specific workflow
POST /api/v1/credential- Add credentialGET /api/v1/credential- Get user credentialsDELETE /api/v1/credential- Delete credential
GET /api/v1/form/:workflowId/:nodeId- Get form definitionPOST /api/v1/form/:workflowId/:nodeId- Submit form and trigger workflow
- Google Form: Form-based data collection
- AI Agent: Google Generative AI integration with function calling
- Telegram Message: Send messages via Telegram Bot
The system uses three PostgreSQL schemas:
user_schema.users- User accounts with bcrypt-hashed passwordsworkflow_schema.workflow- Workflow definitions with JSONB nodes and connectionscredential_schema.credential- External service credentials
- JWT-based authentication with 2-hour token expiration
- Bcrypt password hashing with salt rounds
- User-scoped data isolation at database level
- Credential encryption in JSONB storage
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- 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.
Akash Raj
- GitHub: @akash-R-A-J
- Inspired by n8n.io - the workflow automation platform
- Built with modern web technologies and best practices