Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.
See the documentation to get started.
- 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
- 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
-
Clone the repository
git clone https://github.com/sadmann7/tablecn cd tablecn -
Copy the environment variables
cp .env.example .env
-
Run the setup
pnpm ollie
This installs dependencies, starts the Docker PostgreSQL instance, pushes the schema, and seeds sample data.
-
Clone the repository
git clone https://github.com/sadmann7/tablecn cd tablecn -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env
Update
.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
To run the multiplayer demo locally:
pnpm dev:multiplayerThis starts both the Next.js and PartyKit dev servers concurrently.
Follow the deployment guides for Vercel, Netlify, and Docker.
The multiplayer demo uses PartyKit as a separate deployment:
pnpm deploy:multiplayerSet NEXT_PUBLIC_PARTYKIT_HOST in your deployment environment variables after deploying.
- shadcn/ui - For the initial implementation of the data table.
