Design Jira's Real-Time Collaborative Issue Tracker at Scale
Problem
Design the core backend for Jira — a collaborative project management and issue tracking system.
Requirements
Functional:
- Create/update/delete issues with custom fields
- Real-time collaboration: two users editing the same issue simultaneously
- Commenting, @mentions, and notifications
- Powerful JQL (Jira Query Language) search
- Workflow state machine per issue type
Non-functional:
- 10M teams, 200M issues
- Search < 500ms
- Update propagation to collaborators < 1s
Discussion points
- Data model: flexible custom fields without schema explosion
- Conflict resolution for concurrent edits (OT or CRDT)
- Search: Elasticsearch index design for JQL
- Notification fan-out for large project teams
- Workflow engine: state transitions with guards and validators
added …