A powerful, web-based workflow automation platform built with Next.js that enables users to create, manage, and execute automated workflows through an intuitive visual interface. Leveraging serverless architecture with Neon Database for optimal scalability and performance.
- 🔄 Visual Workflow Editor powered by React Flow
- 🤖 Automated task execution engine
- 🔐 Multi-provider authentication (Facebook, GitHub, Email)
- 📊 Serverless Postgres with Neon Database
- 🎯 Multiple task executors including web scraping
- ⚡ Real-time workflow status monitoring
- 📱 Responsive design for desktop and mobile
- 🚀 Edge-ready with Neon's serverless driver
- Node.js (v18 or higher)
- Docker and Docker Compose (optional)
- npm, pnpm or yarn package manager
- Neon Database local initialization
- OAuth credentials (Facebook/GitHub)
- Clone the repository:
git clone https://github.com/your-username/workflow-automation-platform.git
cd workflow-automation-platform
- Copy the example environment file:
cp .env.example .env
- Start the Docker containers:
docker-compose up -d
The application will be available at http://localhost:3000
- Clone the repository and install dependencies:
git clone https://github.com/your-username/workflow-automation-platform.git
cd workflow-automation-platform
npm install
- Set up the environment variables:
cp .env.example .env
- Start the development server using pnpm:
pnpm run dev
- Start the development server using npm:
npm run dev
Create a .env
file with the following variables:
AUTH_DRIZZLE_URL="postgres://user:password@hostname:5432/database"
AUTH_SECRET=your-auth-secret-key NODE_ENV=development NEXT_PUBLIC_URL=http://localhost:3000
AUTH_GITHUB_ID=your-github-client-id AUTH_GITHUB_SECRET=your-github-client-secret AUTH_FACEBOOK_ID=your-facebook-client-id AUTH_FACEBOOK_SECRET=your-facebook-client-secret
RESEND_API_KEY=your-resend-api-key
API_SECRET=your-api-secret-key ENCRYPTION_KEY=your-encryption-key
STRIPE_API_KEY=your-stripe-api-key STRIPE_PRICE_ID_SMALL=price_xxxxxxxxxxxxx_small STRIPE_PRICE_ID_MEDIUM=price_xxxxxxxxxxxxx_medium STRIPE_PRICE_ID_LARGE=price_xxxxxxxxxxxxx_large STRIPE_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxx
## Development
### Database Management
```bash
npm run db:push # Push schema changes to database
npm run db:studio # Open Prisma Studio
npm run test # Run unit tests
npm run test:e2e # Run end-to-end tests
npm run lint # Run ESLint
npm run format # Run Prettier
-
Frontend:
-
Next.js 14 with App Router
-
TypeScript
-
Tailwind CSS
-
React Flow for workflow visualization
-
Shadcn UI components
-
Backend:
-
Next.js API Routes
-
Auth.js (NextAuth) with multiple providers
- Facebook OAuth
- GitHub OAuth
- Email Magic Links
-
Neon Database (Serverless Postgres)
- Connection pooling
- Auto-scaling
- Branching capability
-
Prisma ORM with Edge compatibility
-
Development Tools:
-
Docker
-
ESLint
-
Prettier
-
Jest
-
Cypress
├── src/
│ ├── app/ # Next.js app directory
│ │ ├── api/ # API routes
│ │ ├── auth/ # Authentication pages
│ │ └── workflows/ # Workflow pages
│ ├── components/ # React components
│ │ ├── ui/ # Shadcn UI components
│ │ └── workflow/ # Workflow-specific components
│ ├── lib/ # Utility functions and services
│ ├── types/ # TypeScript definitions
│ └── styles/ # Global styles
├── prisma/ # Database schema and migrations
├── public/ # Static assets
├── tests/ # Test files
└── docker/ # Docker configuration files
We welcome contributions to the Workflow Automation Platform! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/improvement
) - Make your changes
- Run tests (
npm run test
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/improvement
) - Create a Pull Request
Please ensure your PR description clearly describes the changes and includes any relevant issue numbers.
This project is licensed under the MIT License - see the LICENSE file for details.
If you need help or have questions:
- Open an issue
- Check the documentation
- Contact the maintainers