Skip to content

bharathkumar39293/WebHookDrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebhookDrop 📦🚀 (Technical MVP)

WebhookDrop is a reliable, high-fidelity MVP of a webhook delivery engine, conceptually similar to a streamlined version of Svix. It acts as a "Reliable Postman" between your application and its consumers, ensuring every event is delivered with a robust, distributed retry system.

🌟 Key Features

  • Reliable Delivery: Powered by BullMQ and Redis for background job persistence.
  • Smart Retries: Exponential backoff with Jitter to prevent "thundering herd" issues.
  • HMAC Security: Every payload is signed with a secret key, so receivers can verify it's really from you.
  • Chaos Simulator: Built-in tool to test how your architecture handles flaky connections.
  • Modern Dashboard: A polished React + Tailwind CSS UI to monitor all deliveries in real-time.

🏗️ Architecture

graph LR
    A[Your App] -->|POST /events| B[API Server]
    B --> C[(PostgreSQL)]
    B --> D[Redis Queue]
    D --> E[Background Worker]
    E -->|POST + Signature| F[Target URL]
    E -- Fail? --> D
Loading

1. Start Infrastructure (Cloud)

If deploying to Render, use these settings:

  • Build Command: npm install && npm run build
  • Start Command: npm start

2. Start Infrastructure (Local)

docker-compose up -d

2. Start API (Backend)

cd apps/api
npm install
npm run dev

3. Start Dashboard (Frontend)

cd apps/ui
npm install
npm run dev

📖 API Reference

Register Endpoint

POST /endpoints

{
  "url": "https://yourapp.com/hook",
  "secret": "your-signing-secret",
  "label": "Production"
}

Fire Event

POST /events

{
  "payload": {
    "type": "order.completed",
    "id": "123"
  }
}

Built with ❤️ for reliable software.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors