Skip to content

aurthurm/beakdash

Repository files navigation

BeakDash Business Intelligence

BeakDash is an AI-powered, modular dashboard platform built with Next.js and TypeScript. It lets authenticated users connect to various data sources, define datasets, design custom dashboards with drag-and-drop widgets, and even set up database-QA alerts—all enriched by AI insights.


image

Features

  • User Authentication & Management

    • Sign up, log in, log out, password management
    • Profile, privacy, integrations, and API-key pages
  • Data Connections

    • CSV uploads, REST API, and SQL database connections
    • Schema inspection and test queries via the UI
  • Datasets

    • Transform raw connections into reusable datasets
    • Filters, mappings, and schema-driven validations
  • Dashboard Builder

    • Create multiple dashboards
    • Drag-and-drop widget placement with responsive layouts
    • Widgets include charts (bar, line, pie), tables, text, counters, etc.
  • Widget Library & Editor

    • Pre-built widgets (stat cards, tables, charts)
    • Custom field-mapping and configuration dialogs
    • Shareable via link or embeddable iframe
  • AI-Powered Insights

    • “Copilot” pane suggests trends, anomalies, and narrative summaries
    • Status indicators for AI processing
  • DB-QA & Alerts

    • Write and schedule SQL queries against live databases
    • Alert rules with history, notifications, and enable/disable toggles
  • Team Collaboration (“Spaces”)

    • Create “spaces” to share dashboards, queries, and alerts with team members
    • Join/leave flows and per-space permissions
  • Health & Migration

    • Built-in health check endpoint
    • Database migrations via Drizzle ORM

Technology Stack

  • Framework: Next.js 15 (App Router, API Routes)
  • Language: TypeScript, React (RSC & Client Components)
  • Styling: Tailwind CSS, Shadcn UI, Radix UI primitives
  • State & Data: TanStack React-Query, Zustand, Drizzle ORM (PostgreSQL)
  • Authentication: Clerk (@clerk/nextjs) & NextAuth sessions
  • Charts & UI: Recharts, Ant Design Charts, Framer Motion
  • AI: OpenAI API for copilot and suggestions
  • Dev Tools: ESLint, Prettier, Drizzle-Kit, pnpm, Vite plugins

Prerequisites

  • Node.js ≥ 18 (20+ recommended)
  • pnpm ≥ 7 or npm / yarn
  • A PostgreSQL instance (or compatible via DATABASE_URL)
  • OpenAI API key (for AI features)

Getting Started

  1. Clone & Install

    git clone https://github.com/yourorg/beak-insights-beakdash.git
    cd beak-insights-beakdash
    pnpm install
  2. Environment

    Copy the example and update values:

    cp .env.example .env

    Populate at minimum:

    PORT=5000
    DATABASE_URL=postgresql://user:pass@host:5432/dbname
    OPENAI_API_KEY=sk-...
  3. Database Setup

    pnpm run db:push      # Apply Drizzle schema changes
    pnpm run db:migrate   # Run pending migrations
  4. Development

    pnpm run dev
  5. Production Build

    pnpm run build
    pnpm start

Project Structure

beak-insights-beakdash/
├── app/                   # Next.js App Router
│   ├── api/               # RESTful API routes (auth, connections, dashboards, etc.)
│   ├── auth/              # Auth pages & layouts
│   ├── components/        # Reusable UI components (ai, widgets, db-qa, etc.)
│   ├── providers/         # React context providers (Auth, Query)
│   ├── styles/            # Global CSS
│   └── page.tsx           # Main entry page
├── lib/                   # Client & server utilities (api client, db adapters, hooks)
├── drizzle.config.ts      # Drizzle ORM configuration
├── components.json        # Shadcn UI config
├── tailwind.config.ts     # Tailwind CSS config
├── next.config.ts         # Next.js config (CORS, images)
├── package.json           # Scripts & dependencies
├── .env.example           # Environment variables template
└── pnpm-workspace.yaml    # Monorepo settings

Usage Highlights

  • Create a Connection: Go to ConnectionsNew Connection → Choose CSV/REST/SQL → Configure → Save.

  • Build a Dataset: DatasetsNew Dataset → Select Connection → Apply filters/mappings → Save.

  • Add Widgets to Dashboard: Dashboards → Choose or create a dashboard → Add Widget → Configure chart/table → Save.

  • Set DB-QA Alert: DB-QAAlertsNew Alert → Write SQL → Schedule → Enable.

  • AI Insights: Open the AI pane on any dashboard to see automated commentary and suggestions.


Contributing

We welcome all contributions!

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/foo)
  3. Commit your changes (git commit -m "feat: add foo")
  4. Push to your branch (git push origin feature/foo)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for details.


Generated based on the actual project layout and configuration.

About

Transform your SQL data into powerful, interactive visualizations with Ant Charts integration

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages