{"id":38804372,"url":"https://github.com/ftuyama/dev-manager","last_synced_at":"2026-01-17T12:49:20.620Z","repository":{"id":73401069,"uuid":"592564962","full_name":"ftuyama/dev-manager","owner":"ftuyama","description":"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.","archived":false,"fork":false,"pushed_at":"2026-01-01T19:39:53.000Z","size":5652,"stargazers_count":2,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-07T03:50:59.904Z","etag":null,"topics":["dev-manager","dev-metrics","developer-metrics","frontend","github","jira","leadership","manager","metrics","ruby","slack","vuejs"],"latest_commit_sha":null,"homepage":"https://ftuyama.github.io/dev-manager/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ftuyama.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-24T01:58:49.000Z","updated_at":"2024-11-07T02:26:33.000Z","dependencies_parsed_at":"2023-12-26T06:21:07.001Z","dependency_job_id":"89a7df74-208a-4911-b300-3bcfe060d439","html_url":"https://github.com/ftuyama/dev-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ftuyama/dev-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftuyama%2Fdev-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftuyama%2Fdev-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftuyama%2Fdev-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftuyama%2Fdev-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ftuyama","download_url":"https://codeload.github.com/ftuyama/dev-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftuyama%2Fdev-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dev-manager","dev-metrics","developer-metrics","frontend","github","jira","leadership","manager","metrics","ruby","slack","vuejs"],"created_at":"2026-01-17T12:49:20.531Z","updated_at":"2026-01-17T12:49:20.611Z","avatar_url":"https://github.com/ftuyama.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/ftuyama/dev-manager/blob/main/report/logo-bg.png\" width=\"500\"\u003e\n\n[![Tests](https://github.com/ftuyama/dev-manager/actions/workflows/test.yml/badge.svg?branch=main\u0026event=push)](https://github.com/ftuyama/dev-manager/actions/workflows/test.yml)\n\nThe 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.\n\nThis 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.\n\nWith 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.\n\n\u003cimg src=\"https://github.com/ftuyama/dev-manager/blob/main/report/report.png\" width=\"500\"\u003e\n\n## How to use it\n\nFirst, you can configure your API settings by running the interactive setup:\n\n```shell\nmake setup\n```\n\nYou can generate a new report by running:\n\n```shell\nmake run\n```\n\nYou can visualize the web UI by running:\n\n```shell\nmake web\n```\n\n## Backend Architecture\n\n```mermaid\nsequenceDiagram\n    participant DevManager\n    participant ReportService\n    participant Gitlab\n    participant Jira\n    participant Slack\n\n    DevManager-\u003e\u003eReportService: Generate report\n    Note right of DevManager: Start generating \u003cbr/\u003ereport\n\n    ReportService-\u003e\u003eGitlab: Fetch data\n    loop Gitlab report\n        Gitlab-\u003e\u003eGitlab: Analyse MRs\n        Gitlab-\u003e\u003eGitlab: Analyse Code reviews\n    end\n    Gitlab--\u003e\u003eReportService: Data\n\n    ReportService-\u003e\u003eJira: Fetch data\n    loop Jira report\n        Jira-\u003e\u003eJira: Analyse assigned tickets\n    end\n    Jira--\u003e\u003eReportService: Data\n\n    ReportService-\u003e\u003eSlack: Fetch data\n    loop Slack report\n        Slack-\u003e\u003eSlack: Analyse messages sent\n    end\n    Slack--\u003e\u003eReportService: Data\n\n    ReportService--\u003e\u003eDevManager: Report\n    Note right of DevManager: Save data in\u003cbr/\u003ea json file\n```\n\n## Modules Architecture\n\nThis is the current architecture, where I generate the showcase data and webpage offline.\n\n```mermaid\nclassDiagram\n\nBackend --|\u003e Report : Generate\nBackend : ruby\nBackend : generateReport()\nBackend : getDataGitlab()\nBackend : getDataJira()\nBackend : getDataSlack()\n\nReport : jsonData\n\nFrontend \u003c|-- Report : Read file\nFrontend : vue.js\nFrontend : renderWebpage()\nFrontend --|\u003e Dist : Build\n\nDist : HTML, CSS, Javascript\n\nGithub Pages --|\u003e Dist : Read\nGithub Pages : serverless\nGithub Pages : updatePage()\n```\n\nIf it was supposed to be dynamic and handle real users, we could have this instead:\n\n```mermaid\nclassDiagram\n\nBackendCore --|\u003e Report : Generate\nBackendCore : ruby\nBackendCore : cloud server\nBackendCore : generateReport()\nBackendCore : getDataGitlab()\nBackendCore : getDataJira()\nBackendCore : getDataSlack()\n\nReport : jsonData\n\nBackendServer \u003c|-- Report\nBackendServer  --|\u003e BackendCore : generateReport()\nBackendServer : Rails\nBackendServer : cloud server\nBackendServer : getReport()\n\nFrontendServer \u003c|-- BackendServer : report\nFrontendServer --|\u003e BackendServer : getReport()\nFrontendServer : vue.js\nFrontendServer : cloud server\nFrontendServer : renderWebpage()\n\nFrontendServer --|\u003e User\nFrontendServer \u003c|-- User\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftuyama%2Fdev-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftuyama%2Fdev-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftuyama%2Fdev-manager/lists"}