├── .github ├── dependabot.yml └── workflows │ ├── build.yml │ └── ng-update.yml ├── .gitignore ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── crud-angular ├── .editorconfig ├── .gitignore ├── .vscode │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── README.md ├── angular.json ├── package-lock.json ├── package.json ├── proxy.conf.js ├── src │ ├── app │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.routes.ts │ │ ├── courses │ │ │ ├── components │ │ │ │ ├── course-view │ │ │ │ │ ├── course-view.component.html │ │ │ │ │ ├── course-view.component.scss │ │ │ │ │ ├── course-view.component.spec.ts │ │ │ │ │ └── course-view.component.ts │ │ │ │ └── courses-list │ │ │ │ │ ├── courses-list.component.html │ │ │ │ │ ├── courses-list.component.scss │ │ │ │ │ ├── courses-list.component.spec.ts │ │ │ │ │ └── courses-list.component.ts │ │ │ ├── containers │ │ │ │ ├── course-form │ │ │ │ │ ├── course-form.component.html │ │ │ │ │ ├── course-form.component.scss │ │ │ │ │ ├── course-form.component.spec.ts │ │ │ │ │ └── course-form.component.ts │ │ │ │ └── courses │ │ │ │ │ ├── courses.component.html │ │ │ │ │ ├── courses.component.scss │ │ │ │ │ ├── courses.component.spec.ts │ │ │ │ │ └── courses.component.ts │ │ │ ├── courses.routes.ts │ │ │ ├── model │ │ │ │ ├── course-page.ts │ │ │ │ ├── course.ts │ │ │ │ └── lesson.ts │ │ │ ├── resolver │ │ │ │ ├── course.resolver.spec.ts │ │ │ │ └── course.resolver.ts │ │ │ └── services │ │ │ │ ├── courses.mock.ts │ │ │ │ ├── courses.service.spec.ts │ │ │ │ └── courses.service.ts │ │ └── shared │ │ │ ├── components │ │ │ ├── confirmation-dialog │ │ │ │ ├── confirmation-dialog.component.spec.ts │ │ │ │ └── confirmation-dialog.component.ts │ │ │ └── error-dialog │ │ │ │ ├── error-dialog.component.spec.ts │ │ │ │ └── error-dialog.component.ts │ │ │ ├── pipes │ │ │ ├── category.pipe.spec.ts │ │ │ └── category.pipe.ts │ │ │ └── services │ │ │ ├── form-utils.service.spec.ts │ │ │ └── form-utils.service.ts │ ├── assets │ │ └── .gitkeep │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ └── styles.scss ├── tsconfig.app.json ├── tsconfig.json └── tsconfig.spec.json ├── crud-spring ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── .vscode │ ├── launch.json │ └── tasks.json ├── CUSTOM_VALIDATORS.md ├── INTEGRATION_TESTS_SUMMARY.md ├── api.http ├── docker-compose.yml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── loiane │ │ │ │ ├── CrudSpringApplication.java │ │ │ │ ├── config │ │ │ │ └── ValidationConfig.java │ │ │ │ ├── course │ │ │ │ ├── Course.java │ │ │ │ ├── CourseController.java │ │ │ │ ├── CourseRepository.java │ │ │ │ ├── CourseService.java │ │ │ │ ├── Lesson.java │ │ │ │ ├── dto │ │ │ │ │ ├── CourseDTO.java │ │ │ │ │ ├── CoursePageDTO.java │ │ │ │ │ ├── CourseRequestDTO.java │ │ │ │ │ ├── LessonDTO.java │ │ │ │ │ └── mapper │ │ │ │ │ │ └── CourseMapper.java │ │ │ │ └── enums │ │ │ │ │ ├── Category.java │ │ │ │ │ ├── Status.java │ │ │ │ │ └── converters │ │ │ │ │ ├── CategoryConverter.java │ │ │ │ │ └── StatusConverter.java │ │ │ │ ├── exception │ │ │ │ ├── BusinessException.java │ │ │ │ └── RecordNotFoundException.java │ │ │ │ └── shared │ │ │ │ ├── controller │ │ │ │ └── ApplicationControllerAdvice.java │ │ │ │ └── validation │ │ │ │ ├── UniqueCourseNameValidation.java │ │ │ │ ├── UniqueCourseNameValidator.java │ │ │ │ ├── ValidCourseName.java │ │ │ │ ├── ValidCourseNameValidator.java │ │ │ │ ├── ValidLessonCollection.java │ │ │ │ ├── ValidLessonCollectionValidator.java │ │ │ │ ├── ValidYouTubeUrl.java │ │ │ │ ├── ValueOfEnum.java │ │ │ │ ├── ValueOfEnumValidator.java │ │ │ │ └── YouTubeUrlValidator.java │ │ └── resources │ │ │ ├── application-dev.properties │ │ │ ├── application-prod.properties │ │ │ ├── application-test.properties │ │ │ ├── application.properties │ │ │ └── schema.sql │ └── test │ │ ├── java │ │ └── com │ │ │ └── loiane │ │ │ ├── CrudSpringApplicationTests.java │ │ │ ├── config │ │ │ ├── TestContainersConfiguration.java │ │ │ └── ValidationAdvice.java │ │ │ ├── course │ │ │ ├── CourseControllerTest.java │ │ │ ├── CourseRepositoryTest.java │ │ │ ├── CourseServiceTest.java │ │ │ └── TestData.java │ │ │ ├── integration │ │ │ ├── AbstractIntegrationTest.java │ │ │ └── course │ │ │ │ ├── CourseIntegrationTest.java │ │ │ │ └── CourseRepositoryIntegrationTest.java │ │ │ └── shared │ │ │ └── validation │ │ │ └── YouTubeUrlValidatorTest.java │ │ └── resources │ │ ├── application-integration-test.properties │ │ ├── init-test-db.sql │ │ ├── integration-test-schema.sql │ │ └── test-data.sql.backup └── test-coverage.md └── docs ├── form.jpeg ├── main.jpeg └── view.jpeg /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/ng-update.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/.github/workflows/ng-update.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/settings.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/README.md -------------------------------------------------------------------------------- /crud-angular/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/.editorconfig -------------------------------------------------------------------------------- /crud-angular/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/.gitignore -------------------------------------------------------------------------------- /crud-angular/.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/.vscode/extensions.json -------------------------------------------------------------------------------- /crud-angular/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/.vscode/launch.json -------------------------------------------------------------------------------- /crud-angular/.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/.vscode/settings.json -------------------------------------------------------------------------------- /crud-angular/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/.vscode/tasks.json -------------------------------------------------------------------------------- /crud-angular/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/README.md -------------------------------------------------------------------------------- /crud-angular/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/angular.json -------------------------------------------------------------------------------- /crud-angular/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/package-lock.json -------------------------------------------------------------------------------- /crud-angular/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/package.json -------------------------------------------------------------------------------- /crud-angular/proxy.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/proxy.conf.js -------------------------------------------------------------------------------- /crud-angular/src/app/app.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/app.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/app.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/app.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/app.routes.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/course-view/course-view.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/course-view/course-view.component.html -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/course-view/course-view.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/course-view/course-view.component.scss -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/course-view/course-view.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/course-view/course-view.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/course-view/course-view.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/course-view/course-view.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/courses-list/courses-list.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/courses-list/courses-list.component.html -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/courses-list/courses-list.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/courses-list/courses-list.component.scss -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/courses-list/courses-list.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/courses-list/courses-list.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/components/courses-list/courses-list.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/components/courses-list/courses-list.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/course-form/course-form.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/course-form/course-form.component.html -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/course-form/course-form.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/course-form/course-form.component.scss -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/course-form/course-form.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/course-form/course-form.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/course-form/course-form.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/course-form/course-form.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/courses/courses.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/courses/courses.component.html -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/courses/courses.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/courses/courses.component.scss -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/courses/courses.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/courses/courses.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/containers/courses/courses.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/containers/courses/courses.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/courses.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/courses.routes.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/model/course-page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/model/course-page.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/model/course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/model/course.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/model/lesson.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/model/lesson.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/resolver/course.resolver.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/resolver/course.resolver.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/resolver/course.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/resolver/course.resolver.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/services/courses.mock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/services/courses.mock.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/services/courses.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/services/courses.service.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/courses/services/courses.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/courses/services/courses.service.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/components/confirmation-dialog/confirmation-dialog.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/components/confirmation-dialog/confirmation-dialog.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/components/confirmation-dialog/confirmation-dialog.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/components/confirmation-dialog/confirmation-dialog.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/components/error-dialog/error-dialog.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/components/error-dialog/error-dialog.component.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/components/error-dialog/error-dialog.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/components/error-dialog/error-dialog.component.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/pipes/category.pipe.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/pipes/category.pipe.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/pipes/category.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/pipes/category.pipe.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/services/form-utils.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/services/form-utils.service.spec.ts -------------------------------------------------------------------------------- /crud-angular/src/app/shared/services/form-utils.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/app/shared/services/form-utils.service.ts -------------------------------------------------------------------------------- /crud-angular/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /crud-angular/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/favicon.ico -------------------------------------------------------------------------------- /crud-angular/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/index.html -------------------------------------------------------------------------------- /crud-angular/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/main.ts -------------------------------------------------------------------------------- /crud-angular/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/src/styles.scss -------------------------------------------------------------------------------- /crud-angular/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/tsconfig.app.json -------------------------------------------------------------------------------- /crud-angular/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/tsconfig.json -------------------------------------------------------------------------------- /crud-angular/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-angular/tsconfig.spec.json -------------------------------------------------------------------------------- /crud-spring/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/.gitignore -------------------------------------------------------------------------------- /crud-spring/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /crud-spring/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /crud-spring/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/.vscode/launch.json -------------------------------------------------------------------------------- /crud-spring/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/.vscode/tasks.json -------------------------------------------------------------------------------- /crud-spring/CUSTOM_VALIDATORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/CUSTOM_VALIDATORS.md -------------------------------------------------------------------------------- /crud-spring/INTEGRATION_TESTS_SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/INTEGRATION_TESTS_SUMMARY.md -------------------------------------------------------------------------------- /crud-spring/api.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/api.http -------------------------------------------------------------------------------- /crud-spring/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/docker-compose.yml -------------------------------------------------------------------------------- /crud-spring/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/mvnw -------------------------------------------------------------------------------- /crud-spring/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/mvnw.cmd -------------------------------------------------------------------------------- /crud-spring/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/pom.xml -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/CrudSpringApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/CrudSpringApplication.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/config/ValidationConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/config/ValidationConfig.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/Course.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/Course.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/CourseController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/CourseController.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/CourseRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/CourseRepository.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/CourseService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/CourseService.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/Lesson.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/Lesson.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/dto/CourseDTO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/dto/CourseDTO.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/dto/CoursePageDTO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/dto/CoursePageDTO.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/dto/CourseRequestDTO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/dto/CourseRequestDTO.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/dto/LessonDTO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/dto/LessonDTO.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/dto/mapper/CourseMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/dto/mapper/CourseMapper.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/enums/Category.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/enums/Category.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/enums/Status.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/enums/Status.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/enums/converters/CategoryConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/enums/converters/CategoryConverter.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/course/enums/converters/StatusConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/course/enums/converters/StatusConverter.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/exception/BusinessException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/exception/BusinessException.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/exception/RecordNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/exception/RecordNotFoundException.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/controller/ApplicationControllerAdvice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/controller/ApplicationControllerAdvice.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/UniqueCourseNameValidation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/UniqueCourseNameValidation.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/UniqueCourseNameValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/UniqueCourseNameValidator.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValidCourseName.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValidCourseName.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValidCourseNameValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValidCourseNameValidator.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValidLessonCollection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValidLessonCollection.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValidLessonCollectionValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValidLessonCollectionValidator.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValidYouTubeUrl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValidYouTubeUrl.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValueOfEnum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValueOfEnum.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/ValueOfEnumValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/ValueOfEnumValidator.java -------------------------------------------------------------------------------- /crud-spring/src/main/java/com/loiane/shared/validation/YouTubeUrlValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/java/com/loiane/shared/validation/YouTubeUrlValidator.java -------------------------------------------------------------------------------- /crud-spring/src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/resources/application-dev.properties -------------------------------------------------------------------------------- /crud-spring/src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/resources/application-prod.properties -------------------------------------------------------------------------------- /crud-spring/src/main/resources/application-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/resources/application-test.properties -------------------------------------------------------------------------------- /crud-spring/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/resources/application.properties -------------------------------------------------------------------------------- /crud-spring/src/main/resources/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/main/resources/schema.sql -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/CrudSpringApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/CrudSpringApplicationTests.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/config/TestContainersConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/config/TestContainersConfiguration.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/config/ValidationAdvice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/config/ValidationAdvice.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/course/CourseControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/course/CourseControllerTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/course/CourseRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/course/CourseRepositoryTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/course/CourseServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/course/CourseServiceTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/course/TestData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/course/TestData.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/integration/AbstractIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/integration/AbstractIntegrationTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/integration/course/CourseIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/integration/course/CourseIntegrationTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/integration/course/CourseRepositoryIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/integration/course/CourseRepositoryIntegrationTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/java/com/loiane/shared/validation/YouTubeUrlValidatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/java/com/loiane/shared/validation/YouTubeUrlValidatorTest.java -------------------------------------------------------------------------------- /crud-spring/src/test/resources/application-integration-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/resources/application-integration-test.properties -------------------------------------------------------------------------------- /crud-spring/src/test/resources/init-test-db.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/resources/init-test-db.sql -------------------------------------------------------------------------------- /crud-spring/src/test/resources/integration-test-schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/resources/integration-test-schema.sql -------------------------------------------------------------------------------- /crud-spring/src/test/resources/test-data.sql.backup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/src/test/resources/test-data.sql.backup -------------------------------------------------------------------------------- /crud-spring/test-coverage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/crud-spring/test-coverage.md -------------------------------------------------------------------------------- /docs/form.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/docs/form.jpeg -------------------------------------------------------------------------------- /docs/main.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/docs/main.jpeg -------------------------------------------------------------------------------- /docs/view.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loiane/crud-angular-spring/HEAD/docs/view.jpeg --------------------------------------------------------------------------------