Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
258 commits
Select commit Hold shift + click to select a range
bdd2b0f
#2 Implement check of used vs. set parameters
OndrejVane Jul 29, 2021
a038107
#2 Implement check of used vs. set parameters
OndrejVane Jul 30, 2021
add3b45
#6 Allow for String AP parameters
OndrejVane Jul 30, 2021
c0c50ef
#3 Add link to catalogue to AP detail
OndrejVane Jul 30, 2021
0b61292
#4 Allow reparameterization in AP detail
OndrejVane Jul 30, 2021
4987440
#6 Allow for String AP parameters
OndrejVane Aug 15, 2021
b95b30b
#6 Allow for String AP parameters
OndrejVane Aug 15, 2021
a00992e
#5 Implement user input checks
OndrejVane Aug 15, 2021
efbc32c
#5 Implement user input checks
OndrejVane Aug 16, 2021
e15a664
#9 Split SQL scripts
OndrejVane Sep 5, 2021
7a26781
#5 Implement user input checks
OndrejVane Sep 5, 2021
48a86d4
#7 Comment rigorously all code
OndrejVane Sep 5, 2021
135aa0d
Minor fix
OndrejVane Nov 8, 2021
ae95d52
db name change
stepanekp Mar 14, 2022
e4db247
bug fix
stepanekp Mar 14, 2022
c7eb5d0
CSS and JS moved to separate files
stepanekp Mar 14, 2022
24c3740
#15 Collect relevant data from AP catalogue implemented
stepanekp Mar 14, 2022
408ea56
#16 Rich text field for AP operationalization details implemented
stepanekp Mar 14, 2022
e46d554
Configurations of antipatterns moved to separate json files
stepanekp Mar 16, 2022
2a508be
Login page added
stepanekp Mar 16, 2022
979da4b
#14 User login added
stepanekp Mar 20, 2022
d2ad296
Navigation edit
stepanekp Mar 23, 2022
d040154
minor changes
stepanekp Mar 23, 2022
efecfcb
Minor changes
stepanekp Mar 28, 2022
ccdbd51
Moving user credentials to separate file and creating service
stepanekp Mar 28, 2022
8be7e89
#14 Configuration service and config dropdown added
stepanekp Mar 29, 2022
8dd83ad
#14 Configurations dropdown editing
stepanekp Mar 30, 2022
cd3f21e
Configuration renamed to Threshold
stepanekp Mar 31, 2022
da68beb
Functions renamed
stepanekp Mar 31, 2022
927147a
#14 Configuration repository and service functions added
stepanekp Mar 31, 2022
20a4d17
Description from cataloque get function moved
stepanekp Mar 31, 2022
49158b9
pom.xml edited, resources added
stepanekp Apr 1, 2022
8a60bc8
Structure of the antipattern service and repository edited
stepanekp Apr 1, 2022
345955a
#14 Loading configuration from json edit
stepanekp Apr 1, 2022
38cde13
#14 Adding possibilty to use configurations from external files in an…
stepanekp Apr 2, 2022
7956c61
#14 Display of configuration threshold values
stepanekp Apr 2, 2022
31e7567
#14 Saving configuration threshold values added
stepanekp Apr 2, 2022
e72cefc
#14 Saving configurations to files added
stepanekp Apr 3, 2022
cc904d0
#14 Saving configurations to new files
stepanekp Apr 3, 2022
38a0541
#14 Saving configuration thresholds in AP detail added
stepanekp Apr 4, 2022
b9d9484
#16 inserting pre tag edited
stepanekp Apr 4, 2022
50dbb61
#16 Bugfix
stepanekp Apr 4, 2022
a72aa02
#16 Operationalization text clean from possible xss
stepanekp Apr 4, 2022
7ae54e7
#16 Adding timestamp to image name
stepanekp Apr 5, 2022
bc1cb4b
#14 Unused parts of code removed
stepanekp Apr 6, 2022
1e4fafc
Minor changes
stepanekp Apr 6, 2022
b9635ea
#14 Saving function moved
stepanekp Apr 6, 2022
6136d07
Minor changes
stepanekp Apr 6, 2022
8e87e63
Methods commented
stepanekp Apr 6, 2022
abfd651
Minor change
stepanekp Apr 6, 2022
5129e35
Paths to external files edited
stepanekp Apr 7, 2022
c3914f4
Reading anti-patterns from json files modified
stepanekp Apr 7, 2022
9904ea4
Configuration reading from files edited
stepanekp Apr 7, 2022
e1b24c8
Project structure changes for Docker
stepanekp Apr 8, 2022
f1f46aa
Change of resource files location
stepanekp Apr 9, 2022
8ec14d4
Change of resource files location
stepanekp Apr 9, 2022
0788c20
Docker volume added
stepanekp Apr 10, 2022
80ee821
Configuration view edited
stepanekp Apr 11, 2022
0210fee
Name changed
stepanekp Apr 11, 2022
f55cdc1
Configuration view edited
stepanekp Apr 11, 2022
cfd4e4b
Unknown Poster antipattern detection added
stepanekp Apr 12, 2022
855c113
Unknown Poster antipattern detection added
stepanekp Apr 12, 2022
c3c022c
New anti-pattern detectors added
stepanekp Apr 19, 2022
24f1a07
Adding images folder
stepanekp Apr 19, 2022
bc97507
#16 Pre tag replaced by code tag
stepanekp Apr 19, 2022
63f62fb
#16 Operationalization edit only for logged users
stepanekp Apr 19, 2022
766ffe5
New AP detectors minor changes
stepanekp Apr 20, 2022
bc8630a
Minor changes for Docker
stepanekp Apr 20, 2022
1a9b6c6
Redundant imports deleted
stepanekp Apr 20, 2022
6ad61e2
Bystander tasks ratio to percentage
stepanekp Apr 20, 2022
912e76c
Tests for configurations and json parsing added
stepanekp Apr 20, 2022
27518fc
Docker minor changes
stepanekp Apr 22, 2022
6767b4e
Minor changes
stepanekp Apr 28, 2022
45c112a
Detection detail added
stepanekp Apr 29, 2022
ccd8173
Minor changes
stepanekp Apr 29, 2022
33097c5
db dump change
stepanekp May 2, 2022
a26d9f9
#22 Terminology fixed
stepanekp May 14, 2022
ccb54b7
Release information edit
stepanekp May 14, 2022
d6de820
#27 No project/anti-pattern message added
stepanekp May 21, 2022
7b82ace
#22 Terminology fixed
stepanekp May 21, 2022
fb07040
#28 extendable configurations added
stepanekp May 22, 2022
6e62bdf
#27 configutation select box hidden for unlogged users
stepanekp May 22, 2022
9115737
#28 minor change
stepanekp May 22, 2022
3374af1
#23 selection page edited
stepanekp May 22, 2022
f6bfbd3
new DB scripts
stepanekp May 22, 2022
9644b73
Title change
stepanekp May 25, 2022
9b4d599
#23 Tables sorted alphabetically
stepanekp May 25, 2022
9039435
#23 Alphabetical sorting case insensitive
stepanekp May 27, 2022
824250f
#23 Select All checkbox moved to table footer
stepanekp May 27, 2022
9913995
#27 Configuration menu item not shown if AP list is empty
stepanekp Jun 4, 2022
c2ca53a
bugfix
stepanekp Jun 9, 2022
1e5caa5
Project id removed from results table
stepanekp Jun 9, 2022
429a972
bugfix
stepanekp Jun 12, 2022
afe7e57
updated java_doc added
stepanekp Jun 13, 2022
004a4e8
docker-compose file updated
stepanekp Jun 15, 2022
19a997a
bugfix
stepanekp Jun 19, 2022
20f290b
configuration files edited
stepanekp Jun 21, 2022
2739d15
#11 prepared class for UI tests. Only scenarios need to be added.
Jun 21, 2022
8694e97
#10 prepared Unit tests for model.types (yet) - more unit tests will…
Jun 21, 2022
d1e653c
#10 created some unit tests for module.type Percentage
Jun 21, 2022
905f8ab
#10 created new possible unit tests
Jun 22, 2022
69798f5
#34 checking if configuration name even exists before creating SQL query
Jun 22, 2022
2b46a05
#25 created CustomErrorController.java and own templates for http sta…
Jun 22, 2022
ab32fe3
#25 created and customized error templates.
Jun 23, 2022
7873388
#20 created home page template including FOOTER! and added newer vers…
Jun 24, 2022
f69fe10
#20 created home page template including FOOTER! and added newer vers…
Jun 24, 2022
4258978
#20 upgraded bootstrap version to 5.2 beta. Edited basic UI stuff for…
Jun 24, 2022
c5111d8
#26 Adding logging mechanism
Jun 27, 2022
da53e1a
#43 Added back column ID of each project but HIDDEN.
Jun 27, 2022
2aabf54
#41 Created new .js function which takes care of "middle option" --> …
Jun 28, 2022
3747eff
#41 renamed Select All to Quick Select so it's more logical
Jun 28, 2022
0315a6a
#41 edited quick select in /detect page
Jun 30, 2022
7ad13a9
#43 added links to AP and projects - to their pages.
Jul 4, 2022
a00c02d
#30 created .js files for saving detect selections. NOT FOR SESSION -…
Jul 5, 2022
de518a0
repaired bug in index.html template
Jul 5, 2022
8e78fe9
repaired bug in index.html template
Jul 5, 2022
b9bf3a8
#11 created UI test for testing elements on detect page
Jul 5, 2022
2dbb7e6
#11 created UI test for testing elements on configuration page
Jul 6, 2022
f7f24bb
#44 separated plugin versions into properties tag.
Jul 6, 2022
0d89497
#44
Jul 6, 2022
5fb7a48
#30 refactor of previous .js file.
Jul 13, 2022
7fade40
#43 added underline on mouse hover to AP and project links.
Jul 13, 2022
b834cf5
#41 added border-bottom to quick select row and made it wider, remove…
Jul 13, 2022
8dd5f99
Merge branch 'custom-err-template' into dev
Jul 13, 2022
28d7d98
Merge branch 'input-checks' into dev
Jul 13, 2022
1e24f29
merge
Jul 13, 2022
aff5b63
Merge branch 'ui-tests' into dev
Jul 13, 2022
a91cb03
Merge branch 'custom-home-template' into dev
Jul 13, 2022
5363614
merge
Jul 13, 2022
9456601
merge
Jul 13, 2022
d60ee7b
merge
Jul 13, 2022
feab914
new: #10051 Příprava modulů; created new module ui.
Mar 14, 2023
ff054af
new: #10050 Vytvořit ReactJS strukturu; created dummy controller and …
Mar 14, 2023
042274e
new: #10244 Vytvoření controlleru pro modul správy uživatelů. Připave…
Badjokke Apr 2, 2023
d438fc1
new: #10245 ReactJS routing, přihlašovací formulář
Apr 5, 2023
0f69d5e
Changes by 1step
Apr 5, 2023
26409d1
#10247 rozděláné testy, chybí otestovat controller, service je otestován
Hrabikv Apr 6, 2023
d60d25d
#10244 završení implementace service a controllerů. Sepsány jednotkov…
Badjokke Apr 6, 2023
d5b72f5
Merge remote-tracking branch 'origin/feature/userModule' into feature…
Apr 6, 2023
ded2936
new: #10245 ReactJS routing, přihlašovací formulář
Apr 6, 2023
2727d02
new: #10245 ReactJS routing, přihlašovací formulář
Apr 6, 2023
7011e00
new: #10245 ReactJS routing, přihlašovací formulář
Apr 6, 2023
192f297
#10244 bug fix vytvareni hashe
Badjokke Apr 6, 2023
90348e1
#10244 přihlášení uživatele porovnání otisků hesla
Badjokke Apr 7, 2023
9f856c9
#10244 aktualizace komentářů
Badjokke Apr 7, 2023
feea719
#10244 Očista kódu
Badjokke Apr 7, 2023
d3fafcf
#10244 Očista kódu
Badjokke Apr 7, 2023
e419170
#10228 - napojení react aplikace na SPADe endpoint pro login
Apr 7, 2023
8549b80
#10228 - mírna úprava response json objektu pro namapování na react
Apr 7, 2023
1c632f9
#10228 implementace komunikace s autentizacni aplikaci.
Badjokke Apr 7, 2023
00db4bd
#10228 definice realmu v application properties souboru
Badjokke Apr 7, 2023
e5500e5
#10244 implementace komunikace s autentizacni aplikaci.
Badjokke Apr 7, 2023
32f56e6
#10228 definice realmu v application properties souboru
Badjokke Apr 7, 2023
ac45080
#10244 implementace komunikace s autentizacni aplikaci.
Badjokke Apr 7, 2023
0893b08
#10228 odebrani localhost hesel
Badjokke Apr 7, 2023
a47418a
#10228 Implementování odhlášení uživatele a invalidace tokenu
Badjokke Apr 8, 2023
44b14b4
#10228 Implementování odhlášení uživatele a invalidace tokenu
Badjokke Apr 8, 2023
ab0841e
#10244 implementace komunikace s autentizacni aplikaci.
Badjokke Apr 8, 2023
1d73218
#10228 Implementování odhlášení uživatele a invalidace tokenu
Badjokke Apr 8, 2023
1261b96
#10237 Přidání připojení ke druhé databázi - MS SQL s tabulkou Users.…
stepanekp Apr 9, 2023
37a08e2
#10237 Vytvoření konfiguračních souborů pro obě databáze.
stepanekp Apr 9, 2023
94cc7ad
#10228 - authentication entry point
Apr 9, 2023
1215917
#10228 authentication entry point
Apr 9, 2023
df7a395
#10228 authentication entry point
Apr 9, 2023
77ad34f
#10228 - authentication entry point
Apr 9, 2023
721a7cb
#10228 Implementování odhlášení uživatele a invalidace tokenu
Badjokke Apr 10, 2023
ab4c8e0
#10244 implementace komunikace s autentizacni aplikaci.
Badjokke Apr 10, 2023
527af17
#10368 testy pro userservice
Hrabikv Apr 13, 2023
a885eac
#10366 Dopsání testů pro autentikační službu. Mírný refactoring kódu …
Badjokke Apr 14, 2023
61bc2ec
#10366 Změny v util třídě pro stavění JSONu/HTTP requstu
Badjokke Apr 14, 2023
59e25e6
#10365 - vytváření endpointu pro refresh tokenu. Token se vytvoří nov…
Apr 15, 2023
3512e73
#10398 vytváření endpointu pro refresh tokenu s P. Urb.
Apr 15, 2023
c1779a2
#10365 - refactor
Apr 15, 2023
3584b0c
#10399 vyřešen problém s dvojím voláním filteru při requestu
Hrabikv Apr 15, 2023
f53de6a
#10426 - refactor, párování na reactjs, povolení cors
Apr 15, 2023
605f455
#10386 refaktor
stepanekp Apr 16, 2023
4866d5d
#10386 sql skript
stepanekp Apr 16, 2023
5cc237d
#10386 update sql skriptu
stepanekp Apr 16, 2023
401502a
#10393 jen přidání přepočtu času do normálních jednotek :D
Hrabikv Apr 16, 2023
7f0e1a0
#10425 Zachytávání vyjímek (error http requestů) z AUTH appky a násle…
Badjokke Apr 20, 2023
2a6c63b
#10425 Zachytávání vyjímek (error http requestů) z AUTH appky a násle…
Badjokke Apr 20, 2023
f80fcfd
#10258 vytvoření prof of concept kontraktových testů s použitím groov…
Hrabikv Apr 22, 2023
53c4a25
Merge remote-tracking branch 'origin/feature/mssql-datasource' into f…
Apr 23, 2023
38661f9
#10255 - merge vývoje do authentication branche
Apr 23, 2023
5dc387a
#10520 - vytvořen db.app_metadata_createTable.sql skript na založení …
Apr 26, 2023
44765e5
#10521 - created controller, service, repository and models for handl…
Apr 26, 2023
9c27c03
#10521 - edited SecurityBasics.java
Apr 26, 2023
c0e4433
#10517 dummy end point vytvořen. Repository napojeno a databáze pro u…
Badjokke Apr 28, 2023
9147684
#10493 spravení konraktových testů
Hrabikv Apr 29, 2023
85e4d3b
#10521 - edited SecurityBasics.java and WebSecurityConfig.java
Apr 29, 2023
f811f34
Merge branch 'feature/aboutPage' into feature/authentication
Apr 29, 2023
9e82bc8
#10517 repository a controller + service vytvořena. Chybí dodělat ver…
Badjokke Apr 29, 2023
d5b8583
#10517 repository a controller + service vytvořena.
Badjokke Apr 30, 2023
2280c01
Merge remote-tracking branch 'origin/feature/authentication' into fea…
Badjokke Apr 30, 2023
11e4297
#10517 merge zmen od P. Urbana z authentication vetve pro websecurity…
Badjokke Apr 30, 2023
54cc296
#10517 sanity refactoring
Badjokke Apr 30, 2023
cf7759c
#10517 zmena stavove kodu pri nedodani autorizacni headeru/beareru
Badjokke Apr 30, 2023
fbce8e7
#10519 vytvoření kotraktů pro login, registraci a častečně logout
Hrabikv Apr 30, 2023
ecc8703
#10526 vytvoreni controlleru pro detekci.
Badjokke May 5, 2023
1bb5944
#10523 vytvoreni default usera pro konfigurace. mirny refactor konfig…
Badjokke May 5, 2023
467aa14
Changes by 1step
Badjokke May 5, 2023
ba18288
#10523 refactor datoveho modelu
Badjokke May 5, 2023
f31ea2f
#10621 posílání výsledků detekce zpět na klienta
Badjokke May 7, 2023
55ba616
Changes by 1step
Badjokke May 7, 2023
99db186
Changes by 42060
Badjokke May 7, 2023
4614450
#10621 posílání výsledků detekce zpět na klienta
Badjokke May 7, 2023
2cb8850
#10621 osetreni empty array z detekce
Badjokke May 8, 2023
634fe87
Merge remote-tracking branch 'origin/feature/configuration' into feat…
Hrabikv May 9, 2023
b543e56
#10645 vytvoření groovy sriptů a namockování pro configurace
Hrabikv May 16, 2023
b00ca08
#10644 vytvoření groovy sriptů a namockování pro configurace
Hrabikv May 17, 2023
1e098a8
#10646 vytvoření groovy sriptů a namockování pro configurace
Hrabikv May 18, 2023
76949df
#10647 menší změna a oprava chyby v testu
Hrabikv May 18, 2023
c9d1085
#10648 refaktor potřebných změn v DB skriptech a konfiguračních servi…
May 18, 2023
c72a4d3
#10558 refactor service a controller vrstvy u configuration endpointu.
Badjokke May 21, 2023
da5a43e
#10648 přepsání TODO na plnohodnotný text v About pro popis verze 2.0.0
May 21, 2023
eb25df4
#10648 úprava about, aby nepotřebovala autentizaci.
May 21, 2023
93cc44d
#10650 CC a CR
Badjokke May 21, 2023
c058d7f
#10657 oprava testů k releasu
Hrabikv May 22, 2023
d43c14c
#10397 Dopsání testové sady pro detekci. Opravena chyba při detekci s…
Badjokke May 22, 2023
82353cb
Merge remote-tracking branch 'origin/feature/authentication' into fea…
Badjokke May 22, 2023
d88250f
#10397 Opraveny testy na detekci
Badjokke May 23, 2023
e9a96fd
https://kivprogrammers.atlassian.net/browse/TSP2-23 soubory Bp Adama …
Hrabikv Oct 14, 2023
73897ee
https://kivprogrammers.atlassian.net/browse/TSP2-24 Changes by jirka
Hrabikv Oct 14, 2023
3a885e6
https://kivprogrammers.atlassian.net/browse/TSP2-23 soubory Bp Adama …
Hrabikv Oct 14, 2023
66ee753
https://kivprogrammers.atlassian.net/browse/TSP2-28 integrace kontrol…
stepanekp Oct 15, 2023
e2d7fe6
https://kivprogrammers.atlassian.net/browse/TSP2-30 připrava backendu…
Hrabikv Oct 15, 2023
07a93b2
https://kivprogrammers.atlassian.net/browse/TSP2-29
Hrabikv Oct 15, 2023
b84f808
https://kivprogrammers.atlassian.net/browse/TSP2-30 připrava backendu…
Hrabikv Oct 15, 2023
031c4f3
https://kivprogrammers.atlassian.net/browse/TSP2-30 přidání posílání …
Hrabikv Oct 20, 2023
16f39a5
https://kivprogrammers.atlassian.net/browse/TSP2-30 kontrolo validace…
Hrabikv Oct 21, 2023
dec281a
https://kivprogrammers.atlassian.net/browse/TSP2-30 kontrolo validace…
Hrabikv Oct 26, 2023
e284c23
https://kivprogrammers.atlassian.net/browse/TSP2-29
Hrabikv Oct 26, 2023
627559b
https://kivprogrammers.atlassian.net/browse/TSP2-37 načítání projektů…
stepanekp Oct 29, 2023
9cba4da
https://kivprogrammers.atlassian.net/browse/TSP2-45 Dokončení funkcio…
Hrabikv Nov 3, 2023
01b7f3c
Merge remote-tracking branch 'origin/feature/managementProjects' into…
Nov 4, 2023
0dda356
https://kivprogrammers.atlassian.net/browse/TSP2-48 Načítání seznamu …
stepanekp Nov 4, 2023
ba3279e
https://kivprogrammers.atlassian.net/browse/TSP2-48 Implementace merg…
stepanekp Nov 8, 2023
7930834
https://kivprogrammers.atlassian.net/browse/TSP2-48 Omezení délky vst…
stepanekp Nov 10, 2023
66e2b6d
https://kivprogrammers.atlassian.net/browse/TSP2-48 Délka vstupu jako…
stepanekp Nov 10, 2023
3cb7304
https://kivprogrammers.atlassian.net/browse/TSP2-62 endpoint aktivity…
Hrabikv Nov 24, 2023
877a362
https://kivprogrammers.atlassian.net/browse/TSP2-63 endpoint aktivity…
Hrabikv Nov 24, 2023
c3365e8
https://kivprogrammers.atlassian.net/browse/TSP2-62 updete workunity
Hrabikv Nov 25, 2023
88d53ec
https://kivprogrammers.atlassian.net/browse/TSP2-63 reakce na update …
Hrabikv Nov 25, 2023
16c80fa
https://kivprogrammers.atlassian.net/browse/TSP2-62 přidání filteru
Hrabikv Dec 2, 2023
af0b1e0
https://kivprogrammers.atlassian.net/browse/TSP2-63 filter
Hrabikv Dec 2, 2023
03cab30
https://kivprogrammers.atlassian.net/browse/TSP2-63
Badjokke Dec 2, 2023
172b77b
https://kivprogrammers.atlassian.net/browse/TSP2-63
Badjokke Dec 2, 2023
212b007
https://kivprogrammers.atlassian.net/browse/TSP2-63
Badjokke Dec 4, 2023
45b8938
https://kivprogrammers.atlassian.net/browse/TSP2-70
Badjokke Dec 6, 2023
fe28bf6
opraveny status codes - neni chtene hodit 500, kdyz server zpracuje s…
Badjokke Dec 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
*.tar.gz
*.rar


