Skip to content

Individual or Team Analysis the insight of development velocity from git based repositories.

License

Notifications You must be signed in to change notification settings

zhongdj/git-stats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-stats

Individual or Team Analysis the insight of development velocity from git based repositories.

Start Guide

  • Step 1. Launch Stack Make sure you have docker-compose and docker installed.
docker-compose up -d
  • Step 2. Kickoff a run with default onion structure.
curl -H "Content-Type:application/json" \
  http://localhost:9000/v1/productivity/tasks \
  -d \
  '{ 
     "repositories" : [
       { 
         "repositoryUrl": "git@github.com:zhongdj/git-stats-backend.git" , "branch" : "master", "local" : false, "excludes" : []
       }
     ], 
     "fromDay": "2019-04-25" 
  }'

output will be generated on docker-compose console as following:

backend_1  | Cloning into '/root/.tasks/3/git-stats-backend'...
backend_1  | InsertionStatsService: 2013-04-25, 2019-06-09
backend_1  | (2013-04-25,2019-06-09,Thu Apr 25 00:00:00 GMT 2013,Sun Jun 09 00:00:00 GMT 2019,2236)
...
backend_1  |     add tweet related repositories and entities))
backend_1  |       |graphGenerated:
backend_1  |       |Layered: 1
backend_1  |       |Daily Loc/Commit: 2
backend_1  |       |Weekly Loc/Commit: 3
backend_1  |       |    )
backend_1  | akka://application/user/1/1-git@gitlab.com:architectures-lab@tweets.git-bob-spec-pojo-java

until graphGenerated is printed, move to next step

Onion Architecture Layered Commits Distribution metrics-view Daily Loc Per Commits Distribution metrics-view Weekly Loc Per Commits Distribution metrics-view

Additional Configurable

Custom Tagging on Project Directory Structure

By default, commits are tagged by the files included. Tags are matched by filePath.contains(key) condition, and key is defined as left hand side, tags are defined as right hand side as following by default:

infrastructure/=infrastructure
application/=application
domain/=domain
controller=controllers
gateway=gateway
configuration=configuration

Custom Tagging profile can be provided as following:

  • Create a file ends with properties and put it under ~/tags folder, such as: my.onion.properties
infrastructure=infrastructure
application=application
domain=domain

and then you can kick off a run as following, which also exclude vendor and thrift_gen directory as well:

curl -H "Content-Type:application/json" \
  http://localhost:9000/v1/productivity/tasks \
  -d \
  '{
     "repositories" : [
       {
         "repositoryUrl": "git@gitlab.com:architectures-lab/tweets.git" , "branch" : "bob-spec-pojo-java", "profile" : "my.onion", "local" : false, "excludes" : ["vendor", "thrift_gen" ]
       }
     ],
     "fromDay": "2020-01-01"
  }'

Configure Metabase Username/Password

If you changed the metabase's admin username/password, then Create a session.properties as following:

username=zhongdj@gmail.com
password=1q2w3e4r5t

and put this file under ~/metabase.

About

Individual or Team Analysis the insight of development velocity from git based repositories.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published