Skip to content

Latest commit

 

History

History
105 lines (91 loc) · 3.55 KB

README.md

File metadata and controls

105 lines (91 loc) · 3.55 KB

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.