{"id":16179390,"url":"https://github.com/valb3r/project-control","last_synced_at":"2026-01-12T02:08:54.145Z","repository":{"id":45393370,"uuid":"325096487","full_name":"valb3r/project-control","owner":"valb3r","description":"A tool to assess the effort spent to develop a software project and its readiness","archived":false,"fork":false,"pushed_at":"2025-01-31T16:24:29.000Z","size":911,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T02:30:23.252Z","etag":null,"topics":["code-metrics","effort-estimation","project-management"],"latest_commit_sha":null,"homepage":"https://project-control.demo.nillhill.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valb3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-12-28T19:16:03.000Z","updated_at":"2025-01-31T16:24:33.000Z","dependencies_parsed_at":"2025-02-08T02:30:26.560Z","dependency_job_id":"0ed8d2c4-4520-4934-aeae-7c3b3acdeffb","html_url":"https://github.com/valb3r/project-control","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fproject-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fproject-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fproject-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fproject-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valb3r","download_url":"https://codeload.github.com/valb3r/project-control/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246804379,"owners_count":20836716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["code-metrics","effort-estimation","project-management"],"created_at":"2024-10-10T05:27:42.271Z","updated_at":"2026-01-12T02:08:54.139Z","avatar_url":"https://github.com/valb3r.png","language":"TypeScript","readme":"# What is this \n\nA tool to assess the effort spent to develop software project and its readiness.\n\n### Analyzes and graphically represents\n\n1. Commit count per developer per week\n1. Churn (lines changed) per developer per week\n1. Owned code per developer per week\n1. Rework code done by developers\n\n### DEMO site credentials\n\nCredentials: `admin/admin`\n\n# Building project\n\n## Build (with tests)\n\n```shell\n./gradlew clean syncNpm build\n```\n\n## Build and run (without tests)\n\n```shell\n./gradlew clean syncNpm build -x test bootRun\n```\n\n## Build monolith JAR\n\n```shell\n./gradlew clean syncNpm -x test bootJar\n```\n\n## Build docker\n\n```shell\n./gradlew clean syncNpm syncJar buildImage\n```\n\n# Running project\n\n0. Ensure you have Java 11 installed\n1. Start Neo4j database i.e. using docker (ready to use sample deployment is in [docker-compose.yml](neo4j-docker-compose/docker-compose.yml))\n2. Do [Build and run (without tests)](#build-and-run-without-tests) to start application\n3. Open UI at [http://localhost:8080](http://localhost:8080)\n4. Login with `admin/admin` credentials\n   \n![login with admin/admin](docs/img/login.png)\n\n5. Click on `Add Project Button` (Open `Projects` page from menu if necessary)\n   \n![Click on Add Project Button](docs/img/add_button.png)\n\n\n5. Fill in new project to analyze details, click `Add` button when done\n\n![Fill in new project to analyze details and then Add](docs/img/setup_new_project.png)\n\n6. Start project analysis - click `Restart analysis button`\n\n![Click `Restart analysis button`](docs/img/start_analysis.png)\n\n7. Wait for analysis to be finished\n\n![Click `Wait for analysis to be finished`](docs/img/finished_state.png)\n\n8. Create new user from aliases - open `User mappings`\n\n![Click `User mappings`](docs/img/open_user_mappings.png)\n\n9. Create new user from aliases - Create new user\n\n![Click `Create new user`](docs/img/new_user.png)\n\n9. Create new user from aliases - merge aliases to user\n\n![Click `Merge aliases to user`](docs/img/merge_aliases_to_user.png)\n\n10. See the reports\n\n![Click `Reports`](docs/img/browse_reports.png)\n\n\n# Exclusion/Inclusion rule examples\n\n## Inclusion:\n\n```drools\npackage com.project_control.rules\n\nimport  com.valb3r.projectcontrol.domain.rules.RuleContext\n\ndialect  \"mvel\"\n\n\nrule \"Only .java files\"\n    no-loop\n    when\n       $c: RuleContext(path matches '.+\\\\.java')\n    then\n       $c.include = true;\n       update($c)\nend\n```\n\n## Exclusion:\n\n```drools\npackage com.project_control.rules\n\nimport  com.valb3r.projectcontrol.domain.rules.RuleContext\n\ndialect  \"mvel\"\n\n\nrule \"Not in resources files\"\n    no-loop\n    when\n       $c: RuleContext(path matches '.+/resources/.+')\n    then\n       $c.exclude = true;\n       update($c)\nend\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalb3r%2Fproject-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalb3r%2Fproject-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalb3r%2Fproject-control/lists"}