Skip to content

tarantua/gantt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

📊 D3 Gantt Ultra-Light

A high-performance, ultra-lightweight, and framework-agnostic Gantt chart library built on D3.js core modules. This repository contains both the core library and a functional demo showcasing its capabilities.


🏗️ Project Structure

  • lib/: The core Gantt Chart library.
  • demo/: A Vite-powered demo application showcasing the library with a "Zoo-themed" dataset.

✨ Key Features

  • 🏎️ Virtualized Rendering: Handles 50,000+ tasks at 60fps by rendering only visible elements.
  • 📉 Ultra-Lightweight: Minimal bundle size, depending only on essential D3 sub-modules.
  • 🎨 Premium Aesthetics: Modern design with rounded bars, drop-shadows, and vertical monthly grids.
  • 📅 Smart Timeline: Month-boundary snapping and high-visibility "Today" indicator.
  • 🛡️ Industrial Grade: 100% TypeScript with strict validation and defensive error handling.
  • 🧩 Framework Agnostic: Native ES modules. Integrates seamlessly with React, Vue, Svelte, and Vanilla JS.

🚀 Getting Started

Running the Demo

  1. Navigate to the demo directory:
    cd demo
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev

Using the Library

The library is located in the lib directory. To explore its API and integration patterns, refer to the Library README.

Quick Integration (Vanilla JS)

import { GanttChart } from './lib/src/GanttChart';

const chart = new GanttChart({
  container: 'gantt-container',
  rowHeight: 50,
  barHeight: 32,
  todayDate: new Date()
});

chart.setData([
  { id: '1', name: 'Task A', start: new Date(), end: new Date(Date.now() + 86400000 * 5) }
]);

🛠️ Development

Library Build

To work on the library:

  1. Navigate to lib/:
    cd lib
  2. Install dependencies:
    npm install

📄 License

MIT © 2024

About

A lightweight, high-performance, framework-agnostic Gantt chart library built with D3 and TypeScript — optimized for speed, minimal bundle size, and production-scale datasets.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors