You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit revamps the existing README structure and
moved a few contents inside doc folder.
Signed-off-by: Venu Vardhan Reddy Tekula <venuvardhanreddytekula8@gmail.com>
Copy file name to clipboardexpand all lines: README.md
+90-87
Original file line number
Diff line number
Diff line change
@@ -8,136 +8,154 @@ models. It has been implemented in the context of the EU funded research project
8
8
9
9
The goal of this project is to create a web editor and viewer for [software quality models](https://github.com/borisbaldassari/se-quality-models) that are used to show metrics in a meaningful way. Also, importers and exporters for the different quality models used in the industry will be implemented so they can be used as models or evolved for the creation of new quality models.
10
10
11
-
In the initial version, the metrics supported will be the [CROSSMINER ones](https://github.com/crossminer/crossminer/tree/dev/web-dashboards/ossmeter-metrics).
12
-
13
-
Based on the models, visualizations and assessment for the projects are generated. In the initial version, Kibana dashboards will be created using [GrimoireLab](http://grimoirelab.github.io/).
11
+
Based on the models, visualizations and assessment for the projects are generated. In the initial version, the metrics supported will be the [CROSSMINER ones](https://github.com/crossminer/crossminer/tree/dev/web-dashboards/ossmeter-metrics) and the Kibana dashboards will be created using [GrimoireLab](http://grimoirelab.github.io/).
14
12
15
13
The final goal is to have a tool for "Automatic Project Assessment and Visualization based on Evolved Quality Models".
16
14
17
-
The original name for this project was Meditor but it was changed to Prosoul because meditor already was used in pip.
15
+
## Architecture
18
16
19
-
## Source code and contributions
17
+
A draft diagram for the architecture is:
18
+

20
19
21
-
All the source code is available in the [Prosoul GitHub repository](https://github.com/Bitergia/prosoul). Please, upload pull requests if you have proposals to change the source code, and open an issue if you want to report a bug, ask for a new feature, or just comment something.
22
20
23
-
The [code of conduct](CODE_OF_CONDUCT.md) must be followed in all contributions
24
-
to the project.
21
+
> **NOTE**: The original name for this project was **Meditor** but it was changed to **Prosoul** because meditor already was used in pip.
25
22
26
-
## Execution
27
23
28
-
**Prosoul** is a Django application. The recommended way to execute it is inside a python virtual environment.
24
+
## Installation and Set up
25
+
26
+
**Prosoul** is a Django application. The recommended way to execute it is inside a python virtual environment.
27
+
28
+
### Requirements
29
+
30
+
* Python >=3.4
31
+
* setuptools
32
+
* django
33
+
* kidash
34
+
* requests
35
+
* python3-tk
36
+
* matplotlib
29
37
30
-
Change VENV_DIR with the path to the folder in which you want to store the virtual environment.
38
+
You can run the application by three ways, [source code](#from-source-code), [pip package](#from-pip-package) and [docker](#from-docker).
31
39
32
-
### From source code repository
40
+
### from source code
33
41
34
42
This is the recommended way if you want to contribute to the development of ProSoul.
By default, the application will be accessible in: http://127.0.0.1:8000/
54
62
55
-
#### Demo Video
56
-
57
-
There is a demo video in YouTube about how to install the Prosoul application from the source code. Please click to watch it.
58
-
59
-
<divalign="center">
60
-
61
-
[](https://www.youtube.com/watch?v=-wU1ck4ZrUw)
62
-
63
-
</div>
63
+
There is a demo video in YouTube about how to install the Prosoul application from the source code.
64
64
65
65
**Quick Links**
66
66
67
67
1. Setting up Prosoul with PyCharm - [0:20](https://www.youtube.com/watch?v=-wU1ck4ZrUw&t=20s)
68
68
2. Setting up Prosoul with Terminal - [3:33](https://www.youtube.com/watch?v=-wU1ck4ZrUw&t=213s)
69
69
70
-
### From pip package
70
+
### from pip package
71
71
72
72
There is also a pip package with the Django application. You can just deploy it in a Django site:
73
73
74
74
```
75
-
mkdir -p VENV_DIR
76
-
python3 -m venv VENV_DIR
77
-
source VENV_DIR/bin/activate
78
-
pip install django
79
-
pip install django-prosoul
75
+
$ mkdir -p VENV_DIR
76
+
$ python3 -m venv VENV_DIR
77
+
$ source VENV_DIR/bin/activate
78
+
(VENV_DIR) $ pip install django
79
+
(VENV_DIR) $ pip install django-prosoul
80
80
```
81
81
82
82
and you need to add the application following the normal steps in Django:
83
83
84
84
```
85
-
django-admin startproject mysite
86
-
cd mysite
87
-
vi mysite/settings.py
85
+
(VENV_DIR) $ django-admin startproject mysite
86
+
(VENV_DIR) $ cd mysite
87
+
88
+
mysite (VENV_DIR) $ vi mysite/settings.py
88
89
...
89
90
INSTALLED_APPS = [
90
91
'django.contrib.admin',
91
92
...
92
93
'prosoul'
93
94
]
94
95
95
-
mysite (venv) $ vi mysite/urls.py
96
+
mysite (VENV_DIR) $ vi mysite/urls.py
96
97
...
97
98
from django.conf.urls import include, url
98
99
...
99
100
urlpatterns = [
100
101
path('admin/', admin.site.urls),
101
102
path('prosoul/', include('prosoul.urls')),
102
103
]
103
-
mysite (venv) $ python manage.py migrate
104
-
mysite (venv) $ python manage.py runserver
104
+
105
+
mysite (VENV_DIR) $ python manage.py migrate
106
+
mysite (VENV_DIR) $ python manage.py runserver
105
107
```
106
108
107
-
### Using a docker image
109
+
### from docker
110
+
111
+
A docker image is also available to execute the application.
108
112
109
-
A docker image is also available to execute the application:
113
+
> NOTE: The [docker-compose.yml](docker/docker-compose.yml) has the elasticsearch and kibiter configurations too
114
+
along with prosoul.
110
115
111
116
```
112
117
prosoul/docker $ docker-compose up
113
118
```
114
119
120
+
The applications would be running on the respective allocated ports.
121
+
122
+
115
123
## How to
116
124
117
-
This section explains how to create a quality model (QM), visualize it in Kibana and assess it on a set of projects.
125
+
This section explains how to create a quality model (QM), view it, visualize it in Kibana and assess it on a set of
126
+
projects.
118
127
A QM is identified by a title and composed of several `Goals`, which aim at measuring specific aspects of your projects,
119
128
such as `Activity`, `Community` and `Processes`. Each goal is defined by a set of `Attributes`, they aim at characterizing
120
129
a given goal. For instance, the `Activity` goal could include `Code` and `Bugs`, while `Community` could have `Coders` and
121
130
`Reporters` as attributes. Each attribute is then mapped to one or more `Metrics`. A `Metric` has a name, a 5-level
122
-
threshold (used to rate the project wrt a metric) and the data implementing the metric. In the case of
123
-
CROSSMINER, the metric implementation is the `metric_name` field of the metrics extracted from SCAVA and stored in
124
-
the index `scava-metrics`. For example, the attribute `Code` previously created could be mapped on the SCAVA metric`Patches`,
125
-
while the attribute `Bugs` could be represented by the SCAVA metrics `Bugs`, `Won't-Fix Bugs` and `Fixed Bugs`.
131
+
threshold (used to rate the project wrt a metric) and the data implementing the metric. In the case of CROSSMINER, the
132
+
metric implementation is the `metric_name` field of the metrics extracted from SCAVA and stored in the
133
+
index `scava-metrics`. For example, the attribute `Code` previously created could be mapped on the SCAVA metric
134
+
`Patches`, while the attribute `Bugs` could be represented by the SCAVA metrics `Bugs`, `Won't-Fix Bugs` and `Fixed Bugs`.
126
135
127
-
In the following sections, the Edit, Visualize and Assess views are described.
136
+
In the following sections, the various functions of the application are described.
128
137
129
138
### Edit
130
139
131
-
The Edit view allows to create (modify and import) a QM.
140
+
The Edit function allows to create (modify and import) a QM.
132
141
133
-
To create a QM, click on the first `Add` button and set a name for
134
-
your QM (e.g., `MyFirstQM`) in the window that popped up. Then, Prosoul will automatically open a chain of windows to
135
-
to let you insert your first `Goal`, its `Attributes` and the corresponding `Metrics`. For each metric, you will have to
136
-
map it to an existing metric in your data. In the case of CROSSMINER, this is done via the `metric_name` attribute stored
142
+
To create a QM, click on the first `Add` button and set a name for your QM (e.g., `MyFirstQM`) in the window that popped up.
143
+
Then, Prosoul will automatically open a chain of windows to to let you insert your first `Goal`, its `Attributes` and the
144
+
corresponding `Metrics`. For each metric, you will have to map it to an existing metric in your data. In the case of
145
+
CROSSMINER, this is done via the `metric_name` attribute stored
137
146
in the index `scava-metrics`.
138
147
148
+
### View
149
+
150
+
The View function allows you to view the QM in the form of a tree.
151
+
152
+
Select the QM which you would like to view in the application and you can see the tree view of the QM. You can also view
153
+
some of the information like the number ofAttributes and Metrics in the selected QM. Click on any node to know more details
154
+
about the attribute.
155
+
139
156
### Visualize
140
-
The Visualize view allows to materialize your QM in Kibana through dashboards, which are created based on templates
157
+
158
+
The Visualize function allows to materialize your QM in Kibana through dashboards, which are created based on templates
141
159
available [here](https://github.com/Bitergia/prosoul/tree/master/django-prosoul/prosoul/panels/templates).
142
160
143
161
In the form, you have just to select the target QM, the ElasticSearch and Kibana URLs, the ElasticSearch index
@@ -149,69 +167,54 @@ Once the form is filled, by clicking on the `Create` button, a set of dashboards
149
167
to Kibana and available in the menu `Dashboard`.
150
168
151
169
### Assess
152
-
The Assess view allows to perform an assessment of the QM over the projects included in your data.
170
+
171
+
The Assess function allows to perform an assessment of the QM over the projects included in your data.
153
172
154
173
In the form, you have just to select the target QM, the ElasticSearch URL, the index where the data is stored and
155
-
the metrics data backend. In the case of CROSSMINER, all form fields except the `Quality Model` one are already set to be used
156
-
with the default Docker configuration of the [scava-deployment](https://github.com/crossminer/scava-deployment/tree/dev#scava-deployment).
174
+
the metrics data backend. In the case of CROSSMINER, all form fields except the `Quality Model` one are already set to be
175
+
used with the default Docker configuration of the [scava-deployment](https://github.com/crossminer/scava-deployment/tree/dev#scava-deployment).
157
176
158
177
Once the form is filled, by clicking on the `Create` button, you will be redirected to a page summarizing how the projects
159
178
in your data comply with the QM selected.
160
179
161
-
## Tutorials
162
-
163
-
There are two introductory videos: showing the import and view feature, and how to use the editor for adding a new quality model:
164
-
165
-
* Import and view of quality models: [prosoul-intro.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-intro.webm)
166
-
* Adding a new quality model: [prosoul-editor.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-editor.webm)
167
-
* Creating a viz and an assessment based on a quality model: [prosoul-viz-assess.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-viz-assess.webm)
180
+
### Import / Export
168
181
169
-
## Import / Export
170
-
171
-
Import and export for quality models can be done using the web interface or
172
-
from the command line:
182
+
Import and export for quality models can be done using the web interface or from the command line:
There is a demo video about how to install the Prosoul application from the source code.
197
198
198
-
A draft diagram for the architecture is:
199
+
<divalign="center">
199
200
200
-

201
+
[](https://www.youtube.com/watch?v=-wU1ck4ZrUw)
201
202
202
-
## Prosoul with CROSSMINER
203
+
</div>
203
204
204
-
There is a specific guide for [using prosoul with CROSSMINER](doc/prosoul-crossminer.md) for creating the visualization for a quality model and generating the assessment of the projects with CROSSMINER.
205
+
There are two introductory videos: showing the import and view feature, and how to use the editor for adding a new quality model:
206
+
207
+
* Import and view of quality models: [prosoul-intro.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-intro.webm)
208
+
* Adding a new quality model: [prosoul-editor.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-editor.webm)
209
+
* Creating a viz and an assessment based on a quality model: [prosoul-viz-assess.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-viz-assess.webm)
205
210
206
-
There is a [demo online of prosoul for CROSSMINER](https://eclipse.zoom.us/recording/share/cMm_9gGMNir9UWqY0Mn7mWCETlA_9LJhcZF0uGIru_KwIumekTziMw).
207
211
208
-
## Prosoul with GrimoireLab
212
+
## Source code and contributions
209
213
210
-
There is a specific guide for [using prosoul with GrimoireLab](doc/prosoul-grimoirelab.md) for creating the visualization for a quality model and generating the assessment of the projects with GrimoireLab.
214
+
All the source code is available in the [Prosoul GitHub repository](https://github.com/Bitergia/prosoul). Please, open an issue if you want to report a bug, ask for a new feature, or just comment something or send pull requests if you have proposals to change the source code.
211
215
212
-
## ROADMAP
216
+
The [code of conduct](CODE_OF_CONDUCT.md) must be followed in all contributions to the project.
213
217
214
-
The ROADMAP for Prosoul is based on [GitHub milestones](https://github.com/Bitergia/prosoul/milestones). The current active work is done in the issues related to the current milestone.
There are two introductory videos: showing the import and view feature, and how to use the editor for adding a new quality model:
4
+
5
+
* Import and view of quality models: [prosoul-intro.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-intro.webm)
6
+
* Adding a new quality model: [prosoul-editor.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-editor.webm)
7
+
* Creating a viz and an assessment based on a quality model: [prosoul-viz-assess.webm](https://raw.githubusercontent.com/Bitergia/prosoul/master/doc/meditor-viz-assess.webm)
8
+
9
+
## Prosoul with CROSSMINER
10
+
11
+
There is a specific guide for [using prosoul with CROSSMINER](prosoul-crossminer.md) for creating the visualization
12
+
for a quality model and generating the assessment of the projects with CROSSMINER.
13
+
14
+
There is a
15
+
[demo online of prosoul for CROSSMINER](https://eclipse.zoom.us/recording/share/cMm_9gGMNir9UWqY0Mn7mWCETlA_9LJhcZF0uGIru_KwIumekTziMw).
16
+
17
+
## Prosoul with GrimoireLab
18
+
19
+
There is a specific guide for [using prosoul with GrimoireLab](prosoul-grimoirelab.md) for creating the visualization
20
+
for a quality model and generating the assessment of the projects with GrimoireLab.
0 commit comments