Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/valb3r/project-control
A tool to assess the effort spent to develop a software project and its readiness
https://github.com/valb3r/project-control
code-metrics effort-estimation project-management
Last synced: about 2 months ago
JSON representation
A tool to assess the effort spent to develop a software project and its readiness
- Host: GitHub
- URL: https://github.com/valb3r/project-control
- Owner: valb3r
- Created: 2020-12-28T19:16:03.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-27T08:17:24.000Z (over 1 year ago)
- Last Synced: 2024-10-27T21:01:21.226Z (3 months ago)
- Topics: code-metrics, effort-estimation, project-management
- Language: TypeScript
- Homepage: https://project-control.demo.nillhill.com
- Size: 886 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# What is this
A tool to assess the effort spent to develop software project and its readiness.
### Analyzes and graphically represents
1. Commit count per developer per week
1. Churn (lines changed) per developer per week
1. Owned code per developer per week
1. Rework code done by developers### DEMO site credentials
Credentials: `admin/admin`
# Building project
## Build (with tests)
```shell
./gradlew clean syncNpm build
```## Build and run (without tests)
```shell
./gradlew clean syncNpm build -x test bootRun
```## Build monolith JAR
```shell
./gradlew clean syncNpm -x test bootJar
```## Build docker
```shell
./gradlew clean syncNpm syncJar buildImage
```# Running project
0. Ensure you have Java 11 installed
1. Start Neo4j database i.e. using docker (ready to use sample deployment is in [docker-compose.yml](neo4j-docker-compose/docker-compose.yml))
2. Do [Build and run (without tests)](#build-and-run-without-tests) to start application
3. Open UI at [http://localhost:8080](http://localhost:8080)
4. Login with `admin/admin` credentials
![login with admin/admin](docs/img/login.png)5. Click on `Add Project Button` (Open `Projects` page from menu if necessary)
![Click on Add Project Button](docs/img/add_button.png)5. Fill in new project to analyze details, click `Add` button when done
![Fill in new project to analyze details and then Add](docs/img/setup_new_project.png)
6. Start project analysis - click `Restart analysis button`
![Click `Restart analysis button`](docs/img/start_analysis.png)
7. Wait for analysis to be finished
![Click `Wait for analysis to be finished`](docs/img/finished_state.png)
8. Create new user from aliases - open `User mappings`
![Click `User mappings`](docs/img/open_user_mappings.png)
9. Create new user from aliases - Create new user
![Click `Create new user`](docs/img/new_user.png)
9. Create new user from aliases - merge aliases to user
![Click `Merge aliases to user`](docs/img/merge_aliases_to_user.png)
10. See the reports
![Click `Reports`](docs/img/browse_reports.png)
# Exclusion/Inclusion rule examples
## Inclusion:
```drools
package com.project_control.rulesimport com.valb3r.projectcontrol.domain.rules.RuleContext
dialect "mvel"
rule "Only .java files"
no-loop
when
$c: RuleContext(path matches '.+\\.java')
then
$c.include = true;
update($c)
end
```## Exclusion:
```drools
package com.project_control.rulesimport com.valb3r.projectcontrol.domain.rules.RuleContext
dialect "mvel"
rule "Not in resources files"
no-loop
when
$c: RuleContext(path matches '.+/resources/.+')
then
$c.exclude = true;
update($c)
end
```