This is a scalable and modular Zapier clone designed to handle webhooks, email notifications, and Solana blockchain integration. Built with modern technologies, the platform ensures robust performance, efficient task automation, and seamless integration capabilities.
- Webhooks: Trigger events and actions programmatically.
- Email Notifications: Automate sending and receiving emails.
- Solana Integration: Utilize Solana blockchain for decentralized operations.
- Scalable Architecture: Powered by Kafka for message streaming.
- Full-Stack Solution: Built using Next.js, Node.js, and Express for both frontend and backend functionalities.
- Database Management: Prisma ORM integrated with PostgreSQL for efficient data handling.
- Frontend : Next.js
- Backend : Node.js, Express
- Database : PostgresSQL with Prisma
- Messaging : Kafka
- Blockchain : Solana
Ensure the following tools are installed on your system:
- Docker (for containerized environment)
- Node.js (v18 or later)
- Kafka (for message brokering)
git clone https://github.com/Somnath-Chattaraj/Zapier.git
cd Zapier
Create a .env
file in every location where a .env.example
file is present. Copy the contents of the corresponding .env.example
file and update the placeholder values with your actual configuration.
- Install Dependencies in every folder:
cd frontend
npm i
cd ../primary_backend
npm i
cd ../hooks
npm i
cd ../worker
npm i
cd ../processor
npm i
- Start Kafka: If using docker, start kafka with
docker run -p 9092:9092 -d apache/kafka:3.9.0
Then, access the Kafka container:
docker exec -it <container_id> /bin/bash
Create a topic named zap-events:
bin/kafka-topics.sh --create --topic zap-events --bootstrap-server localhost:9092
- Run Database Migrations: Go to every folder and migrate the database
cd primary_backend
npx prisma migrate dev
cd ../hooks
npx prisma migrate dev
cd ../worker
npx prisma migrate dev
cd ../processor
npx prisma migrate dev
- Run the Application
Run the frontend ``` cd frontend npm run dev ```
Run the primary backend
cd primary_backend
tsc -b
node dist/index.js
Run the processor
cd processor
tsc -b
node dist/index.js
Run the worker
cd worker
tsc -b
node dist/index.js
Run the hooks
cd hooks
tsc -b
node dist/index.js
- Access the application at
http://localhost:3000
.
- Webhooks: Configure webhook URLs and trigger actions through the dashboard.
- Emails: Set up email templates and automate notifications.
- Blockchain: Utilize Solana integration for blockchain-specific triggers and workflows.