sadmann7/tablecn

Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.

TypeScript

6,307

1,274 commits

updated Oct 11, 2026

See the code

README

tablecn

Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.

tablecn

Documentation

See the documentation to get started.

Tech Stack

Features

  • Server-side pagination, sorting, and filtering
  • Customizable columns
  • Auto generated filters from column definitions
  • Notion/Airtable like advanced filtering
  • Linear like filter menu for command palette filtering
  • Action bar on row selection
  • Infinite scrolling with virtualization
  • Real-time collaboration

Running Locally

Quick Setup (with Docker)

  1. Clone the repository

    git clone https://github.com/sadmann7/tablecn
    cd tablecn
    
  2. Copy the environment variables

    cp .env.example .env
    
  3. Run the setup

    pnpm ollie
    

    This installs dependencies, starts the Docker PostgreSQL instance, pushes the schema, and seeds sample data.

Manual Setup

  1. Clone the repository

    git clone https://github.com/sadmann7/tablecn
    cd tablecn
    
  2. Install dependencies

    pnpm install
    
  3. Set up environment variables

    cp .env.example .env
    

    Update .env with your database credentials.

  4. 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 the Next.js dev server and the PartyServer worker (via wrangler dev) concurrently.

Deployment

Follow the deployment guides for Vercel, Netlify, and Docker.

The multiplayer demo runs on PartyServer as a Cloudflare Worker with Durable Objects, deployed separately to your Cloudflare account:

pnpm deploy:multiplayer

Set NEXT_PUBLIC_PARTYKIT_HOST in your deployment environment variables to the worker's host (for example tablecn.<your-subdomain>.workers.dev) after deploying.

Credits

  • shadcn/ui - For the initial implementation of the data table.
data-grid
data-table
multiplayer
nextjs
partykit
react
shadcn-table
shadcn-ui
table
tanstack-db
tanstack-table

sadmann7/tablecn

Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.

TypeScript

6,307

1,274 commits

updated Oct 11, 2026

See the code

README

tablecn

Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.

tablecn

Documentation

See the documentation to get started.

Tech Stack

Features

  • Server-side pagination, sorting, and filtering
  • Customizable columns
  • Auto generated filters from column definitions
  • Notion/Airtable like advanced filtering
  • Linear like filter menu for command palette filtering
  • Action bar on row selection
  • Infinite scrolling with virtualization
  • Real-time collaboration

Running Locally

Quick Setup (with Docker)

  1. Clone the repository

    git clone https://github.com/sadmann7/tablecn
    cd tablecn
    
  2. Copy the environment variables

    cp .env.example .env
    
  3. Run the setup

    pnpm ollie
    

    This installs dependencies, starts the Docker PostgreSQL instance, pushes the schema, and seeds sample data.

Manual Setup

  1. Clone the repository

    git clone https://github.com/sadmann7/tablecn
    cd tablecn
    
  2. Install dependencies

    pnpm install
    
  3. Set up environment variables

    cp .env.example .env
    

    Update .env with your database credentials.

  4. 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 the Next.js dev server and the PartyServer worker (via wrangler dev) concurrently.

Deployment

Follow the deployment guides for Vercel, Netlify, and Docker.

The multiplayer demo runs on PartyServer as a Cloudflare Worker with Durable Objects, deployed separately to your Cloudflare account:

pnpm deploy:multiplayer

Set NEXT_PUBLIC_PARTYKIT_HOST in your deployment environment variables to the worker's host (for example tablecn.<your-subdomain>.workers.dev) after deploying.

Credits

  • shadcn/ui - For the initial implementation of the data table.
data-grid
data-table
multiplayer
nextjs
partykit
react
shadcn-table
shadcn-ui
table
tanstack-db
tanstack-table

Significant stargazers

(top 24 of 41)

Sora Morimoto

959 followers · starred Aug 2026

Fernando Rojo

3,240 followers · starred Apr 2025

Simon He

1,045 followers · starred Jan 2025

Aiden Bai

5,830 followers · starred Jul 2023