왜 아직도 AI를 사용해서 테이블 코드를 생성하고 있나요? 😤
Source: Dev.to
소개
매번 ChatGPT에 데이터 테이블을 만들어 달라고 요청할 때마다 200줄이 넘는 코드가 나왔습니다: 필터링, 정렬, 페이지네이션, 검색, 내보내기, 열 가시성, 날짜 선택기…
새 프로젝트? 같은 프롬프트. 같은 코드. 같은 디버깅.
나는 변하지 않는 작업에 토큰을 낭비하고 있다는 것을 깨달았습니다. AI는 창의적인 문제에 강하지만, 반복적인 보일러플레이트는 추상화해야 합니다.
그래서 TableCraft를 만들었습니다 – Drizzle ORM 기반 테이블 엔진으로, 데이터베이스 스키마만으로 모든 것을 자동 생성합니다.
예시
import { Hono } from 'hono';
import { createHonoApp } from '@tablecraft/adapter-hono';
import { defineTable } from '@tablecraft/engine';
import { db } from './db';
import * as schema from './db/schema';
const users = defineTable(schema.users)
.hide('password')
.search('email', 'name')
.sort('-createdAt');
const app = createHonoApp({
db,
schema,
configs: { users },
});
new Hono().route('/api/engine', app);
import { DataTable, createTableCraftAdapter } from '@tablecraft/table';
const adapter = createTableCraftAdapter({
baseUrl: '/api/engine',
table: 'users',
});
export function UsersPage() {
return ;
}
한 개의 컴포넌트. 열 정의가 필요 없습니다.
기능
- ✅ 스키마에서 자동으로 생성되는 열
- ✅ 서버‑사이드 필터링, 정렬, 페이지네이션
- ✅ 전역 검색
- ✅ 날짜 범위 선택기
- ✅ CSV/Excel 내보내기
- ✅ 열 가시성 및 크기 조절
- ✅ URL 상태 동기화 (공유 가능한 링크)
- ✅ 역할 기반 접근 제어
- ✅ 소프트 삭제 지원
- ✅ TypeScript 타입 생성
패키지
| Package | Description |
|---|---|
@tablecraft/engine | 백엔드 쿼리 엔진 |
@tablecraft/table | React 데이터 테이블 컴포넌트 |
@tablecraft/adapter-hono | Hono 어댑터 |
@tablecraft/adapter-express | Express 어댑터 |
@tablecraft/adapter-next | Next.js 어댑터 |
@tablecraft/adapter-elysia | Elysia (Bun) 어댑터 |
링크
- GitHub:
- Documentation: