/**
* TrackING — project tracker, dialog & tables core
* @author Roshan Aryan Majhi · ticket-dialog owner
*/
Every ticket.
Tracked, not lost.
TrackING runs projects as workspaces → projects → tickets, with boards, tables, checklists, comments and color-coded groups throughout. I own the ticket-details dialog and the tables program — 266 commits on a ten-person team.
// design_system
System first, screens second.
color/tokens
primary
#774EA7
paper
#F8F8F8
t-blue
#0A66B2
t-green
#2F9E44
t-orange
#E8890C
ink
#404040
type/scale
Aa
Rubik / Lato
Heading 20
Body 14 · tracker-calm
mono 11 · keys & dates
radius/0.5rem
cards md · chips 4px
components/ui
{ "key": "TRK-102", "status": "doing", "checklist": "5/8", "assignee": "roshan" }
Ticket dialog rework
Invalid credentials
400 · verbatim from api
login · forgot · reset flows
+54 more in package.json
// why_it_exists
Chat threads forget. Tickets don't.
Work lived in chat threads and memory — statuses guessed, checklists mental, and every standup reconstructed the week from vibes.
TrackING gives work a paper trail. Workspaces, projects, tickets — each with proof: checklists with progress, comments with history, groups with colors, and tables that filter down to the exact truth.
// feature_modules
What ships inside.
tickets_engine
Tickets with keys, assignees, due dates, tags and priorities flowing through workspace → project → board → table, with add-ticket sheets and delete confirmations.
ticket_dialog
The reworked detail dialog: click-to-edit title, live checklist progress, word counts, comments that never overflow, and notify + save pinned where thumbs expect them.
boards_tables
Every list ships board and table views with pagination on all tables, row-hover states, SN alignment and expanding rows that never jump.
filters_search
Search, status, assignee and tag filters on every page — including a member-safe fallback when the assignee endpoint forbids listing users.
groups_tags
User groups and tags carry their own colors — editable from the table, with defaults, chips and readable short names everywhere they render.
comments_activity
Justified threads with show-more logs, blank-page guards and no nested-button errors — activity you can actually follow.
members_assignees
Workspace members, roles and admin-only gates, with avatars, assignment pickers and forbidden-safe fetching.
auth_errors
Login, forgot and reset password flows that surface the backend's own error messages in toasts — plus a token-refresh loop fix.
// engineering_decisions
Worth noting.
- +Dialog over page — ticket detail opens as a dialog so triage never loses the board behind it.
- +Colors are data — groups and tags store colors server-side — the table edits what every chip renders.
- +Filters on every page — search, status and assignee filters are a rule, not a feature — pagination included.
- +Backend errors verbatim — auth toasts quote the server message instead of inventing friendlier lies.
- +Prefetch, then prove — ticket dialog data prefetches on hover intent, with cache guards against stale panes.
// my_role
What I built.
Ticket-dialog owner and tables-program driver — reworks, filters, pagination and colors across every surface.
$ticket_dialog_rework
- Full dialog redesign: white canvas, inline title editing, live checklists
- Comment threads fixed: overflow, alignment, show-more blank pages
- Prefetch + cache guards ending stale dialog data
- Editor cleanup: stray buttons removed, word count relocated
$tables_everywhere
- Pagination rolled out to every table in the app
- Task-list limits and filter-dropdown refactors
- Row-hover states, SN alignment, expanding-height fixes
- Add-ticket error states that close cleanly
$colors_identity
- Default colors for user groups and tags
- Color editing straight from the table
- Sidebar logo states and confirmation modal polish
$auth_errors
- Backend error messages surfaced in login / forgot / reset toasts
- Token-refresh loop fixed with loading-state guards
// in_one_line
Tracking without the spreadsheet — every ticket, checklist and comment one dialog away.