This is a scalable and modular workflow 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.