How tania-macheieva/jira-like works
Jira-like is a multi-tenant issue tracker: users authenticate, select or create a workspace, then manage epics, issues, comments, and sprints through a React UI backed by a Rails API. The API authorizes workspace and record operations, filters issue lists, and persists domain records; issue status changes go through a dedicated transition service and workflow engine. The README documents frontend planning views and API capabilities; unsampled controllers and UI modules are represented by their tree paths, with only documented or source-supported connections shown.
Main entry points: routes.rb API routes · models Workspace and issue records · App.jsx App entry · issues_controller.rb Issue endpoints
Components 20
Web interface
- App entry
web/src/App.jsx - Workspace state
web/src/hooks/useWorkspace.js - Workspace shell
web/src/components/WorkspaceShell.jsx - Authentication view
web/src/pages/AuthPage.jsx - Planning views
web/src/pages - HTTP client
web/src/lib/apiClient.js
Rails API
- API routes
api/config/routes.rb - Session auth
api/app/controllers/api/v1/auth - Workspace endpoints
api/app/controllers/api/v1/workspaces_controller.rb - Issue endpoints
api/app/controllers/api/v1/issues_controller.rb - Epic endpoints
api/app/controllers/api/v1/epics_controller.rb - Sprint endpoints
api/app/controllers/api/v1/sprints_controller.rb - Comment endpoints
api/app/controllers/api/v1/comments_controller.rb - Authentication and policies
api/app/controllers/concerns/authentication.rb
Issue domain
- Issue filtering
api/app/queries/issue_query.rb - Workspace and issue records
api/app/models - Application database
api/db/schema.rb
Status workflow
- Move issue service
api/app/services/move_issue_service.rb - Transition rules
workflow_engine/lib/workflow_engine.rb
Other components
- Workspace user
Connections 29
- Workspace user → App entry: uses
- App entry → Authentication view: renders
- App entry → Workspace state: loads state
- App entry → Workspace shell: renders
- Workspace shell → Planning views: shows views
- Workspace state → HTTP client: requests
- App entry → HTTP client: requests auth
- HTTP client → API routes: sends HTTP
- API routes → Session auth: dispatches
- API routes → Workspace endpoints: dispatches
- API routes → Issue endpoints: dispatches
- API routes → Epic endpoints: dispatches
- API routes → Sprint endpoints: dispatches
- API routes → Comment endpoints: dispatches
- Session auth → Authentication and policies: authenticates
- Workspace endpoints → Authentication and policies: authorizes
- Issue endpoints → Authentication and policies: authorizes
- Comment endpoints → Authentication and policies: authorizes
- Issue endpoints → Issue filtering: filters issues
- Issue endpoints → Move issue service: moves issue
- Move issue service → Transition rules: checks transition
- Workspace endpoints → Workspace and issue records: reads and writes
- Issue endpoints → Workspace and issue records: reads and writes
- Epic endpoints → Workspace and issue records: reads and writes
- Sprint endpoints → Workspace and issue records: reads and writes
- Comment endpoints → Workspace and issue records: reads and writes
- Issue filtering → Workspace and issue records: queries scope
- Move issue service → Workspace and issue records: updates issue
- Workspace and issue records → Application database: persists records