Skip to content

The most powerful webhook platform for developers Capture, debug, transform, and route webhooks with zero configuration.

License

Notifications You must be signed in to change notification settings

usecatchook/catchook-legacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🎣 Catchook

Catchook Logo

The most powerful webhook platform for developers
Capture, debug, transform, and route webhooks with zero configuration.

Warning

Catchook is under active development. APIs may change. Not recommended for production use yet.

Go Version Next.js License: MIT PRs Welcome


✨ Why Catchook?

Stop fighting with webhooks. Catchook gives you superpowers:

  • πŸš€ Zero Config - Start capturing webhooks instantly
  • πŸ” Smart Debugging - Real-time inspection with advanced filtering
  • πŸ”„ Intelligent Routing - Route webhooks based on content, headers, or custom rules
  • πŸ“Š Live Monitoring - Beautiful dashboard with metrics and alerting
  • πŸ› οΈ Transform & Replay - Modify payloads and replay events
  • ⚑ High Performance - Built with Go + Fiber for maximum throughput

πŸš€ Quick Start

Get Catchook running locally in under 2 minutes:

Prerequisites

1. Clone & Setup

git clone https://github.com/theotruvelot/catchook.git
cd catchook

# Start PostgreSQL & Redis
docker-compose -f docker-compose.dev.yml up -d

# Install dependencies
go mod tidy
cd app && npm install && cd ..

2. Environment Setup

# Copy example environment
cp .env.example .env

# The default config works with docker-compose setup!
# Edit .env if you need custom database credentials

3. Start Development

# Terminal 1: Start the API
make dev-api

# Terminal 2: Start the Frontend
make dev-app

# πŸŽ‰ Open http://localhost:3000

Your first webhook endpoint is ready at http://localhost:8080/hooks/your-unique-id

πŸ—οΈ Architecture

Catchook is built for performance and developer experience:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Next.js App   │───▢│    Go Fiber API  │───▢│   PostgreSQL    β”‚
β”‚   (Frontend)    β”‚    β”‚   (Backend)      β”‚    β”‚   (Storage)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚     Redis       β”‚
                       β”‚(Cache & Pub/Sub)β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

Component Technology Why?
Backend Go + Fiber Blazing fast HTTP performance
Database PostgreSQL + SQLC Type-safe SQL with zero ORM overhead
Cache Redis Real-time features & smart caching
Frontend Next.js + TypeScript Modern React with full-stack capabilities
Styling Tailwind CSS + Shadcn UI Rapid UI development
Auth JWT Stateless auth with performance

πŸ“ Project Structure

catchook/
β”œβ”€β”€ app/                    # Next.js frontend application
β”œβ”€β”€ cmd/api/               # API entry point
β”œβ”€β”€ internal/              # Private Go packages
β”‚   β”œβ”€β”€ app/               # HTTP handlers & dependency injection
β”‚   β”œβ”€β”€ config/            # Configuration management
β”‚   β”œβ”€β”€ domain/            # Business logic & interfaces
β”‚   β”œβ”€β”€ middleware/        # HTTP middleware (auth, logging, etc.)
β”‚   β”œβ”€β”€ repository/        # Data access layer (SQLC)
β”‚   └── service/           # Business orchestration
β”œβ”€β”€ pkg/                   # Public Go packages
β”‚   β”œβ”€β”€ cache/             # Redis abstraction
β”‚   β”œβ”€β”€ jwt/               # JWT token management
β”‚   β”œβ”€β”€ logger/            # Structured logging
β”‚   └── validator/         # Request validation
β”œβ”€β”€ storage/postgres/      # Database schemas & queries
└── bruno/                 # API testing collection

🀝 Contributing

We ❀️ contributions! Catchook is designed to be contributor-friendly.

🎯 Good First Issues

Look for issues labeled good first issue:

  • πŸ› Bug fixes
  • πŸ“ Documentation improvements
  • ✨ Small feature additions
  • πŸ§ͺ Test coverage improvements

πŸ”§ Development Workflow

  1. Fork & Clone

    git clone https://github.com/YOUR_USERNAME/catchook.git
  2. Create Feature Branch

    git checkout -b feature/amazing-feature
  3. Make Changes & Test

    make test
    make lint
  4. Submit PR

    • Write clear commit messages
    • Add tests for new features
    • Update documentation

πŸ§ͺ Testing (WIP)

# Run all tests
make test

# Run with coverage
make test-coverage

# Test specific package
go test ./internal/service/...

πŸ“– API Documentation (WIP)

Explore the API with our Bruno collection.

Manual Deployment

# Build API
make build-api

# Build Frontend
cd app && npm run build

# Run migrations
make migrate-up

πŸ—ΊοΈ Roadmap

🎯 v1.0 Goals:

  • Complete webhook capture & replay
  • Advanced filtering & transformation
  • Webhook routing rules
  • Real-time dashboard
  • API rate limiting

πŸ“„ License

Catchook is Apache 2.0 licensed.

πŸ™ Acknowledgments

Built with amazing open-source tools:

A big thank to OpenSourceTogether for the amazing support and resources.


About

The most powerful webhook platform for developers Capture, debug, transform, and route webhooks with zero configuration.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published