How locnpd/swp391-jira-github-integration works
SWP391 is a course-project progress tool: users sign in, manage classes and groups, configure Jira/GitHub integrations, and review synchronized work and progress. The graph follows the React routes into the Spring REST API, then highlights the documented Jira sync and the sampled requirement→story→subtask query stages. It also preserves administration, class/group management, GitHub commit reporting, and integration configuration. The excerpts do not expose most controller-to-service or persistence wiring, so those connections are represented at subsystem level; optional GitHub integration links are dashed.
Main entry points: App.jsx Role-based routes · controller Group and integration API · pages Group dashboards · JiraManualSyncService.java Jira issue sync
Components 23
Web application
- Role-based routes
frontend/react-basic/src/App.jsx - Admin screens
frontend/react-basic/src/pages - Group dashboards
frontend/react-basic/src/pages - Work and reports
frontend/react-basic/src/pages - Jira setup and previews
frontend/react-basic/src/pages
Access and administration
- Authentication API
backend/src/main/java/com/swp391/backend/controller/AuthController.java - Authorization checks
backend/src/main/java/com/swp391/backend/security/SecurityService.java - Course administration API
backend/src/main/java/com/swp391/backend/controller
Course workspace
- Class and group services
backend/src/main/java/com/swp391/backend/service - Group and integration API
backend/src/main/java/com/swp391/backend/controller
Progress and integrations
- Jira issue sync
backend/src/main/java/com/swp391/backend/service/JiraManualSyncService.java - Jira REST client
backend/src/main/java/com/swp391/backend/integration/jira/JiraClient.java - GitHub sync and stats
backend/src/main/java/com/swp391/backend/service - Progress query API
backend/src/main/java/com/swp391/backend/controller - Requirement dashboard
backend/src/main/java/com/swp391/backend/service/impl/RequirementQueryServiceImpl.java - Story and subtask views
backend/src/main/java/com/swp391/backend/service/impl/StoryQueryServiceImpl.java - Personal subtasks
backend/src/main/java/com/swp391/backend/service/impl/MyWorkQueryServiceImpl.java
Other components
- Administrator
- Lecturer
- Student or leader
- SQL Server
- Jira Cloud
- GitHub
Connections 31
- Administrator → Role-based routes: uses
- Lecturer → Role-based routes: uses
- Student or leader → Role-based routes: uses
- Role-based routes → Admin screens: routes
- Role-based routes → Group dashboards: routes
- Role-based routes → Work and reports: routes
- Role-based routes → Jira setup and previews: routes
- Admin screens → Course administration API: requests
- Group dashboards → Group and integration API: requests
- Jira setup and previews → Group and integration API: configures and previews
- Work and reports → Progress query API: requests
- Role-based routes → Authentication API: signs in
- Authentication API → Authorization checks: checks identity
- Course administration API → Class and group services: manages course data
- Group and integration API → Authorization checks: checks group access
- Group and integration API → Class and group services: manages groups
- Group and integration API → Jira issue sync: starts sync
- Jira issue sync → Jira REST client: fetches issues
- Jira REST client → Jira Cloud: calls REST API
- Jira issue sync → SQL Server: persists synchronized data
- Progress query API → Requirement dashboard: queries requirements
- Progress query API → Story and subtask views: queries stories
- Progress query API → Personal subtasks: queries assigned work
- Requirement dashboard → SQL Server: reads progress data
- Story and subtask views → SQL Server: reads tasks
- Personal subtasks → SQL Server: reads assigned subtasks
- Course administration API → SQL Server: stores course data
- Group and integration API → SQL Server: stores group configuration
- Group dashboards → GitHub sync and stats: views commit activity
- GitHub sync and stats → GitHub: fetches commits
- GitHub sync and stats → SQL Server: stores commit data