Technologies: Node.js
Application that receives repo URL and returns an object that contains the services detected from the repo + the files and the files' owners.
POST http://localhost:5000/analyze
body:
{
"repoUrl": "https://github.com/superstreamlabs/memphis-functions.js"
}data structure:
{
"services": {
"relative/file/path.js": "Description of file type or role"
},
"fileOwners": {
"relative/file/path": {
"owner": "Owner name <email>",
"devs": [
{
"name": "Contributor Name",
"score": "Number of commits"
},
...
]
},
...
}
}{
"services": {
"C:\\Users\\e34847\\github-contributors\\tempRepo\\src\\functions.js": "Detected service from JS file"
},
"fileOwners": {
"C:\\Users\\e34847\\github-contributors\\tempRepo\\Jenkinsfile": {
"owner": "[email protected]",
"devs": [
{
"name": "Beka Kotchauri",
"score": 2
},
{
"name": "valeraBr",
"score": 1
},
{
"name": "idanasulinStrech",
"score": 1
}
]
},
"C:\\Users\\e34847\\github-contributors\\tempRepo\\LICENSE": {
"owner": "[email protected]",
"devs": [
{
"name": "idanasulinStrech",
"score": 1
}
]
},
"C:\\Users\\e34847\\github-contributors\\tempRepo\\package.json": {
"owner": "[email protected]",
"devs": [
{
"name": "idanasulinStrech",
"score": 5
}
]
},
"C:\\Users\\e34847\\github-contributors\\tempRepo\\README.md": {
"owner": "[email protected]",
"devs": [
{
"name": "idanasulinStrech",
"score": 3
},
{
"name": "John Peters",
"score": 3
},
{
"name": "Yaniv Ben Hemo",
"score": 1
}
]
},
"C:\\Users\\e34847\\github-contributors\\tempRepo\\src\\functions.js": {
"owner": "[email protected]",
"devs": [
{
"name": "John Peters",
"score": 8
},
{
"name": "idanasulinStrech",
"score": 5
}
]
},
"C:\\Users\\e34847\\github-contributors\\tempRepo\\version-beta.conf": {
"owner": "[email protected]",
"devs": [
{
"name": "idanasulinStrech",
"score": 5
}
]
},
"C:\\Users\\e34847\\github-contributors\\tempRepo\\version.conf": {
"owner": "[email protected]",
"devs": [
{
"name": "idanasulinStrech",
"score": 5
}
]
}
}
}