#SWAT: SW-analytics toolkit A platform for scraping, measuring, visualizing and drawing data-driven conclusions out of software data.
It consists of 3 parts:
- Analyzer (scrapes version-control-systems and bugtrackers and pushes data into a RDBMS)
- www-backend (serves content and performs queries through a RESTful API)
- www-frontend (visualization for metrics on client side).
####python requirements
-
pip
Pip should be installed together with Python as of 2.7.9 -
Install additional python requirements by doing:
$>pip install -r pip-requirements.py
-
Create project.config
Copy project.config.template -> project.config
Follow the comments in the file to make sure everything is configured properly. -
Configure MAINTAINERS
This file contains a list of all subsystems (a list of inclusion/exclusion pattern rules).
Creating a database is done through the script analyze.py
You can either cumulatively update, or analyze everything as defined in project.config.
If you are analyzing a git repo, you should also define the repo_root in the project.config file (under
db_update section).
The www frontend is based on the django web framework You first need to configure django to be able to run the development server, you do that by:
-
Copy www/MetricsViewer/MetricsViewer/local_settings.py.example -> www/MetricsViewer/MetricsViewer/local_settings.py
Follow the comments inside that file on how to properly configure it. -
Start the server
It will use whatever database as defined in project.config::[MetricsViewer][engine_url]$>python www/MetricsViewer/manage.py runserver
By default, the development server will start to listen on http://localhost:8000
More frontend information: