It's already waiting for you on https://app.ganttlab.org/. This repository hosts the Legacy version, head to https://gitlab.com/ganttlab/ganttlab to know more about the new GanttLab.
Docker user? A shiny
ganttlab/ganttlab
image is already out there!Follow @GanttLab on Twitter for the latest announcements 📰
The easy to use, fully functional Gantt chart for GitLab and GitHub.
It is already running live for you at https://live.ganttlab.org.
- GitLab user? Type-in your GitLab instance URL (works with https://gitlab.com), your GitLab account Private Token or a Personal Access Token and enjoy!
- working on GitHub? Provide one of your GitHub user Personal access tokens to get the ride!
Safe to run: the application do NOT store any data, and runs on YOUR browser only, using your own network as if you were running all the requests to your GitLab instance or to GitHub right from your local computer. Unsure of it? Have a look at the source code.
PRO tip: if you are running an unsecured HTTP instance of GitLab, head to http://live.ganttlab.org to avoid your browser blocking the request coming from an HTTPS secured site.
GanttLab Live is a frontend only application. It leverages GitLab API or GitHub API to read your issues, before simply displaying a Gantt chart with it. The automatically generated Gantt chart will display each of your issues within a "date area": from a start date defaulting to the issue creation date, to a due date defaulting to the day after that.
To give you maximum control over your issues and tasks management practices in the gantt chart, you can override those default values right from your issue description with two simple ISO 8601 YYYY-MM-DD
calendar dates:
GanttStart: 2016-09-26
GanttDue: 2016-10-25
PRO tip: the ISO 8601 format also covers times and timezones, and GanttLab Live will use the time information if provided (default to 12:00:00AM midnight UTC). Feel free to add down to the second based GanttStart
and GanttDue
like 2018-06-20T14:00:00+02:00
for UTC+2, 2018-05-15T04:00:00-04:00
in UTC-4 or 2018-05-15T04:00:00Z
for UTC/GMT.
The values of GanttStart
and GanttDue
, each on one dedicated line of your issue description (whether on top or bottom of the description), are considered as the single source of truth if present to generate the gantt chart.
As mentioned, for a better user experience, a default Gantt chart will be created without you having to update all of your issues description to set those values: for each issue the default start date is read from the issue creation date. As with GitLab you are not forced to fill in a due date for your issues, and with GitHub you do not even have a due date on issues, here is the logic in place about the default due date:
- if set, the
GanttDue
value is used first, - (GitLab only) if this single source of truth is not set but you've set a due date on the issue itself, the issue due date will be used,
- (GitLab only) if your issue has no due date but is attached to a milestone that has a due date, the milestone due date is used,
- ultimately, the GanttLab Live default due date will be set to the day after the issue start date, faking all your issues having to be done in one day.
Only your opened issues are displayed. If an issue due date is past, the issue is marked late and colored red. If not, the issue is shown green as being on time.
Whether you have Docker installed on your local computer (download and install it), you can run GanttLab Live right now from the official Docker image with this one liner in your console:
docker run -p 8181:80 ganttlab/ganttlab-live
Enjoy it on http://localhost:8181
If you want to configure GanttLab Live more before running it, follow those four easy steps:
git clone https://gitlab.com/ganttlab/ganttlab-live
will clone this repositorycd ganttlab-live && ./bashInDevEnv.sh
to connect to the development environment./bootstrapIt.sh
within the dev environment. You will be prompted for your GitLab instance URL and your Private Token (Wanna try with your GitLab.com account? Your account Private Token is here, or generate a Personal Access Token out there!)npm run dev
: run GanttLab Live right now, from the dev environment
Enjoy it on http://localhost:8080/! You may also read about the long version through configuring and installing.
The ./bootstrapIt.sh
script may already have configured the values prompted for you. See the config folder *.example.js
files to persist your configuration for:
Key | Description |
---|---|
GITLAB_URL |
your GitLab instance URL (defaults to https://gitlab.com) |
GITLAB_TOKEN |
your GitLab user Private Token or Personal Access Token to use to connect to the |
MOMENTJS_LOCALE |
Moment.js locale configuration to display dates in your usual language |
GANTT_START_STRING |
defaults to GanttStart: , the string to search on you issue description as the gantt start date |
GANTT_DUE_STRING |
defaults to GanttDue: , the string to search on you issue description as the gantt due date |
Even if GanttLab Live is a throw-away application storing no data on your hard drive, you can install it on a server to persist the gantt graph display service for your users.
Initial scaffolding was done with vue-cli webpack template. For detailed explanation on how things work, checkout the guide and docs for vue-loader. Simply said, this makes GanttLab Live insanely powerful and ready to be run on production servers, or launched from your local computer within minutes:
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
Now simply statically host the result of the build, which is in the dist
folder.
Without any obligation nor due date, one could expect to be done this non-exhaustive list of improvements grouped on issues labeled Feature
.
You can read on the Changelog too, for historical and upcoming new features, changes, deprecations, removed features, bug and security fixes.
Your are free to open an issue right in this GitLab repository whether you should be facing a problem or a bug. Please advise this is not a commercial product, so one could experience random response time. Positive, friendly and productive conversations are expected on the issues. Screenshots and steps to reproduce are highly appreciated. Chances are you may get your issue solved if you follow these simple guidelines.
GanttLab Live is an open source project: your contribution is very welcomed! Have a look at CONTRIBUTING.md for an insight into efficient ways to contribute to GanttLab Live.
- Florian Roscheck for his awesome work on https://github.com/flrs/visavail
- D3.js https://d3js.org/
- Moment.js http://momentjs.com/
- Evan You for being so clever on developing Vue.js and vue-cli
- The GitLab team for this life changing product called GitLab
- GitHub, Inc. for this incredibly useful and so widely used platform
The GanttLab Live application is distributed under the MIT License (MIT). Please have a look at the dependencies licenses if you plan on using, building, or distributing this application.