A Clojure/ClojureScript library that automatically generates project schedules from task descriptions with constraints like resources, duration, and dependencies.
Milestones is a Clojure and ClojureScript library for automatic project scheduling. It generates optimal task schedules based on constraints like resources, duration, and dependencies, helping teams plan projects efficiently. The library validates task definitions for errors and can output schedules with start times for each task.
Project managers, developers, and teams using Clojure who need automated scheduling for software projects, product development, or any task-based workflow.
Developers choose Milestones for its simplicity in automating complex scheduling logic, its integration with Clojure ecosystems, and its ability to detect planning errors early, saving time over manual scheduling tools.
The Automagic Project Planner
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically computes optimal task start times based on customizable priority fields like :priority and :duration, reducing manual scheduling effort. Evidence: the schedule function accepts a vector of priority fields to order tasks.
Detects and reports specific planning errors such as circular dependencies, missing resources, and invalid predecessors, helping prevent costly mistakes. Evidence: Error map includes keys like :tasks-cycles and :tasks-w-no-resources with detailed descriptions.
Easily installed via Clojars and works natively with Clojure and ClojureScript, making it a natural fit for projects in these ecosystems. Evidence: Dependency management through Leiningen and availability on Clojars.
Includes a web interface that generates Gantt charts using Google Charts, providing a visual representation of schedules. Evidence: Web version uses Google Charts Lib to draw GANTT charts and handles time units.
Core library uses integer time units for scheduling, which may not directly support real-world calendars or complex time zones without additional work. Evidence: Tasks have :begin as integers, and web version relies on Google Charts for time resolution.
Exclusively designed for Clojure and ClojureScript, making it unsuitable for teams using other languages without significant integration hurdles. Evidence: Library is built in Clojure and requires Clojure dependencies, as stated in the installation.
Schedules are generated from a fixed set of tasks with no built-in support for dynamic adjustments or real-time updates, limiting agility. Evidence: Scheduling is done via a single function call with no mention of incremental or live updates.
milestones is an open-source alternative to the following products: