Skip to content

A clearer way to track issues, organize project work and keep teams moving. Self-hosted, with the source and releases on GitHub.

Apache License 2.0 · Windows, Linux and macOS

Live preview with demo data. Switch views or open an issue.

ProjectsJTRAC

JTRAC PlatformDemo data

Illustrative issues for this preview, not issues from the repository.

Demo issues
KeyTitleStatusPriorityAssigneeDueUpdated
JTRAC-101In ProgressHighMaya KapoorNov 1224 min ago
JTRAC-102In ReviewMediumArjun RaoNov 83 hours ago
JTRAC-103To DoLowUnassignedyesterday
JTRAC-104To DoMediumJo LinNov 45 hours ago
JTRAC-105In ProgressUrgentMaya KapoorNov 1040 min ago
JTRAC-106DoneLowArjun RaoOct 302 days ago

Features

Workflows, custom fields and KEY-42 issues from the classic tracker, rebuilt with a fast interface and rules the server actually enforces.

  • Issues people can name

    Readable keys like WEB-42, Markdown descriptions, sub-tasks, links and per-project custom fields.

    Optimistic locking · append-only history

  • Workflows that hold

    Design statuses and transitions in a visual editor, decide which roles may use each one, and set field rules per status.

    Enforced on the server

  • Find it, see it

    Boards, filtered lists and timelines, saved views and global search across issues, projects and people.

    Dashboards computed per viewer

  • Built to connect

    Comments with @mentions, attachments and notifications, plus a REST API with personal tokens and signed webhooks.

    OpenAPI 3 · HMAC-SHA256 · CSV

Then and now

The original JTrac site listed what made it worth installing. Here is each of those features in JTRAC 3, including the ones that work differently or are not there yet.

Available13Changed3Not yet2

Features of the original JTrac and their status in JTRAC 3
Classic JTracJTRAC 3How it works now
Extremely easy to installAvailableOne package per OS with Java and PostgreSQL bundled, plus a guided setup wizard.
Unlimited project spacesAvailableOrganizations, each with its own projects and project keys, like WEB-42.
Custom fields and drop-downs per projectAvailableText, number, date, select, multi-select, user and more, with validation.
Customizable workflow per projectAvailableA visual workflow editor with versioned workflows and role-based transitions.
Field-level permissionsAvailableHidden, read-only, optional or required per status and role, enforced by the server.
Detailed history viewAvailableAttributed, append-only history of every change.
E-mail notificationsAvailableIn-app and e-mail, re-checked per recipient for permissions and field visibility.
File attachmentsAvailableStreamed to disk with SHA-256 and served only after an authorization check.
Full text searchAvailablePostgreSQL full-text search across issues, plus global search for projects and people.
Filter searches by custom fieldsAvailableSearch conditions on custom fields, and saved views shared with the team.
Dashboard of statisticsAvailableDashboards with breakdowns, counts, trends and milestone progress, computed per viewer.
Export to ExcelChangedCSV import and export of issues, which spreadsheets open directly.
Cross-reference items (duplicate of, depends on)AvailableLinks: relates, duplicates and blocks, with dependencies drawn on the timeline.
Embedded database and web serverAvailableA managed PostgreSQL 18 and the server run from the package; no separate install.
Anonymous browsing of projectsChangedInvited guest members instead of anonymous visitors; project content requires signing in.
Various databases supportedChangedPostgreSQL only, by design; Windows, Linux and macOS packages.
Translated into multiple languagesNot yetEnglish today; more languages are on the roadmap and the layout is RTL-ready.
LDAP, Active Directory or CAS sign-inNot yetBuilt-in accounts with Argon2id passwords; no directory or SSO integration yet.

Classic list as published by the original project. Status checked against this repository; see the README feature reference (opens on GitHub in a new tab).

Product experience

01Boards, lists, timelines

Drag issues across a board, with keyboard alternatives for every move. Switch to a filtered, sortable list or a timeline with milestones and “blocks” dependencies, and save the view for yourself or your team.

JTRAC Platform · BoardDemo data

To Do

2
  • JTRAC-103Low
    Update notification preferences
    notifications
  • JTRAC-104Medium
    Add release milestone to timeline
    planning
    Nov 4

In Progress

