tablecn
June 13, 2026 ยท View on GitHub
Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.
Documentation
See the documentation to get started.
Tech Stack
- Framework: Next.js
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Table: TanStack Table
- Reactive store: TanStack DB
- Database: PostgreSQL
- ORM: Drizzle ORM
- Validation: Zod
- Multiplayer: PartyKit
Features
- Server-side pagination, sorting, and filtering
- Customizable columns
- Auto generated filters from column definitions
-
Notion/Airtablelike advanced filtering -
Linearlike filter menu for command palette filtering - Action bar on row selection
- Infinite scrolling with virtualization
- Real-time collaboration
Running Locally
Quick Setup (with Docker)
-
Clone the repository
git clone https://github.com/sadmann7/tablecn cd tablecn -
Copy the environment variables
cp .env.example .env -
Run the setup
pnpm ollieThis installs dependencies, starts the Docker PostgreSQL instance, pushes the schema, and seeds sample data.
Manual Setup
-
Clone the repository
git clone https://github.com/sadmann7/tablecn cd tablecn -
Install dependencies
pnpm install -
Set up environment variables
cp .env.example .envUpdate
.envwith your database credentials. -
Start the database and dev server
pnpm db:start # start the PostgreSQL container pnpm db:setup # push schema and seed data pnpm dev # start the Next.js dev server
Multiplayer
To run the multiplayer demo locally:
pnpm dev:multiplayer
This starts both the Next.js and PartyKit dev servers concurrently.
Deployment
Follow the deployment guides for Vercel, Netlify, and Docker.
The multiplayer demo uses PartyKit as a separate deployment:
pnpm deploy:multiplayer
Set NEXT_PUBLIC_PARTYKIT_HOST in your deployment environment variables after deploying.
Credits
- shadcn/ui - For the initial implementation of the data table.
