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.
-
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
- 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
- Node.js ≥ 18 (20+ recommended)
- pnpm ≥ 7 or npm / yarn
- A PostgreSQL instance (or compatible via
DATABASE_URL) - OpenAI API key (for AI features)
-
Clone & Install
git clone https://github.com/yourorg/beak-insights-beakdash.git cd beak-insights-beakdash pnpm install -
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-...
-
Database Setup
pnpm run db:push # Apply Drizzle schema changes pnpm run db:migrate # Run pending migrations
-
Development
pnpm run dev
- Frontend & API: http://localhost:5000
-
Production Build
pnpm run build pnpm start
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
-
Create a Connection: Go to Connections → New Connection → Choose CSV/REST/SQL → Configure → Save.
-
Build a Dataset: Datasets → New 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-QA → Alerts → New Alert → Write SQL → Schedule → Enable.
-
AI Insights: Open the AI pane on any dashboard to see automated commentary and suggestions.
We welcome all contributions!
- Fork the repo
- Create a feature branch (
git checkout -b feature/foo) - Commit your changes (
git commit -m "feat: add foo") - Push to your branch (
git push origin feature/foo) - Open a Pull Request
Distributed under the MIT License. See LICENSE for details.
Generated based on the actual project layout and configuration.
