A modern resurrection of Yahoo Pipes β the visual data pipeline builder.
Built for the Kiroween Hackathon π
Yahoo Pipes (2007-2015) was a pioneering visual tool for aggregating, filtering, and transforming web data. Pipe Forge revives this concept with modern technologies, enabling users to create data pipelines through an intuitive drag-and-drop interface.
| Service | URL |
|---|---|
| Frontend | https://pipeforge-480308-ab122.web.app |
| Backend API | https://pipeforge-api-1023389197722.us-central1.run.app |
- Drag-and-drop operators from categorized sidebar
- Real-time schema propagation between nodes
- Inline node configuration
- Undo/Redo support (Ctrl+Z / Ctrl+Shift+Z)
- Canvas controls: zoom, pan, fit-to-view, mini-map
| Category | Operators |
|---|---|
| Sources | Fetch JSON, Fetch RSS, Fetch CSV, Fetch Page |
| Operators | Filter, Sort, Transform, Unique, Truncate, Tail, Rename |
| String | Replace, Regex, Substring |
| URL | URL Builder (dynamic parameters) |
| User Input | Text, Number, URL, Date |
| Output | Pipe Output |
- AES-256-GCM encrypted secrets storage
- Domain whitelist for external API calls
- Rate limiting on all endpoints
- Input validation and SQL injection prevention
- Browse and discover community pipes
- Fork public pipes
- Like/unlike pipes
- User profiles
- Node.js 20+
- PostgreSQL 14+
- Redis 7+ (Windows: Memurai)
# Clone repository
git clone https://github.com/swarajdhondge/pipeforge.git
cd pipeforge
# Backend setup
cd backend
npm install
cp .env.example .env
# Configure .env with your database credentials
npm run migrate
npm run db:seed
npm run dev
# Frontend setup (new terminal)
cd ../frontend
npm install
cp .env.example .env
npm run dev- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
Email: test@example.com
Password: TestPassword123!
The project is deployed on Google Cloud Platform with automated CI/CD via GitHub Actions.
π For complete deployment instructions, see Deployment Guide
- Backend: Google Cloud Run (auto-scaling containers)
- Frontend: Firebase Hosting (global CDN)
- Database: Cloud SQL (PostgreSQL)
- Cache: Upstash Redis
- CI/CD: GitHub Actions (auto-deploy on push to
main)
pipeforge/
βββ .github/workflows/ # CI/CD pipelines
β βββ deploy.yml
βββ backend/
β βββ src/
β β βββ config/ # Environment configuration
β β βββ operators/ # Operator implementations
β β βββ routes/ # API endpoints
β β βββ services/ # Business logic
β β βββ scripts/ # Migrations, seeds, utilities
β βββ Dockerfile
β βββ package.json
βββ frontend/
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Route pages
β β βββ store/ # Redux state management
β β βββ services/ # API clients
β β βββ hooks/ # Custom React hooks
β βββ package.json
βββ docs/ # Documentation
βββ firebase.json # Firebase configuration
βββ README.md
| Category | Templates |
|---|---|
| Getting Started | First Steps, Last Items, Rename Fields |
| Data Processing | Filter & Sort, Transform & Extract, Remove Duplicates |
| API Integration | GitHub Top Repos, GitHub User Profile, Weather Dashboard |
| RSS & Feeds | Tech News Feed, Reddit Feed Reader |
npm run dev # Start development server
npm run build # Build for production
npm run migrate # Run database migrations
npm run db:seed # Seed sample data
npm run db:reset # Reset database
npm run cache:clear # Clear Redis cachenpm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run test # Run tests| Issue | Solution |
|---|---|
| Database connection failed | Verify DATABASE_URL in .env and ensure PostgreSQL is running |
| Redis connection failed | Check Redis is running and REDIS_URL is correct |
| OAuth redirect mismatch | Ensure redirect URI in Google Console matches exactly |
| Cloud Run container failed | Check PORT=8080 and all required env vars are set |
| Empty templates | Run npm run db:seed to populate sample data |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License β see LICENSE
- Original Yahoo Pipes team (2007-2015) for the inspiration
- Kiro team for the hackathon
- ReactFlow for the visual editor foundation
