gitextract_8cnmw1ty/ ├── 01-spring-boot-hello-world-rest-api/ │ ├── build-artifacts-backup/ │ │ └── 01-spring-boot-hello-world-rest-api-0.0.1-SNAPSHOT.jar │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── HelloWorldBean.java │ │ │ ├── HelloWorldController.java │ │ │ └── RestfulWebServicesApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── rest/ │ └── webservices/ │ └── restfulwebservices/ │ └── RestfulWebServicesApplicationTests.java ├── 02-spring-boot-todo-rest-api-h2/ │ ├── build-artifacts-backup/ │ │ └── 02-todo-rest-api-h2-0.0.1-SNAPSHOT.jar │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── RestfulWebServicesApplication.java │ │ │ ├── helloworld/ │ │ │ │ ├── HelloWorldBean.java │ │ │ │ └── HelloWorldController.java │ │ │ └── todo/ │ │ │ ├── Todo.java │ │ │ ├── TodoJpaRepository.java │ │ │ └── TodoJpaResource.java │ │ └── resources/ │ │ ├── application.properties │ │ └── data.sql │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── rest/ │ └── webservices/ │ └── restfulwebservices/ │ └── RestfulWebServicesApplicationTests.java ├── 03-spring-boot-web-application-h2/ │ ├── build-artifacts-backup/ │ │ └── 03-spring-boot-web-application-h2-0.0.1-SNAPSHOT.war │ ├── log/ │ │ ├── cron │ │ ├── httpd/ │ │ │ ├── access_log │ │ │ ├── elasticbeanstalk-access_log │ │ │ ├── elasticbeanstalk-error_log │ │ │ └── error_log │ │ ├── messages │ │ ├── monit │ │ └── tomcat8/ │ │ ├── catalina.out │ │ └── localhost_access_log.txt │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── springboot/ │ │ │ └── web/ │ │ │ ├── EnvironmentConfigurationLogger.java │ │ │ ├── SpringBootFirstWebApplication.java │ │ │ ├── controller/ │ │ │ │ ├── ErrorController.java │ │ │ │ ├── LogoutController.java │ │ │ │ ├── TodoController.java │ │ │ │ └── WelcomeController.java │ │ │ ├── model/ │ │ │ │ └── Todo.java │ │ │ ├── security/ │ │ │ │ └── SecurityConfiguration.java │ │ │ └── service/ │ │ │ ├── TodoRepository.java │ │ │ └── TodoService.java │ │ ├── resources/ │ │ │ ├── application.properties │ │ │ └── data.sql │ │ └── webapp/ │ │ └── WEB-INF/ │ │ └── jsp/ │ │ ├── common/ │ │ │ ├── footer.jspf │ │ │ ├── header.jspf │ │ │ └── navigation.jspf │ │ ├── error.jsp │ │ ├── list-todos.jsp │ │ ├── todo.jsp │ │ └── welcome.jsp │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── springboot/ │ └── web/ │ └── SpringBootFirstWebApplicationTests.java ├── 04-spring-boot-web-application-mysql/ │ ├── build-artifacts-backup/ │ │ └── 04-spring-boot-web-application-mysql-0.0.1-SNAPSHOT.war │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── springboot/ │ │ │ └── web/ │ │ │ ├── EnvironmentConfigurationLogger.java │ │ │ ├── SpringBootFirstWebApplication.java │ │ │ ├── controller/ │ │ │ │ ├── ErrorController.java │ │ │ │ ├── LogoutController.java │ │ │ │ ├── TodoController.java │ │ │ │ └── WelcomeController.java │ │ │ ├── model/ │ │ │ │ └── Todo.java │ │ │ ├── security/ │ │ │ │ └── SecurityConfiguration.java │ │ │ └── service/ │ │ │ ├── TodoRepository.java │ │ │ └── TodoService.java │ │ ├── resources/ │ │ │ └── application.properties │ │ └── webapp/ │ │ └── WEB-INF/ │ │ └── jsp/ │ │ ├── common/ │ │ │ ├── footer.jspf │ │ │ ├── header.jspf │ │ │ └── navigation.jspf │ │ ├── error.jsp │ │ ├── list-todos.jsp │ │ ├── todo.jsp │ │ └── welcome.jsp │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── in28minutes/ │ │ └── springboot/ │ │ └── web/ │ │ └── SpringBootFirstWebApplicationTests.java │ └── resources/ │ └── application.properties ├── 05-spring-boot-react-full-stack-h2/ │ ├── build-artifacts-backup/ │ │ ├── 05-restful-web-services-full-stack-bankend-0.0.1-SNAPSHOT.jar │ │ └── build/ │ │ ├── asset-manifest.json │ │ ├── index.html │ │ ├── manifest.json │ │ ├── precache-manifest.fffdf22a71e2cab7bfcc691bf8ce04a4.js │ │ ├── service-worker.js │ │ └── static/ │ │ ├── css/ │ │ │ └── main.566e00ae.chunk.css │ │ └── js/ │ │ ├── 2.3f64e426.chunk.js │ │ ├── main.85126504.chunk.js │ │ └── runtime~main.c5541365.js │ ├── frontend/ │ │ └── todo-app/ │ │ ├── package.json │ │ ├── public/ │ │ │ ├── index.html │ │ │ └── manifest.json │ │ └── src/ │ │ ├── App.css │ │ ├── App.js │ │ ├── App.test.js │ │ ├── Constants.js │ │ ├── api/ │ │ │ └── todo/ │ │ │ ├── HelloWorldService.js │ │ │ └── TodoDataService.js │ │ ├── bootstrap.css │ │ ├── components/ │ │ │ ├── counter/ │ │ │ │ ├── Counter.css │ │ │ │ └── Counter.jsx │ │ │ ├── learning-examples/ │ │ │ │ ├── FirstComponent.jsx │ │ │ │ ├── SecondComponent.jsx │ │ │ │ └── ThirdComponent.jsx │ │ │ └── todo/ │ │ │ ├── AuthenticatedRoute.jsx │ │ │ ├── AuthenticationService.js │ │ │ ├── ErrorComponent.jsx │ │ │ ├── FooterComponent.jsx │ │ │ ├── HeaderComponent.jsx │ │ │ ├── ListTodosComponent.jsx │ │ │ ├── LoginComponent.jsx │ │ │ ├── LogoutComponent.jsx │ │ │ ├── TodoApp.jsx │ │ │ ├── TodoComponent.jsx │ │ │ └── WelcomeComponent.jsx │ │ ├── index.css │ │ ├── index.js │ │ └── serviceWorker.js │ ├── readme.md │ └── restful-web-services/ │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ ├── basic/ │ │ │ │ └── auth/ │ │ │ │ ├── AuthenticationBean.java │ │ │ │ ├── BasicAuthenticationController.java │ │ │ │ └── SpringSecurityConfigurationBasicAuth.java │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── RestfulWebServicesApplication.java │ │ │ ├── helloworld/ │ │ │ │ ├── HelloWorldBean.java │ │ │ │ └── HelloWorldController.java │ │ │ ├── jwt/ │ │ │ │ ├── JWTWebSecurityConfig.java │ │ │ │ ├── JwtInMemoryUserDetailsService.java │ │ │ │ ├── JwtTokenAuthorizationOncePerRequestFilter.java │ │ │ │ ├── JwtTokenUtil.java │ │ │ │ ├── JwtUnAuthorizedResponseAuthenticationEntryPoint.java │ │ │ │ ├── JwtUserDetails.java │ │ │ │ ├── JwtUserDetailsService.java │ │ │ │ ├── User.java │ │ │ │ ├── UserRepository.java │ │ │ │ └── resource/ │ │ │ │ ├── AuthenticationException.java │ │ │ │ ├── JwtAuthenticationRestController.java │ │ │ │ ├── JwtTokenRequest.java │ │ │ │ └── JwtTokenResponse.java │ │ │ └── todo/ │ │ │ ├── Todo.java │ │ │ ├── TodoJpaRepository.java │ │ │ └── TodoJpaResource.java │ │ └── resources/ │ │ ├── application.properties │ │ └── data.sql │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── rest/ │ └── webservices/ │ └── restfulwebservices/ │ └── RestfulWebServicesApplicationTests.java ├── 06-todo-rest-api-h2-containerized/ │ ├── Dockerfile │ ├── Dockerrun.aws.json │ ├── buildx-commands.md │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── RestfulWebServicesApplication.java │ │ │ ├── helloworld/ │ │ │ │ ├── HelloWorldBean.java │ │ │ │ └── HelloWorldController.java │ │ │ └── todo/ │ │ │ ├── Todo.java │ │ │ ├── TodoJpaRepository.java │ │ │ └── TodoJpaResource.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── rest/ │ └── webservices/ │ └── restfulwebservices/ │ └── RestfulWebServicesApplicationTests.java ├── 07-todo-rest-api-mysql-containerized/ │ ├── .ebextensions/ │ │ └── sg-extensions.config │ ├── Dockerfile │ ├── Dockerrun.aws.json │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── RestfulWebServicesApplication.java │ │ │ ├── helloworld/ │ │ │ │ ├── HelloWorldBean.java │ │ │ │ └── HelloWorldController.java │ │ │ └── todo/ │ │ │ ├── Todo.java │ │ │ ├── TodoJpaRepository.java │ │ │ └── TodoJpaResource.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── in28minutes/ │ │ └── rest/ │ │ └── webservices/ │ │ └── restfulwebservices/ │ │ └── RestfulWebServicesApplicationTests.java │ └── resources/ │ └── application.properties ├── 08-spring-boot-todo-rest-api-eb-cli/ │ ├── .gitignore │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── RestfulWebServicesApplication.java │ │ │ ├── helloworld/ │ │ │ │ ├── HelloWorldBean.java │ │ │ │ └── HelloWorldController.java │ │ │ └── todo/ │ │ │ ├── Todo.java │ │ │ ├── TodoJpaRepository.java │ │ │ └── TodoJpaResource.java │ │ └── resources/ │ │ ├── application.properties │ │ └── data.sql │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── rest/ │ └── webservices/ │ └── restfulwebservices/ │ └── RestfulWebServicesApplicationTests.java ├── 09-spring-boot-worker-rest-api/ │ ├── build-artifacts-backup/ │ │ └── 09-spring-boot-worker-rest-api-20-percent-failure.jar │ ├── pom.xml │ ├── readme.md │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── in28minutes/ │ │ │ └── rest/ │ │ │ └── webservices/ │ │ │ └── restfulwebservices/ │ │ │ ├── RestfulWebServicesApplication.java │ │ │ └── task/ │ │ │ ├── TaskController.java │ │ │ └── TaskDetails.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── in28minutes/ │ └── rest/ │ └── webservices/ │ └── restfulwebservices/ │ └── RestfulWebServicesApplicationTests.java └── README.md