2
  • JTRAC-101High
    Improve project dashboard
    dashboardsui
    Nov 12
  • JTRAC-105Urgent
    Require root cause before Done
    Nov 10

In Review

1
  • JTRAC-102Medium
    Refine issue filtering
    search
    Nov 8

02Workflows and field rules

Each status offers only the transitions its workflow allows, and some are limited to roles: in the Structured template only Administrators can Approve. Field rules make a field hidden, read-only, optional or required per status, here the assignee in review, and the server checks them on every read and write.

JTRAC-102 · Issue detailsDemo data

03Planning

The timeline lays out scheduled issues against milestones and draws “blocks” dependencies, flagging work that is scheduled to start before its blocker ends. Dashboards then summarize progress, computed for each viewer so nobody sees what they cannot open.

JTRAC Platform · TimelineDemo data
  • JTRAC-101 Improve project dashboard
  • JTRAC-102 Refine issue filtering
  • JTRAC-104 Add release milestone to timeline
  • JTRAC-105 Require root cause before Done
  • JTRAC-106 Export filtered list to CSV
Nov 2Nov 9Nov 16◆ Spring releaseJTRAC-104 blocks JTRAC-101JTRAC-101: due Nov 12JTRAC-102: due Nov 8JTRAC-104: due Nov 4JTRAC-105: due Nov 10JTRAC-106: due Oct 30

Technology

A Spring Boot modular monolith with a React single-page app on top of PostgreSQL. Each release package bundles its own Java runtime and, for the managed database mode, PostgreSQL binaries.

A guided setup wizard configures the database, the first administrator and SMTP, and the jtrac command handles start, stop, backup, restore and update. Read the installation guide (opens on GitHub in a new tab)

Server
Java 25Spring Boot 4.1Spring ModulithSpring SecurityFlyway
Data
PostgreSQL 18
Web app
React 19TypeScriptViteTanStack RouterTanStack Query
Interfaces
REST /api/v1OpenAPI 3Server-Sent EventsWebhooks

Self-contained packages

  • Windows x64
  • Linux x64
  • Linux ARM64
  • macOS Intel
  • macOS Apple Silicon

Testing status per platform is documented in platform support (opens on GitHub in a new tab).

Download

One self-contained package per platform: the server, the jtrac command, a Java 25 runtime and, for the managed database mode, PostgreSQL. Unpack it and run setup.

Check the archive before running it: compare it with SHA256SUMS, then follow the installation guide (opens on GitHub in a new tab). Windows on ARM has no package yet: build from source with an external PostgreSQL.

SHA256SUMS (opens on GitHub in a new tab)Release notes (opens on GitHub in a new tab)All releases (opens on GitHub in a new tab)

FAQ

The full list, with troubleshooting, is in the README (opens on GitHub in a new tab).

Is JTRAC free?

Yes. It is open source under the Apache License 2.0: free to use, modify and distribute, commercially or not.

Is this the official JTrac?

No. It is an unofficial, independent reimagining of how JTrac could look in the modern era, inspired by JTrac 2.3.3. It is not affiliated with or endorsed by the original project, and no original code, schema or templates are reused.

Do I need Java installed?

No. Each package bundles its own Java 25 runtime. You only need a JDK to build JTRAC from source.

Do I need a PostgreSQL server?

Not on Windows x64, Linux and macOS: the package includes PostgreSQL and manages it for you. You can also point JTRAC at your own PostgreSQL 18 server.

Can I use MySQL, SQL Server or SQLite?

No. JTRAC relies on PostgreSQL 18 features and is tested only on PostgreSQL.

Does JTRAC send any data to anyone?

No. There is no telemetry, update check or analytics. It only talks to your database, your SMTP server and the webhook endpoints your administrators configure.

Can JTRAC run without email?

Yes. Messages are queued and delivered once SMTP is configured; until then invitations and password resets do not arrive, and the interface says so.

How do I put JTRAC on the internet?

Keep it bound to 127.0.0.1, put a reverse proxy with HTTPS in front (nginx, Caddy, IIS or Apache), then configure the public https:// address and enable the reverse-proxy setting.

Ready to explore JTRAC?

Start with the source, explore available releases, and see how JTRAC fits your workflow.