Skip to content

Latest commit

 

History

History
140 lines (100 loc) · 5.27 KB

File metadata and controls

140 lines (100 loc) · 5.27 KB

Databuddy

License: AGPL TypeScript Next.js React Turborepo Bun Tailwind CSS

CodeRabbit Pull Request Reviews Code Coverage Security Scan Dependency Status

Vercel OSS Program

Discord GitHub Stars Twitter

A comprehensive analytics and data management platform built with Next.js, TypeScript, and modern web technologies. Databuddy provides real-time analytics, user tracking, and data visualization capabilities for web applications.

🌟 Features

  • 📊 Real-time analytics dashboard
  • 👥 User behavior tracking
  • 📈 Advanced data visualization // Soon
  • 🔒 Secure authentication
  • 📱 Responsive design
  • 🌐 Multi-tenant support
  • 🔄 Real-time updates // Soon
  • 📊 Custom metrics // Soon
  • 🎯 Goal tracking
  • 📈 Conversion analytics
  • 🔍 Custom event tracking
  • 📊 Funnel analysis
  • 📈 Cohort analysis // Soon
  • 🔄 A/B testing // Soon
  • 📈 Export capabilities
  • 🔒 GDPR compliance
  • 🔐 Data encryption
  • 📊 API access

📚 Table of Contents

  1. How do I get started? Follow the Getting Started guide.

Prerequisites

  • Bun 1.3.4+
  • Node.js 20+

🏠 Self-Hosting

Databuddy can be self-hosted using Docker Compose. The repo includes two compose files:

File Purpose
docker-compose.yaml Development only — starts infrastructure (Postgres, ClickHouse, Redis) for local dev
docker-compose.selfhost.yml Production / self-hosting — full stack with all application services from GHCR images

Quick Start

# 1. Configure environment
cp .env.example .env
# Edit .env — at minimum set BETTER_AUTH_SECRET and BETTER_AUTH_URL

# 2. Start everything
docker compose -f docker-compose.selfhost.yml up -d

# 3. Initialize databases (first run only)
docker compose -f docker-compose.selfhost.yml exec api bun run db:push
docker compose -f docker-compose.selfhost.yml exec api bun run clickhouse:init

Services started:

  • APIlocalhost:3001
  • Basket (event ingestion) → localhost:4000
  • Links (short links) → localhost:2500
  • Uptime monitoring is optional — uncomment in the compose file and set QStash keys.

All ports are configurable via env vars (API_PORT, BASKET_PORT, etc.). See the compose file comments for the full env var reference.

🤝 Contributing

See CONTRIBUTING.md for guidelines.

🔒 Security

See SECURITY.md for reporting vulnerabilities.

❓ FAQ

General

  1. What is Databuddy? Databuddy is a comprehensive analytics and data management platform.

  2. How do I get started? Follow the Getting Started guide.

  3. Is it free? Check our pricing page.

Technical

  1. What are the system requirements? See Prerequisites.

  2. How do I deploy? See the deployment documentation in our docs.

  3. How do I contribute? See Contributing.

💬 Support

📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

Copyright (c) 2025 Databuddy Analytics, Inc.