Skip to content

The Dev Manager Project is a tool designed to help development managers track the performance of their developers by collecting data from Slack, JIRA, and Github.

License

Notifications You must be signed in to change notification settings

ftuyama/dev-manager

 
 

Repository files navigation

Tests

The Dev Manager Project is a tool designed to help development managers track the performance of their developers by collecting data from Slack, JIRA, and Gitlab.

This project provides an easy-to-use dashboard that displays key metrics related to the developers' work such as the number of pull requests, commits, and comments made, as well as the number of tickets assigned and completed.

With the help of this tool, managers can easily identify bottlenecks and areas of improvement for their team. It allows managers to drill down into the details of individual developers, identify their strengths and weaknesses, and provide them with targeted feedback and support.

How to use it

First, you can configure your API settings by running the interactive setup:

make setup

You can generate a new report by running:

make run

You can visualize the web UI by running:

make web

Backend Architecture

sequenceDiagram participant DevManager participant ReportService participant Gitlab participant Jira participant Slack DevManager->>ReportService: Generate report Note right of DevManager: Start generating <br/>report ReportService->>Gitlab: Fetch data loop Gitlab report Gitlab->>Gitlab: Analyse MRs Gitlab->>Gitlab: Analyse Code reviews end Gitlab-->>ReportService: Data ReportService->>Jira: Fetch data loop Jira report Jira->>Jira: Analyse assigned tickets end Jira-->>ReportService: Data ReportService->>Slack: Fetch data loop Slack report Slack->>Slack: Analyse messages sent end Slack-->>ReportService: Data ReportService-->>DevManager: Report Note right of DevManager: Save data in<br/>a json file 
Loading

Modules Architecture

This is the current architecture, where I generate the showcase data and webpage offline.

classDiagram Backend --|> Report : Generate Backend : ruby Backend : generateReport() Backend : getDataGitlab() Backend : getDataJira() Backend : getDataSlack() Report : jsonData Frontend <|-- Report : Read file Frontend : vue.js Frontend : renderWebpage() Frontend --|> Dist : Build Dist : HTML, CSS, Javascript Github Pages --|> Dist : Read Github Pages : serverless Github Pages : updatePage() 
Loading

If it was supposed to be dynamic and handle real users, we could have this instead:

classDiagram BackendCore --|> Report : Generate BackendCore : ruby BackendCore : cloud server BackendCore : generateReport() BackendCore : getDataGitlab() BackendCore : getDataJira() BackendCore : getDataSlack() Report : jsonData BackendServer <|-- Report BackendServer --|> BackendCore : generateReport() BackendServer : Rails BackendServer : cloud server BackendServer : getReport() FrontendServer <|-- BackendServer : report FrontendServer --|> BackendServer : getReport() FrontendServer : vue.js FrontendServer : cloud server FrontendServer : renderWebpage() FrontendServer --|> User FrontendServer <|-- User 
Loading

About

The Dev Manager Project is a tool designed to help development managers track the performance of their developers by collecting data from Slack, JIRA, and Github.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •