Issue tracking should be composable infrastructure, not application-specific reinvention.
Almost every serious application eventually needs to track bugs, support requests, and internal work — and the model itself is never the hard part. The real cost is identity resolution, permissions, lifecycle, comments, labels, attachments, pagination, filtering, and a versioned API around all of it. Generic Issue Tracker packages that subsystem as an installable Django app: your application keeps owning its product, the tracker owns issue tracking.
pip install genericissuetracker
POST /api/v1/issues/
content-type: application/json
{ "title": "...", "description": "...", "reporter_email": "you@example.com" }GET /api/v1/issues/?search=checkout&ordering=-created_at
POST /api/v1/comments/
Authorization: Bearer <token>
{ "issue": 143, "body": "..." }POST /api/v1/issues/143/change-status/
{ "status": "IN_PROGRESS" }Don't build an issue tracker inside every application.
Install the capability.
Projects · Issues · Comments · Labels · Attachments — one versioned API