Skip to content

Scheduling algorithm for planning tasks with day-based time quant. Suitable for Gantt-based projects.

License

Notifications You must be signed in to change notification settings

DimitryDushkin/project-tasks-scheduling-engine

Repository files navigation

Scheduling algorithm for planning tasks with day-based time quant

npm version

Publications:

Install

npm install project-tasks-scheduling-engine

Use

import { scheduleTasks } from "project-tasks-scheduling-engine";

const todayForTest = new Date("2020-01-01");

console.log(
  scheduleTasks(
    [
      {
        id: "0",
        title: "Make scheduling algorithm",
        start: todayForTest,
        end: new Date("2020-01-04"),
        duration: 4,
        position: 0,
        progress: 0.5,
        resourceId: "Alice",
        blockedBy: ["1"]
      },
      {
        id: "1",
        title: "Write tests for algorithms",
        start: todayForTest,
        end: new Date("2020-01-02"),
        duration: 2,
        position: 1,
        progress: 0.5,
        resourceId: "Bob"
      }
    ],
    todayForTest // optional
  )
);

// ->
[
  {
    id: "0",
    title: "Make scheduling algorithm",
    start: subDays(todayForTest, 2),
    end: new Date("2020-01-02"),
    duration: 4,
    position: 0,
    progress: 0.5,
    resourceId: "Alice",
    blockedBy: ["1"]
  },
  {
    id: "1",
    title: "Write tests for algorithms",
    start: addDays(todayForTest, 1),
    end: new Date("2020-01-03"),
    duration: 2,
    position: 1,
    progress: 0.5,
    resourceId: "Bob"
  }
];

About

Scheduling algorithm for planning tasks with day-based time quant. Suitable for Gantt-based projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published