Zapier is a tool to automate workflows, enabling users to streamline tasks and boost productivity. It simplifies the process of connecting apps and automating tasks by setting up triggers and actions. The platform currently supports webhook as a trigger and offers actions like sending emails and transferring Solana tokens. When a trigger is activated, the corresponding actions are executed, making workflow automation seamless and efficient.
Clone the Repository:
git clone <repo_link>
Navigate to the Project Directory:
cd <project_directory>
Install Dependencies:
For each of the following folders (frontend
, hooks
, primary-backend
, processor
, worker
), run:
npm install
Set Up Environment Variables:
.env.example
file in each folder and rename it to .env
..env
file (details below).Run the Project:
frontend
, start the servers with:
npm start
frontend
, use:
npm run dev
Ports: The ports for all services remain unchanged. Please ensure no conflicts with existing services on your machine.
├── README.md
├── frontend
├── hooks
├── primary-backend
├── processor
└── worker
npm run dev
.Before running the project, ensure you have the following services set up:
Refer to the official Kafka quickstart guide.
Start Kafka using Docker:
docker run -p 9092:9092 --rm apache/kafka:3.7.1
List all running containers:
docker ps
Get shell access to the Kafka container (replace container_id
with the actual container ID from the previous command):
docker exec -it <container_id> /bin/bash
Navigate to the Kafka binary folder:
cd /opt/kafka/bin
./kafka-topics.sh --create --topic outbox-processor --bootstrap-server localhost:9092
./kafka-console-producer.sh --topic outbox-processor --bootstrap-server localhost:9092
For more information, refer to the Kafka quickstart guide for installation and configuration:
Apache Kafka Documentation
Once these services are configured and running, ensure the respective credentials and connection strings are added to the .env
files in the appropriate directories.
The overall architecture and workflow for this system can be viewed in the system design flowchart below: