An audit tool for software projects based on the ISO/IEC 25010 specification.
Developed in the context of the AMOS Project in summer of 2020 @ FAU for the company msg.
The frontend is a single page web application for mobile and desktop, built with Angular.
MSG Audit Tool fully supports the following Browsers with the respective version.
Firefox |
Chrome |
Edge |
Safari |
Brave |
Opera |
---|---|---|---|---|---|
>= 75 | >= 77 | >= 83 | >= 13 | >= 81 | >= 64 |
We can not guarantee support for other browsers but we are certain that the MSG Audit Tool will run on all modern browsers with ES6 Support.
A comprehensive documentation for the angular application is available on GitHub Pages or locally under ng-frontend/documentation
To set it up locally for development do the following:
- Install node.js.
- Install the Angular CLI globally:
npm i -g @angular/cli
- Clone this repository.
- Run
npm i
inside /ng-frontend to install all dependencies. - To serve and open the application, run
ng s -o
. The application will open under http://localhost:4200.
We use VS Code for development. To apply our coding guidelines use the following plugins:
- Prettier - Code Formatter (enable it as the default formatter)
Set up your development environment as described above. Then use the following instructions to start the tests.
To run the unit tests do the following:
- (Linux only) Make sure to have Chrome/Chromium installed and the path to it in the
CHROME_BIN
environment variable. - To start all unit tests use
npm run test
ornpm run test-headless
.
Unit tests are written in the .spec
files in each components directory.
We use cypress for our end-to-end-tests. To start all End-to-end tests use npm run e2e
or npm run e2e-headless
.
End-to-end tests are written in the cypress/
folder.
The Java-Backend uses the Spring Boot Framework and MySQL.
-
Install mysql server:
e.g. mariaDB on Arch Linux
sudo pacman -S mariadb mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
-
Install Java
-
Start your mysql server:
e.g.
sudo systemctl start mysqld
on Arch Linux -
Connect to your Database:
mysql -u root -p
If you forgot your mysql root password, you can reset it like this.
-
In your mysql shell create a database named
msg_audit_database
:CREATE DATABASE msg_audit_database;
-
In your mysql shell create a user
amos
with the passwordMsgAuditTool2020!
:CREATE USER 'amos'@'localhost' IDENTIFIED BY 'MsgAuditTool2020!';
-
Grant user all privileges:
GRANT ALL PRIVILEGES ON * . * TO 'amos'@'localhost';
FLUSH PRIVILEGES;
To start the server while developing you can use Eclipse or another IDE and run com.amos2020.javabackend.JavaBackendApplication
as Java Application.
This will generate the database structure and fill the database with the specific factors, criteria and interview questions from the ISO/IEC 25010 specification.
With the initial configuration the database is dropped, recreated and filled with every build. In order to change that the value spring.datasource.initialization-mode
has to be changed from always
to never
after the database was initalized.
We use Maven to handle our dependencies and to package our source code.
To package the backend server use mvn package
in the java-backend
folder. The output will be in java-backend/target
.
To run this package as a standalone server use java -jar target/java-backend-0.0.1-SNAPSHOT.jar
.
The tests can be started with mvn test