<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nelson Li</title>
    <description>The latest articles on DEV Community by Nelson Li (@nelson_li_c5265341756c7ab).</description>
    <link>https://dev.to/nelson_li_c5265341756c7ab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3593659%2F9bbfa2d4-19a4-4eb6-9a69-77677cc31f1d.png</url>
      <title>DEV Community: Nelson Li</title>
      <link>https://dev.to/nelson_li_c5265341756c7ab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nelson_li_c5265341756c7ab"/>
    <language>en</language>
    <item>
      <title>🚀 iForgeAI — Build Software with an AI Digital Team</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Fri, 27 Mar 2026 09:12:09 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/forgeai-build-software-with-an-ai-digital-team-20pd</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/forgeai-build-software-with-an-ai-digital-team-20pd</guid>
      <description>&lt;p&gt;&lt;strong&gt;iForgeAI is an AI-driven digital team designed to help you build software end-to-end through structured workflows.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unlike traditional AI tools that act as isolated assistants, iForgeAI organizes AI agents into specialized roles — working together like a real software team. From requirement analysis and planning to development and execution, every step is connected through a clear workflow system.&lt;/p&gt;

&lt;p&gt;This means you’re not just prompting a model — you’re orchestrating a team.&lt;/p&gt;

&lt;p&gt;iForgeAI is built with a &lt;strong&gt;human-first philosophy&lt;/strong&gt;:&lt;br&gt;
AI doesn’t replace developers, it augments them. It helps you think better, plan clearer, and execute faster — while keeping you fully in control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 What makes iForgeAI different?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Agents as a Team&lt;/strong&gt; — Not standalone copilots, but role-based collaborators&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workflow-driven execution&lt;/strong&gt; — From idea → plan → build → deliver&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured software process&lt;/strong&gt; — Inspired by real-world engineering teams&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensible architecture&lt;/strong&gt; — Ready to integrate with your own tools and systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🔗 GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/nelson820125/iforgeai" rel="noopener noreferrer"&gt;https://github.com/nelson820125/iforgeai&lt;/a&gt;&lt;/p&gt;

</description>
      <category>agentskills</category>
      <category>ai</category>
      <category>productivity</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>From Task-Centric to Resource-Aware: Rebuilding a Gantt Chart for Real Projects</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Tue, 10 Feb 2026 03:13:23 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/from-task-centric-to-resource-aware-rebuilding-a-gantt-chart-for-real-projects-17lc</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/from-task-centric-to-resource-aware-rebuilding-a-gantt-chart-for-real-projects-17lc</guid>
      <description>&lt;p&gt;Most Gantt charts look correct.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tasks are scheduled.&lt;/li&gt;
&lt;li&gt;Dependencies are respected.&lt;/li&gt;
&lt;li&gt;Timelines appear clean.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And yet, projects still slip and teams still burn out.&lt;/p&gt;

&lt;p&gt;After building and integrating scheduling tools in real-world systems, I kept seeing the same pattern:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Gantt charts are very good at modeling tasks —&lt;br&gt;&lt;br&gt;
but surprisingly bad at modeling people.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This post shares why that happens, and how I approached rebuilding a Gantt chart to be &lt;strong&gt;resource-aware&lt;/strong&gt; in version 1.9.0.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1kwknz34t5c9qia450k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1kwknz34t5c9qia450k.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The real problem: tasks don’t consume time, people do
&lt;/h2&gt;

&lt;p&gt;Traditional Gantt charts answer one question extremely well:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When does this task happen?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But they struggle with a more important one:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Who is being used, how much, and at the same time?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In reality:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A single person often works on multiple tasks concurrently&lt;/li&gt;
&lt;li&gt;Each task consumes only part of their capacity&lt;/li&gt;
&lt;li&gt;Overload accumulates gradually, not discretely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When this information is hidden, schedules look correct right up until they fail.&lt;/p&gt;




&lt;h2&gt;
  
  
  Shifting perspective: introducing Resource View
&lt;/h2&gt;

&lt;p&gt;In v1.9.0, the chart supports two explicit modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Task View&lt;/strong&gt; — rows represent tasks (classic Gantt)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource View&lt;/strong&gt; — rows represent resources (people, machines, workstations)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nx"&gt;viewMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;task&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;resource&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  In Resource View:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Each row corresponds to a resource&lt;/li&gt;
&lt;li&gt;Multiple task bars may overlap in the same time window&lt;/li&gt;
&lt;li&gt;Layout is calculated dynamically rather than blindly stacked&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This shift doesn’t just change the UI — it changes how scheduling problems are understood.&lt;/p&gt;




&lt;h2&gt;
  
  
  Making resource allocation explicit
&lt;/h2&gt;

&lt;p&gt;To support resource-first planning, the Task model was extended with allocation data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nx"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;resourceId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;devA&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;percent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;resourceId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;devB&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;percent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Design decisions behind this model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allocation is explicit (10–100%)&lt;/li&gt;
&lt;li&gt;Multiple resources per task are supported&lt;/li&gt;
&lt;li&gt;Backward compatibility is preserved (defaults to 100%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once allocation is first-class data, the system can reason about capacity instead of assumptions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Visualizing load instead of hiding it
&lt;/h2&gt;

&lt;p&gt;Numbers alone don’t help if they’re buried in dialogs.&lt;/p&gt;

&lt;p&gt;So allocation is visualized directly on the timeline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task bar height scales with allocation percentage&lt;/li&gt;
&lt;li&gt;Percent labels are visible inline&lt;/li&gt;
&lt;li&gt;Tooltips expose detailed allocation context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes resource pressure visible without any clicks.&lt;/p&gt;




&lt;h2&gt;
  
  
  Detecting overload when it actually happens
&lt;/h2&gt;

&lt;p&gt;The most important feature added in v1.9.0 is overload detection.&lt;/p&gt;

&lt;p&gt;Within the same time window:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same resource&lt;/li&gt;
&lt;li&gt;Multiple tasks&lt;/li&gt;
&lt;li&gt;Accumulated allocation exceeds 100%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The chart highlights overload visually at the exact point it occurs.&lt;/p&gt;

&lt;p&gt;This is where a Gantt chart stops being a passive timeline and starts acting as a decision-support tool.&lt;/p&gt;




&lt;h2&gt;
  
  
  Interaction parity across views
&lt;/h2&gt;

&lt;p&gt;Resource View is not a read-only visualization.&lt;/p&gt;

&lt;p&gt;All core interactions remain available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dragging tasks&lt;/li&gt;
&lt;li&gt;Resizing timelines&lt;/li&gt;
&lt;li&gt;Time-based adjustments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a view affects planning decisions, it should support planning actions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Architecture and performance considerations
&lt;/h2&gt;

&lt;p&gt;To keep this scalable and maintainable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resource layout logic was extracted into independent composables&lt;/li&gt;
&lt;li&gt;Rendering optimizations were expanded using memoization&lt;/li&gt;
&lt;li&gt;Scroll debouncing was reintroduced to balance responsiveness and performance&lt;/li&gt;
&lt;li&gt;Theme scoping was fixed at the component level to avoid global side effects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to add capability without adding architectural debt.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing thoughts
&lt;/h2&gt;

&lt;p&gt;Good scheduling tools shouldn’t just tell us when work happens.&lt;/p&gt;

&lt;p&gt;They should help answer a harder question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is this plan actually feasible for the people involved?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Making resource usage visible changes how teams reason about schedules.&lt;br&gt;
v1.9.0 is a step toward more honest planning tools.&lt;/p&gt;

&lt;p&gt;If you’re building planning, scheduling, or resource-heavy systems,&lt;br&gt;
I’d love to hear how you approach resource modeling in practice.&lt;/p&gt;


&lt;h2&gt;
  
  
  Demo Video
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/wjekfd_Yq7g"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>vue</category>
    </item>
    <item>
      <title>Jordium GanttChart v1.8.0</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Sat, 17 Jan 2026 13:34:22 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/jordium-ganttchart-v180-4lg9</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/jordium-ganttchart-v180-4lg9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hwrl1vvzzfnvdr4tnsa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hwrl1vvzzfnvdr4tnsa.png" alt="Jordium GanttChart"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 YouTube&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/0gN2HEU53uI"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>npm</category>
    </item>
    <item>
      <title>Jordium GanttChart v1.7.1: Making a Gantt Component Truly Controllable in Vue 3</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Tue, 13 Jan 2026 03:40:22 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/jordium-ganttchart-v171-making-a-gantt-component-truly-controllable-in-vue-3-d0g</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/jordium-ganttchart-v171-making-a-gantt-component-truly-controllable-in-vue-3-d0g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Jordium GanttChart&lt;/strong&gt; is a Vue 3–based Gantt chart component designed for project management, APS scheduling, and complex admin systems.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;v1.7.1&lt;/strong&gt;, the focus shifts from “feature completeness” to something more important in real systems:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do you design a complex UI component that is fully controllable by the host application?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Changed in v1.7.1
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Core Gantt behaviors are now externally controllable&lt;/li&gt;
&lt;li&gt;Clear separation between state (Props) and actions (Expose API)&lt;/li&gt;
&lt;li&gt;Context menus refactored into declarative Vue components&lt;/li&gt;
&lt;li&gt;Internal structure simplified for long-term maintainability&lt;/li&gt;
&lt;li&gt;Dependency upgrades and security fixes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. State-Driven Control via Props
&lt;/h3&gt;

&lt;p&gt;The GanttChart component now supports the following props:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;locale
theme
timeScale
fullscreen
expandAll
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This allows the host application to manage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Global language switching&lt;/li&gt;
&lt;li&gt;Light / dark theme control&lt;/li&gt;
&lt;li&gt;Time scale changes (hour / day / month / year)&lt;/li&gt;
&lt;li&gt;Fullscreen toggling&lt;/li&gt;
&lt;li&gt;Expand / collapse of task hierarchies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 The Gantt chart no longer owns these states internally—it reacts to the system state instead.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Action-Driven Control via defineExpose
&lt;/h3&gt;

&lt;p&gt;For interaction-heavy scenarios, v1.7.1 exposes an imperative API using defineExpose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internationalization&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;setLocale()
currentLocale
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Theme &amp;amp; Time Scale&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;setTheme()
currentTheme

setTimeScale()
zoomIn()
zoomOut()
currentScale
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Fullscreen Control&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;toggleFullscreen()
enterFullscreen()
exitFullscreen()
isFullscreen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Expand / Collapse Tasks&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;toggleExpandAll()
expandAll()
collapseAll()
isExpandAll
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Scroll &amp;amp; Focus Helpers&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;scrollToToday()
scrollToTask(taskId)
scrollToDate(date)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Design principle:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Props control state.&lt;br&gt;
Exposed methods control behavior.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This keeps APIs predictable and composable.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Declarative Context Menus
&lt;/h3&gt;

&lt;p&gt;Task list and task bar context menus are now implemented as Vue components instead of configuration objects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TaskListContextMenu&lt;/li&gt;
&lt;li&gt;TaskBarContextMenu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full slot support for menu customization&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Simple enable / disable flags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;enable-task-list-context-menu&lt;/li&gt;
&lt;li&gt;enable-task-bar-context-menu&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;This improves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Readability&lt;/li&gt;
&lt;li&gt;Reusability&lt;/li&gt;
&lt;li&gt;Integration with business logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Internal Refactoring for Maintainability
&lt;/h3&gt;

&lt;p&gt;The TaskList module was split into smaller subcomponents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced file size&lt;/li&gt;
&lt;li&gt;Clearer responsibilities&lt;/li&gt;
&lt;li&gt;Better foundation for future features like virtual scrolling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These changes don’t alter behavior, but they matter for long-term evolution.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Dependency &amp;amp; Security Updates
&lt;/h3&gt;

&lt;p&gt;Upgraded and patched:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;happy-dom&lt;/li&gt;
&lt;li&gt;jspdf&lt;/li&gt;
&lt;li&gt;vitest&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why This Release Matters
&lt;/h2&gt;

&lt;p&gt;In real-world enterprise systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UI state is often managed globally&lt;/li&gt;
&lt;li&gt;Complex components must be orchestrated, not isolated&lt;/li&gt;
&lt;li&gt;Declarative + imperative APIs need a clear boundary&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Jordium GanttChart v1.7.1&lt;/strong&gt; formalizes that boundary.&lt;/p&gt;




&lt;h2&gt;
  
  
  Project Links
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub&lt;/strong&gt;:&lt;br&gt;
&lt;a href="https://github.com/nelson820125/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://github.com/nelson820125/jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Demo&lt;/strong&gt;:&lt;br&gt;
&lt;a href="https://nelson820125.github.io/jordium-gantt-vue3/" rel="noopener noreferrer"&gt;https://nelson820125.github.io/jordium-gantt-vue3/&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Video
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;👉 YouTube&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/KwmK7LpCXmk"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This release marks a transition from a “feature-rich widget” to a &lt;strong&gt;system-ready component&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you’re building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project management tools&lt;/li&gt;
&lt;li&gt;Manufacturing or APS scheduling systems&lt;/li&gt;
&lt;li&gt;Complex Vue 3 dashboards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d love to hear how you’re designing controllable UI components in your own projects.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>vue</category>
      <category>gantt</category>
    </item>
    <item>
      <title>Jordium GanttChart Vue3 v1.6.0: Declarative Task Table, Slots, and Better Interactions</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Mon, 15 Dec 2025 11:29:33 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/jordium-ganttchart-vue3-v160-declarative-task-table-slots-and-better-interactions-2216</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/jordium-ganttchart-vue3-v160-declarative-task-table-slots-and-better-interactions-2216</guid>
      <description>&lt;p&gt;When building real-world scheduling or project management systems, the hardest part of a Gantt chart is often &lt;strong&gt;not the timeline—but the task table and interactions around it&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Jordium GanttChart Vue3 v1.6.0&lt;/strong&gt; focuses on improving extensibility, customization, and usability, while keeping backward compatibility for existing projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔑 Key Highlight: Declarative Task Table Columns
&lt;/h2&gt;

&lt;p&gt;Version 1.6.0 introduces &lt;strong&gt;declarative Task Table column definitions&lt;/strong&gt; via the new TaskListColumn component.&lt;/p&gt;

&lt;p&gt;Why this matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clearer and more readable column structure&lt;/li&gt;
&lt;li&gt;Aligns with Vue’s component-based mental model&lt;/li&gt;
&lt;li&gt;Better support for complex columns and business logic&lt;/li&gt;
&lt;li&gt;Easier long-term maintenance and extension&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Task Table is no longer just configuration-driven—it becomes &lt;strong&gt;composable UI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Task Table with Full Slot Support
&lt;/h2&gt;

&lt;p&gt;To complement declarative columns, the Task Table now supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;#header slot for custom headers&lt;/li&gt;
&lt;li&gt;#default slot for custom cell rendering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows you to embed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Status indicators and icons&lt;/li&gt;
&lt;li&gt;Progress bars and warnings&lt;/li&gt;
&lt;li&gt;Action buttons and menus&lt;/li&gt;
&lt;li&gt;Any custom business component&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🖱️ Improved Task Interactions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Drag &amp;amp; Drop in the Task List&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reorder tasks directly in the list&lt;/li&gt;
&lt;li&gt;Adjust hierarchy and sequence&lt;/li&gt;
&lt;li&gt;Ideal for frequently changing schedules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Visual Dependency Lines on the Timeline&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add and remove task dependencies visually&lt;/li&gt;
&lt;li&gt;Two-way sync between UI and data&lt;/li&gt;
&lt;li&gt;More intuitive than configuration-only approaches&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🌐 uni-app Compatibility
&lt;/h2&gt;

&lt;p&gt;v1.6.0 improves compatibility with uni-app, making it easier to reuse the same Gantt chart across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web / H5&lt;/li&gt;
&lt;li&gt;Mini Programs&lt;/li&gt;
&lt;li&gt;App environments&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎨 Display &amp;amp; Styling Enhancements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Toggle task icon visibility via TaskListConfig&lt;/li&gt;
&lt;li&gt;Row-level styling support:

&lt;ul&gt;
&lt;li&gt;task-list-row-class-name&lt;/li&gt;
&lt;li&gt;task-list-row-style&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Useful for highlighting critical or delayed tasks&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔁 Backward Compatibility
&lt;/h2&gt;

&lt;p&gt;To ensure smooth upgrades:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;task-list-column-render-mode allows switching between

&lt;ul&gt;
&lt;li&gt;legacy config-based columns&lt;/li&gt;
&lt;li&gt;new declarative columns&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;No forced migration required.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎥 Video Demo
&lt;/h2&gt;

&lt;p&gt;A short demo video showing declarative columns, slots, drag &amp;amp; drop, and dependency lines:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 YouTube&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/eibeRnJiHiQ"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/nelson820125/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://github.com/nelson820125/jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docs &amp;amp; Live Demo:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://nelson820125.github.io/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://nelson820125.github.io/jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📝 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Jordium GanttChart Vue3 is designed not just to display timelines, but to serve as a &lt;strong&gt;foundation for real-world planning and scheduling systems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you’re building project management tools, APS systems, or multi-platform scheduling apps with Vue 3, v1.6.0 brings a more scalable and customizable approach.&lt;/p&gt;

&lt;p&gt;Feedback and contributions are welcome 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>vue</category>
    </item>
    <item>
      <title>🚀 Jordium Gantt Vue3 v1.4.3 — High-Performance Gantt Charts for Large Datasets</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Sun, 30 Nov 2025 09:00:36 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/jordium-gantt-vue3-v143-high-performance-gantt-charts-for-large-datasets-3ih3</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/jordium-gantt-vue3-v143-high-performance-gantt-charts-for-large-datasets-3ih3</guid>
      <description>&lt;p&gt;I just released &lt;strong&gt;Jordium Gantt Vue3 v1.4.3&lt;/strong&gt;, focusing on one key thing: performance at scale.&lt;/p&gt;

&lt;p&gt;Gantt charts are widely used in project management and production scheduling, but most libraries struggle once you reach thousands of tasks. This release addresses those bottlenecks with virtualized scrolling and &lt;strong&gt;virtualized rendering, making even 10,000+ tasks scroll and render smoothly&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Video
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;YouTube&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/_wktXXZ1vio"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 Key Highlights in v1.4.3
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Virtualized Scrolling&lt;/strong&gt;: Only visible tasks are rendered in TaskList &amp;amp; Timeline, dramatically improving scroll performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Virtualized Rendering&lt;/strong&gt;: Reduces DOM overhead by rendering elements on demand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Optimized Large-Data Rendering&lt;/strong&gt;: Handles industrial-scale datasets in APS/MES, project planning, and resource management systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;New Large-Data Demo&lt;/strong&gt;: Test and see performance improvements in real-world scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Updates&lt;/strong&gt;: jsPDF vulnerabilities fixed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  💡 Why this matters
&lt;/h3&gt;

&lt;p&gt;If you’ve ever tried building a Gantt chart in the browser and watched it choke on large datasets, this release is a game-changer.&lt;/p&gt;

&lt;p&gt;It’s &lt;strong&gt;open-source, lightweight&lt;/strong&gt;, and designed for developers who need &lt;strong&gt;scalable, high-performance Gantt charts&lt;/strong&gt; in Vue.js projects.&lt;/p&gt;

&lt;p&gt;Check it out, test with your datasets, and feedback is always welcome!&lt;/p&gt;




&lt;h3&gt;
  
  
  Repo
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Github&lt;/strong&gt;: &lt;a href="https://github.com/nelson820125/jordium-gantt-vue3" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Demo&lt;/strong&gt;: &lt;a href="https://nelson820125.github.io/jordium-gantt-vue3" rel="noopener noreferrer"&gt;demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vue</category>
      <category>npm</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Jordium.Snowflake.NET — A Fast and Lightweight Distributed ID Generator for .NET</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Sun, 16 Nov 2025 07:24:10 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/jordiumsnowflakenet-a-fast-and-lightweight-distributed-id-generator-for-net-7c4</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/jordiumsnowflakenet-a-fast-and-lightweight-distributed-id-generator-for-net-7c4</guid>
      <description>&lt;p&gt;If you're building distributed systems in .NET, generating unique IDs efficiently can become a real challenge. GUIDs are too long and not index-friendly, database auto-increments don’t scale, and external ID services add extra overhead.&lt;/p&gt;

&lt;p&gt;So I built Jordium.Snowflake.NET — a fast, configurable, and dependency-free ID generator based on the Snowflake algorithm, designed specifically for .NET developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Why Use It?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;High throughput — capable of generating millions of IDs per second&lt;/p&gt;

&lt;p&gt;Configurable — customize data center ID, worker ID, and sequence bits&lt;/p&gt;

&lt;p&gt;Zero dependencies — no Redis, no DB, no external service needed&lt;/p&gt;

&lt;p&gt;Production-ready — ideal for microservices and distributed systems&lt;/p&gt;

&lt;p&gt;MIT licensed — open, simple, easy to adopt&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧩 Use Cases&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Primary keys in distributed databases&lt;/p&gt;

&lt;p&gt;Order numbers and payment transaction IDs&lt;/p&gt;

&lt;p&gt;Logging, tracing, and event correlation&lt;/p&gt;

&lt;p&gt;Any system requiring high-volume unique identifiers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ Quick Start&lt;/strong&gt;&lt;br&gt;
using Jordium.Snowflake;&lt;/p&gt;

&lt;p&gt;var generator = new SnowflakeIdGenerator(1, 1);&lt;br&gt;
long id = generator.NextId();&lt;/p&gt;

&lt;p&gt;Console.WriteLine(id);&lt;/p&gt;

&lt;p&gt;That’s it — globally unique, sortable 64-bit IDs with almost zero overhead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔗 GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Source code, documentation, and examples:&lt;br&gt;
&lt;a href="https://github.com/nelson820125/Jordium.Snowflake.NET" rel="noopener noreferrer"&gt;https://github.com/nelson820125/Jordium.Snowflake.NET&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎥 Video Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To help you quickly understand how Jordium.Snowflake.NET works in real-world usage, here’s a short demonstration video.&lt;/p&gt;

&lt;p&gt;In this demo, you’ll see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;How to initialize the ID generator&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How IDs are created in real time&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How the library behaves under high-concurrency load&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example usage inside a .NET service&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're viewing this on a platform that supports embedded video, the player will appear below. Otherwise, you can open the link manually.&lt;/p&gt;

&lt;p&gt;👉 Video Link: （&lt;a href="https://youtu.be/KaXEnIPiuXk%EF%BC%89" rel="noopener noreferrer"&gt;https://youtu.be/KaXEnIPiuXk）&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, a ⭐️ would mean a lot!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>dotnet</category>
      <category>csharp</category>
      <category>nuget</category>
    </item>
    <item>
      <title>Jordium Gantt Vue3 Update — Canvas Optimized, Dragging Reimagined</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Thu, 13 Nov 2025 07:38:31 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/jordium-gantt-vue3-update-canvas-optimized-dragging-reimagined-232l</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/jordium-gantt-vue3-update-canvas-optimized-dragging-reimagined-232l</guid>
      <description>&lt;p&gt;Thanks for checking out &lt;strong&gt;Jordium Gantt Vue3 v1.4.2-patch.3&lt;/strong&gt;!&lt;br&gt;
This update focuses on major performance optimizations and smoother interactions, especially for large-scale canvas rendering.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✨ Highlights:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Added vertical &amp;amp; horizontal view dragging&lt;/p&gt;

&lt;p&gt;Improved canvas rendering performance&lt;/p&gt;

&lt;p&gt;Prevented redraw during drag&lt;/p&gt;

&lt;p&gt;Replaced DOM/SVG implementations with pure canvas&lt;/p&gt;

&lt;p&gt;Added path caching + debounce + shallowRef optimization&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎥 Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/AGddCt73tlk" rel="noopener noreferrer"&gt;YouTube Video&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback and suggestions are always welcome! 🚀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌐 Project Links&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/nelson820125/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://github.com/nelson820125/jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NPM:&lt;/strong&gt; &lt;a href="https://www.npmjs.com/package/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vue</category>
      <category>programming</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Coming Soon: Jordium Gantt Vue3 v1.4.2 – Modern Gantt Chart Component for Vue 3</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Fri, 07 Nov 2025 01:23:33 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/coming-soon-jordium-gantt-vue3-v142-modern-gantt-chart-component-for-vue-3-1kk0</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/coming-soon-jordium-gantt-vue3-v142-modern-gantt-chart-component-for-vue-3-1kk0</guid>
      <description>&lt;p&gt;I’ve been working on &lt;strong&gt;Jordium Gantt for Vue 3&lt;/strong&gt;, a high-performance Gantt chart component for project management and task scheduling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;v1.4.2 focuses on:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smarter timeline &lt;strong&gt;range optimization&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Draggable &amp;amp; resizable TaskBars that &lt;strong&gt;auto-expand the timeline&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;TaskBar avatars &amp;amp; focus &lt;strong&gt;highlight for better task visibility&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built with &lt;strong&gt;Vue 3 + TypeScript&lt;/strong&gt;, it’s lightweight, customizable, and perfect for modern project planning apps.&lt;/p&gt;

&lt;p&gt;Stay tuned — the &lt;strong&gt;Product Hunt launch&lt;/strong&gt; is happening soon!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22nm8qaytfci2my8oner.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22nm8qaytfci2my8oner.png" alt="Dark Theme" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo: &lt;a href="https://nelson820125.github.io/jordium-gantt-vue3/" rel="noopener noreferrer"&gt;https://nelson820125.github.io/jordium-gantt-vue3/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vue</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🚀 Built a Customizable Gantt Chart Component for Vue 3 — Introducing Jordium GanttChart v1.4.2</title>
      <dc:creator>Nelson Li</dc:creator>
      <pubDate>Mon, 03 Nov 2025 06:27:13 +0000</pubDate>
      <link>https://dev.to/nelson_li_c5265341756c7ab/built-a-customizable-gantt-chart-component-for-vue-3-introducing-jordium-ganttchart-v142-5e19</link>
      <guid>https://dev.to/nelson_li_c5265341756c7ab/built-a-customizable-gantt-chart-component-for-vue-3-introducing-jordium-ganttchart-v142-5e19</guid>
      <description>&lt;p&gt;Hey everyone 👋&lt;/p&gt;

&lt;p&gt;I’m excited to share something I’ve been building over the past few months — a modern and customizable Gantt Chart component for Vue 3, called Jordium GanttChart&lt;br&gt;
.&lt;/p&gt;

&lt;p&gt;This project started from a simple need:&lt;/p&gt;

&lt;p&gt;I couldn’t find a Vue 3 Gantt component that’s lightweight, visually modern, and fully customizable for project management use cases.&lt;/p&gt;

&lt;p&gt;So, I decided to build one myself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy344ffxtjwqyyil4twov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy344ffxtjwqyyil4twov.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2gpgfy330spngwn9i1k2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2gpgfy330spngwn9i1k2.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;🎯 What is Jordium GanttChart?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jordium GanttChart is a Vue 3 component library designed for project scheduling, task management, and visual planning — similar to tools like ClickUp, Clockify, or MS Project, but fully open-source and easy to integrate into your own app.&lt;/p&gt;

&lt;p&gt;👉 Demo: &lt;a href="https://nelson820125.github.io/jordium-gantt-vue3" rel="noopener noreferrer"&gt;Live Example&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 GitHub: &lt;a href="https://github.com/nelson820125/jordium-gantt-vue3" rel="noopener noreferrer"&gt;jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 NPM: npm install jordium-gantt-vue3&lt;/p&gt;

&lt;p&gt;✨ Key Features (v1.4.2)&lt;/p&gt;

&lt;p&gt;🧩 Vue 3 + Composition API support&lt;/p&gt;

&lt;p&gt;🎨 Flexible layout (pixel or percentage width)&lt;/p&gt;

&lt;p&gt;🖱️ Drag, resize, and adjust TaskBars &amp;amp; Milestones&lt;/p&gt;

&lt;p&gt;🌈 Configurable TaskBar focus effect — long-press to highlight and focus specific tasks&lt;/p&gt;

&lt;p&gt;⚙️ Customizable timeline range and auto-fit&lt;/p&gt;

&lt;p&gt;🧠 Fully typed with TypeScript&lt;/p&gt;

&lt;p&gt;📦 Easy integration with Element Plus&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;💡 Why I Built It&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When working on internal project scheduling tools, I realized:&lt;/p&gt;

&lt;p&gt;Most open-source Gantt libraries are outdated or based on Vue 2&lt;/p&gt;

&lt;p&gt;Many are too heavy, with limited custom styling or API flexibility&lt;/p&gt;

&lt;p&gt;I wanted something modular, intuitive, and developer-friendly&lt;/p&gt;

&lt;p&gt;So I decided to make one that developers could actually enjoy using — and extend it freely for different kinds of project planning systems.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;🛠️ Quick Start&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install via npm:

npm install jordium-gantt-vue3


Import it in your Vue 3 project:

import { JordiumGantt } from 'jordium-gantt-vue3';
import 'jordium-gantt-vue3/style.css';


Then use it directly in your template:

&amp;lt;template&amp;gt;
  &amp;lt;JordiumGantt :tasks="tasks" /&amp;gt;
&amp;lt;/template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;🌞 New in v1.4.2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This release adds several improvements to usability and flexibility:&lt;/p&gt;

&lt;p&gt;Added TaskBar focus highlight (long-press to focus)&lt;/p&gt;

&lt;p&gt;Configurable TaskBar info display&lt;/p&gt;

&lt;p&gt;Smarter timeline range auto-calculation&lt;/p&gt;

&lt;p&gt;Improved drag/resize precision&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;🧭 Roadmap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ Milestone management&lt;/p&gt;

&lt;p&gt;✅ Drag &amp;amp; resize&lt;/p&gt;

&lt;p&gt;🔜 Dependency lines (Task relations)&lt;/p&gt;

&lt;p&gt;🔜 Export &amp;amp; snapshot support&lt;/p&gt;

&lt;p&gt;🔜 Performance optimization for large data sets&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;❤️ Join the Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you like this idea or find it useful:&lt;/p&gt;

&lt;p&gt;⭐ Star the repo on GitHub&lt;/p&gt;

&lt;p&gt;🧩 Try it in your own Vue 3 project&lt;/p&gt;

&lt;p&gt;💬 Share feedback or ideas — contributions are always welcome!&lt;/p&gt;

&lt;p&gt;📍 GitHub: &lt;a href="https://github.com/nelson820125/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://github.com/nelson820125/jordium-gantt-vue3&lt;/a&gt;&lt;br&gt;
📍 Live Demo: &lt;a href="https://nelson820125.github.io/jordium-gantt-vue3" rel="noopener noreferrer"&gt;https://nelson820125.github.io/jordium-gantt-vue3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading! I hope this project helps others building modern project management or scheduling tools with Vue 3.&lt;br&gt;
If you build something cool with it — I’d love to see it!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>vue</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
