Automate your Workflows with ease
Workflow Automation enables seamless automation of your workflows. Users can effortlessly create workflows and configure them to the available trigger providers and multiple available actions with precision or use pre-built AI-powered templates. Designed with a robust event-driven architecture, the application ensures reliable and asynchronous execution of actions upon each trigger, providing high performance.
Watch Workflow Automation Demo π
- Streamlined Workflow Creation
- Webhook trigger provider
- Automate your Google Sheet
- Mailing service for instant mails
- AI-powered workflow templates
- Clean and MVC OOPs architecture
- Secure Clerk Authentication and Authorization
- Beautiful User Interface
- React Flow for User-Friendly Experience
- Webhook secret key to authenticate and secure the Webhook endpoint
- PostgerSQL - SQL database for storing data and maintain complex data relations
- Prisma - Efficient ORM for database interactions
- Redis - In-memory database and queue management
- Node.js - JavaScript runtime for server-side development
- Express - Web framework for Node.js
- Nodemailer - For sending emails
- Gemini - To analyze the scraped content and generate detailed description
- Zod - Used for validation
- Next.js - React framework for production
- TypeScript - Superset of JavaScript for type safety
- Tailwind CSS - Utility-first CSS framework
- React Flow - React library to built user friendly workflows
- Vercel - Deployment platform for frontend
- Render - Deployment platform for backend services
- Frontend: Workflow Automation
- Backend: Backend Server
- Webhook: Webhook Server
- Worker: Worker Server
- Add more Trigger and Action provider to expand the Workflow Automation
- Provide user to connect with the provider to reduce manual workload
- Add notification channels (Slack, Discord)
- Add a feature to display workflow status in real-time
- Streamlined and user-friendly interface
- Event-driven asynchronous processing
- Clean and MVC OOPs architecture
- Dedicated Webhook Server for scalable event handling
- Secured Webhook endpoint using unique secret key
- AI-powered pre-built templates
- Transition to microservices architecture
- Add real-time feature to display workflow status
-
Clone the repository:
git clone https://github.com/Shreekar11/Automate-Workflow.git
-
Navigate to the project directory:
cd Automate-Workflow
-
Navigate to the project directory:
cd frontend
-
Install dependencies:
npm install
-
Create a
.env
file in the root directory and add your environment variables:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY= NEXT_PUBLIC_CLERK_SIGN_IN_URL= NEXT_PUBLIC_CLERK_SIGN_UP_URL= NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL= NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL= WEBHOOK_SECRET= NEXT_PUBLIC_BASE_URL= NEXT_PUBLIC_WEBHOOK_URL=
-
Run the frontend:
npm run dev
-
Open http://localhost:3000 in your browser to see the application.
-
Create a
.env
file in the root directory and add your environment variables:DATABASE_URL= CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY= BACKEND_URL= FRONTEND_URL=
-
Navigate to the backend directory and start the server:
cd backend npm install npm run dev
-
Server will run on endpoint :- http://localhost:8080
-
Create a
.env
file in the root directory and add your environment variables:DATABASE_URL= WEBHOOK_URL= REDIS_URL= FRONTEND_URL=
-
Install Redis using Docker, run the below Docker command to pull the redis docker image:
docker run -d --name redis-queue -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
-
Navigate to the hooks directory and start the server:
cd hooks npm install npm run dev
-
Webhook Server will run on endpoint :- http://localhost:5000
-
Create a
.env
file in the root directory and add your environment variables:DATABASE_URL= MAIL_USERNAME= MAIL_PASSWORD= GOOGLE_CLIENT_EMAIL= GOOGLE_PRIVATE_KEY= WORKER_URL= REDIS_URL=
-
Navigate to the worker directory and start the server:
cd worker npm install npm run dev
-
Worker Server will run on endpoint :- http://localhost:8000
- Docker
To install Docker, run the following commands in your terminal:
```
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
-
Navigate into backend directory
-
Add the
.env
file in the directory. The env file being used for development is called.env
-
To get started with development first build the dev containers using the following command
docker-compose build
-
Run the containers using the command
docker-compose -up
-
Navigate into frontend directory
-
Add the
.env
file in the directory. The env file being used for development is called.env
-
To get started with development first build the dev containers using the following command
docker-compose build
-
Run the containers using the command
docker-compose -up
-
Navigate into hooks directory
-
Add the
.env
file in the directory. The env file being used for development is called.env
-
To get started with development first build the dev containers using the following command
docker-compose build
-
Run the containers using the command
docker-compose -up
-
Navigate into worker directory
-
Add the
.env
file in the directory. The env file being used for development is called.env
-
To get started with development first build the dev containers using the following command
docker-compose build
-
Run the containers using the command
docker-compose -up
For any inquiries or support, please email us at shreekargade2004@gmail.com or open an issue in this repository.
Enjoy your workflow automation process!βοΈπ