.idea
.vscode

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
/target/
Expand Down
6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ FROM maven:3.6.3-jdk-11-slim AS build
RUN mkdir -p /workspace
WORKDIR /workspace
COPY pom.xml /workspace
#RUN mvn -f pom.xml dependency:resolve
COPY src /workspace/src
RUN mvn -f pom.xml clean package -Dmaven.test.skip=true

### STAGE 2: RUN ###
FROM adoptopenjdk:11-jre-hotspot
COPY --from=build /workspace/target/*.war app.war

EXPOSE 8080
ENTRYPOINT ["java","-jar","app.war"]
ENTRYPOINT ["java","-jar","app.war", "--spring.config.location=/application.properties"]
73 changes: 52 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
# AntiPatternDetectionApp
This application was created as part of the thesis. It is used for analysis and detection of anti-patterns in project data.
# ReliSA - SPADe-Web-GUI
This application was is used for analysis and detection of anti-patterns in project data.

## Thesis abstract
The goal of this thesis is to analyze and automatically detect anti-patterns in the data of project management tools using SPADe tools. The SPADe tool is used to collect data from ALM tools and search for bad practices (anti-patterns) in project data. In order to develop this thesis, an analysis of the available anti-patterns was performed and then a subset was selected for further investigation. In the next part, the detection of the analyzed anti-patterns was implemented using SQL queries and Java programming language was used to process the results of these queries. As an extra feature of this thesis, going beyond the scope of the original assignment, a support web application for running the detection process of implemented anti-patters and results presentation was also developed. Furthermore, an experiment was performed on a selected sets of anti-patterns and project data. The success of the detection was verified by comparing the results to those from a manual anti-pattern detection in project data from the source ALM tools. Detection success was successful at 93.65 % compared to manual control.

## Analyzed Anti-Patterns
In version 1.0.0 of this application, the detection of the following Anti-Patterns is implemented:
* Business As Usual
* Long Or Non-Existant Feedback Loops
Expand All @@ -14,19 +10,54 @@ In version 1.0.0 of this application, the detection of the following Anti-Patter
* Too Long Sprint
* Varying Sprint Length

## Run
### Tools to run
It will need the following tools to run the application:
* Docker
* Docker Compose
### Run application
The following list describes the steps to run (you will need):
1. Open terminal.
2. Move to the root folder of this project (AntiPatternDetectionApp).
3. Build docker images with command `docker-compose build`.
4. Create and run all containers with command `docker-compose run`.
5. Open phpMyAdmin on docker address on port 8082.
6. Create database with name spade using command `CREATE DATABASE spade;`.
7. Restore database from file `db_dump.sql` located in project root folder.
8. Run all commands from file `config.sql` located in project root folder.
# Basic architecture of app

# Installation guide

# Add new Anti-Pattern

# User guide
## Analyze projects
1) On home page select project to analyze (you can use check box for select/deselect all projects)
TODO obrázek
2) Select Anti-Patterns to analyze (you can use check box for select/deselect all Anti-Patterns)
TODO obrázek
3) Click to button Analyze
TODO obrázek
4) Table with detections result
TODO obrázek
5) Show details of detection
6) Show detail of Anti-Pattern

## Configuration of Anti-Patterns
1) Go to Configuration page
TODO obrázek
2) Change corresponding threshold values
TODO obrázek
3) Click button Save or press Enter
TODO obrázek
4) If the values ​​are set correctly, a message is displayed stating that the values ​​were saved successfully
TODO obrázek
5) If the values ​​are set incorrectly, a error message is displayed and the corresponding values ​​are highlighted in red with error message
TODO obrázek

## Show Anti-Pattern detail
1) Go to Anti-Pattern detail page
1) On Home page click on anchor Show next to corresponding Anti-Pattern
2) On result page slick on Anti-Pattern name and anchor Detail
2) Anti-Pattern detail page is shown (name, description, anchor to catalogue, configuration values)
3) Configuration values can be updated also in this page
1) Change corresponding threshold values
2) Click button Save or press Enter
4) If the values ​​are set correctly, a message is displayed stating that the values ​​were saved successfully
TODO obrázek
5) If the values ​​are set incorrectly, a error message is displayed and the corresponding values ​​are highlighted in red with error message
TODO obrázek

## Show project detail
1) On home page click on anchor Show, next to corresponding project
TODO obrázek
2) Project details is shown (project id, name, description)
TODO obrázek


3 changes: 0 additions & 3 deletions config.sql

This file was deleted.

146 changes: 146 additions & 0 deletions data/configurations/Default.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
{
"configuration": [
{
"antiPattern": "TooLongSprint",
"thresholds": [
{
"thresholdName": "maxIterationLength",
"value": "21"
},
{
"thresholdName": "maxNumberOfTooLongIterations",
"value": "0"
}
]
},
{
"antiPattern": "VaryingSprintLength",
"thresholds": [
{
"thresholdName": "maxDaysDifference",
"value": "7"
},
{
"thresholdName": "maxIterationChanged",
"value": "1"
}
]
},
{
"antiPattern": "BusinessAsUsual",
"thresholds": [
{
"thresholdName": "divisionOfIterationsWithRetrospective",
"value": "66.66f"
},
{
"thresholdName": "searchSubstringsWithRetrospective",
"value": "%retr%||%revi%||%week%scrum%"
}
]
},
{
"antiPattern": "SpecifyNothing",
"thresholds": [
{
"thresholdName": "minNumberOfWikiPagesWithSpecification",
"value": "1"
},
{
"thresholdName": "minNumberOfActivitiesWithSpecification",
"value": "1"
},
{
"thresholdName": "minAvgLengthOfActivityDescription",
"value": "150"
},
{
"thresholdName": "searchSubstringsWithProjectSpecification",
"value": "%dsp%||%specifikace%||%specification%||%vize%proj%||%vize%produ%"
}
]
},
{
"antiPattern": "RoadToNowhere",
"thresholds": [
{
"thresholdName": "minNumberOfWikiPagesWithProjectPlan",
"value": "1"
},
{
"thresholdName": "minNumberOfActivitiesWithProjectPlan",
"value": "1"
},
{
"thresholdName": "searchSubstringsWithProjectPlan",
"value": "%plán projektu%||%project plan%||%plan project%||%projektový plán%"
}
]
},
{
"antiPattern": "LongOrNonExistentFeedbackLoops",
"thresholds": [
{
"thresholdName": "divisionOfIterationsWithFeedbackLoop",
"value": "50.00f"
},
{
"thresholdName": "maxGapBetweenFeedbackLoopRate",
"value": "2f"
},
{
"thresholdName": "searchSubstringsWithFeedbackLoop",
"value": "%schůz%zákazník%||%předvedení%zákazník%||%zákazn%demo%||%schůz%zadavat%||%inform%schůz%||%zákazn%||%zadavatel%"
}
]
},
{
"antiPattern": "NinetyNinetyRule",
"thresholds": [
{
"thresholdName": "maxDivisionRange",
"value": "1.25f"
},
{
"thresholdName": "maxBadDivisionLimit",
"value": "2"
}
]
},
{
"antiPattern": "UnknownPoster",
"thresholds": [
{
"thresholdName": "searchSubstringsInvalidNames",
"value": "%unknown%||%anonym%"
}
]
},
{
"antiPattern": "BystanderApathy",
"thresholds": [
{
"thresholdName": "searchSubstringsInvalidContributors",
"value": "%dependabot%"
},
{
"thresholdName": "maximumPercentageOfTasksWithoutTeamwork",
"value": "30f"
}
]
},
{
"antiPattern": "YetAnotherProgrammer",
"thresholds": [
{
"thresholdName": "maxNumberOfNewContributors",
"value": "5"
},
{
"thresholdName": "numberOfFirstMonthsWithoutDetection",
"value": "2"
}
]
}
]
}
1 change: 1 addition & 0 deletions data/operationalizations/BusinessAsUsual.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/BystanderApathy.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/NinetyNinetyRule.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/RoadToNowhere.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/SpecifyNothing.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/TooLongSprint.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/UnknownPoster.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/VaryingSprintLength.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
1 change: 1 addition & 0 deletions data/operationalizations/YetAnotherProgrammer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Operationalization description will be placed here.
Empty file.
2 changes: 2 additions & 0 deletions db/spade/spade-config.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
USE spade;
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Loading