├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .idea └── runConfigurations │ ├── backend_spring_boot_DEV.xml │ ├── docker_compose_DEV.xml │ ├── docker_compose_REF.xml │ └── frontend_angular_DEV.xml ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.adoc ├── backend ├── Dockerfile ├── pom.xml └── src │ ├── main │ ├── java │ │ └── de │ │ │ └── mrrobworks │ │ │ └── springbootangular │ │ │ └── backend │ │ │ ├── SpringbootAngularTemplateBackendApplication.java │ │ │ ├── approle │ │ │ ├── AppRole.java │ │ │ ├── AppRoleController.java │ │ │ ├── AppRoleDto.java │ │ │ ├── AppRoleMapper.java │ │ │ ├── AppRoleRepository.java │ │ │ ├── AppRoleRepositoryCustom.java │ │ │ ├── AppRoleRepositoryImpl.java │ │ │ ├── AppRoleService.java │ │ │ ├── AppRoleServiceImpl.java │ │ │ └── package-info.java │ │ │ ├── appuser │ │ │ ├── AppUser.java │ │ │ ├── AppUserController.java │ │ │ ├── AppUserDto.java │ │ │ ├── AppUserMapper.java │ │ │ ├── AppUserRepository.java │ │ │ ├── AppUserRepositoryCustom.java │ │ │ ├── AppUserRepositoryImpl.java │ │ │ ├── AppUserService.java │ │ │ ├── AppUserServiceImpl.java │ │ │ └── package-info.java │ │ │ ├── global │ │ │ ├── CorsConfiguration.java │ │ │ ├── DbProvider.java │ │ │ ├── GlobalExceptionHandler.java │ │ │ ├── LogAspect.java │ │ │ ├── SwaggerConfig.java │ │ │ ├── WebOAuth2Config.java │ │ │ ├── WebOAuth2ConfigHelper.java │ │ │ ├── package-info.java │ │ │ ├── rest-client.env.json │ │ │ └── rest.http │ │ │ └── person │ │ │ ├── Person.java │ │ │ ├── PersonController.java │ │ │ ├── PersonDto.java │ │ │ ├── PersonMapper.java │ │ │ ├── PersonRepository.java │ │ │ ├── PersonService.java │ │ │ ├── PersonServiceImpl.java │ │ │ └── package-info.java │ └── resources │ │ ├── application-dev.yml │ │ ├── application-ref.yml │ │ ├── application.yml │ │ ├── archive │ │ ├── WEBAPP-spring-boot-angular-template.sh │ │ └── application-external.yml │ │ ├── assembly.xml │ │ ├── db │ │ └── migration │ │ │ └── V0_1__init.sql │ │ ├── filter.properties │ │ └── logback-spring.xml │ └── test │ ├── java │ └── de │ │ └── mrrobworks │ │ └── springbootangular │ │ └── backend │ │ ├── appuser │ │ └── AppUserServiceImplTest.java │ │ ├── helper │ │ ├── CustomSpringBootContextLoader.java │ │ ├── DatabaseExportForDbUnit.java │ │ ├── DbUnitTestCase.java │ │ ├── EnableDatabaseManager.java │ │ └── ImprovedHSQLDialect.java │ │ └── repository │ │ └── PersonRepositoryTest.java │ └── resources │ ├── application.yml │ ├── dbunit-db │ ├── expected │ │ └── expected-person.xml │ └── setup │ │ └── setup-person.xml │ └── schema.sql.backup ├── docker-compose.dev.yml ├── docker-compose.ref.yml ├── docker-compose.yml ├── frontend ├── .editorconfig ├── README.md ├── angular.json ├── e2e │ ├── app.e2e-spec.ts │ ├── app.po.ts │ └── tsconfig.e2e.json ├── karma.conf.js ├── package-lock.json ├── package.json ├── pom.xml ├── protractor.conf.js ├── proxy.conf.json ├── src │ ├── ag-grid-template.scss │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── directives │ │ │ ├── autofocus.directive.spec.ts │ │ │ ├── autofocus.directive.ts │ │ │ ├── enable-if-permission.directive.spec.ts │ │ │ ├── enable-if-permission.directive.ts │ │ │ ├── show-if-permission.directive.spec.ts │ │ │ └── show-if-permission.directive.ts │ │ ├── login │ │ │ ├── login.component.html │ │ │ ├── login.component.spec.ts │ │ │ └── login.component.ts │ │ ├── models │ │ │ ├── authorization-types.ts │ │ │ ├── detail-mode.ts │ │ │ ├── person.ts │ │ │ ├── template-role-factory.ts │ │ │ ├── template-role-raw.ts │ │ │ ├── template-role.ts │ │ │ ├── template-user-factory.ts │ │ │ ├── template-user-raw.ts │ │ │ └── template-user.ts │ │ ├── nav-top-bar │ │ │ ├── nav-top-bar.component.html │ │ │ ├── nav-top-bar.component.spec.ts │ │ │ └── nav-top-bar.component.ts │ │ ├── person-list │ │ │ ├── person-list.component.html │ │ │ ├── person-list.component.spec.ts │ │ │ └── person-list.component.ts │ │ ├── role-delete │ │ │ ├── role-delete.component.html │ │ │ ├── role-delete.component.spec.ts │ │ │ └── role-delete.component.ts │ │ ├── role-detail │ │ │ ├── role-detail.component.html │ │ │ ├── role-detail.component.spec.ts │ │ │ └── role-detail.component.ts │ │ ├── role-list │ │ │ ├── role-list.component.html │ │ │ ├── role-list.component.spec.ts │ │ │ └── role-list.component.ts │ │ ├── services │ │ │ ├── authorization.service.spec.ts │ │ │ ├── authorization.service.ts │ │ │ ├── login.service.spec.ts │ │ │ ├── login.service.ts │ │ │ ├── person-list.service.spec.ts │ │ │ ├── person-list.service.ts │ │ │ ├── role.service.spec.ts │ │ │ ├── role.service.ts │ │ │ ├── user-list.service.spec.ts │ │ │ ├── user-list.service.ts │ │ │ ├── user.service.spec.ts │ │ │ └── user.service.ts │ │ ├── user-detail │ │ │ ├── user-detail.component.html │ │ │ ├── user-detail.component.spec.ts │ │ │ └── user-detail.component.ts │ │ ├── user-list │ │ │ ├── user-list.component.html │ │ │ ├── user-list.component.spec.ts │ │ │ └── user-list.component.ts │ │ ├── user-profile │ │ │ ├── user-profile.component.html │ │ │ ├── user-profile.component.spec.ts │ │ │ └── user-profile.component.ts │ │ └── util │ │ │ └── ag-grid-base.ts │ ├── assets │ │ ├── .gitkeep │ │ └── role-list-sample.png │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── typings.d.ts ├── tsconfig.json └── tslint.json ├── mvnw ├── mvnw.cmd ├── pom.xml ├── sonar-project.properties └── wait-for.sh /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Java template 2 | # Compiled class file 3 | *.class 4 | 5 | # Log file 6 | *.log 7 | 8 | # Package Files # 9 | *.jar 10 | *.war 11 | *.zip 12 | *.tar.gz 13 | *.rar 14 | 15 | ### Node template 16 | # Logs 17 | logs 18 | *.log 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | lerna-debug.log* 23 | 24 | # Diagnostic reports (https://nodejs.org/api/report.html) 25 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 26 | 27 | # Runtime data 28 | pids 29 | *.pid 30 | *.seed 31 | *.pid.lock 32 | 33 | # Directory for instrumented libs generated by jscoverage/JSCover 34 | lib-cov 35 | 36 | # Coverage directory used by tools like istanbul 37 | coverage 38 | *.lcov 39 | 40 | # nyc test coverage 41 | .nyc_output 42 | 43 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 44 | .grunt 45 | 46 | # Bower dependency directory (https://bower.io/) 47 | bower_components 48 | 49 | # node-waf configuration 50 | .lock-wscript 51 | 52 | # Compiled binary addons (https://nodejs.org/api/addons.html) 53 | build/Release 54 | 55 | # Dependency directories 56 | node_modules/ 57 | jspm_packages/ 58 | 59 | # TypeScript v1 declaration files 60 | typings/ 61 | 62 | # TypeScript cache 63 | *.tsbuildinfo 64 | 65 | # Optional npm cache directory 66 | .npm 67 | 68 | # Optional eslint cache 69 | .eslintcache 70 | 71 | # Optional REPL history 72 | .node_repl_history 73 | 74 | # Output of 'npm pack' 75 | *.tgz 76 | 77 | # Yarn Integrity file 78 | .yarn-integrity 79 | 80 | # dotenv environment variables file 81 | .env 82 | .env.test 83 | 84 | # parcel-bundler cache (https://parceljs.org/) 85 | .cache 86 | 87 | # next.js build output 88 | .next 89 | 90 | # nuxt.js build output 91 | .nuxt 92 | 93 | # vuepress build output 94 | .vuepress/dist 95 | 96 | # Serverless directories 97 | .serverless/ 98 | 99 | # FuseBox cache 100 | .fusebox/ 101 | 102 | # DynamoDB Local files 103 | .dynamodb/ 104 | 105 | ### Sass template 106 | .sass-cache/ 107 | *.css.map 108 | *.sass.map 109 | *.scss.map 110 | 111 | ### JetBrains template 112 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 113 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 114 | 115 | # User-specific stuff 116 | .idea/**/workspace.xml 117 | .idea/**/tasks.xml 118 | .idea/**/usage.statistics.xml 119 | .idea/**/dictionaries 120 | .idea/**/shelf 121 | !.idea/runConfigurations/ 122 | .idea/dataSources/ 123 | .idea/httpRequests/ 124 | .idea/libraries/ 125 | .idea/inspectionProfiles/ 126 | .idea/codeStyles/ 127 | .idea/sonarlint/ 128 | .idea/*.xml 129 | 130 | # Generated files 131 | .idea/**/contentModel.xml 132 | 133 | # Sensitive or high-churn files 134 | .idea/**/dataSources/ 135 | .idea/**/dataSources.ids 136 | .idea/**/dataSources.local.xml 137 | .idea/**/sqlDataSources.xml 138 | .idea/**/dynamic.xml 139 | .idea/**/uiDesigner.xml 140 | .idea/**/dbnavigator.xml 141 | 142 | # Gradle 143 | .idea/**/gradle.xml 144 | .idea/**/libraries 145 | 146 | # Gradle and Maven with auto-import 147 | # When using Gradle or Maven with auto-import, you should exclude module files, 148 | # since they will be recreated, and may cause churn. Uncomment if using 149 | # auto-import. 150 | .idea/modules.xml 151 | .idea/*.iml 152 | .idea/modules 153 | *.iml 154 | *.ipr 155 | 156 | # File-based project format 157 | *.iws 158 | 159 | # IntelliJ 160 | out/ 161 | 162 | # mpeltonen/sbt-idea plugin 163 | .idea_modules/ 164 | 165 | # JIRA plugin 166 | atlassian-ide-plugin.xml 167 | 168 | # Cursive Clojure plugin 169 | .idea/replstate.xml 170 | 171 | # Crashlytics plugin (for Android Studio and IntelliJ) 172 | com_crashlytics_export_strings.xml 173 | crashlytics.properties 174 | crashlytics-build.properties 175 | fabric.properties 176 | 177 | # Editor-based Rest Client 178 | .idea/httpRequests 179 | 180 | # Android studio 3.1+ serialized cache file 181 | .idea/caches/build_file_checksums.ser 182 | 183 | ### Custom additions 184 | !.mvn/wrapper/** 185 | log/ 186 | target/ 187 | dist/ 188 | node/ -------------------------------------------------------------------------------- /.idea/runConfigurations/backend_spring_boot_DEV.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 14 | 21 | -------------------------------------------------------------------------------- /.idea/runConfigurations/docker_compose_DEV.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/runConfigurations/docker_compose_REF.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/runConfigurations/frontend_angular_DEV.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |