By the end of this course, students will have created a website skeleton that can be used times and again to sell ideas quickly. All they’ll have to do is to add the actual content they want to sell.
We’ll start by introducing all required technologies, we will be looking at Git and the various Git workflows, how to set up your Java IDE and then we’ll look at the overall architecture and how to structure our project so that its easily maintainable and deployable to both development and production environments.
We’ll create the public part of our website and we’ll then secure sensitive content through Spring Security.
We’ll create the domain Model to represent our customers and we’ll use Spring Data JPA, H2 (for development) and MySQL (for production) to persist our customer data. We will be using Amazon S3 to store customer’s profile images.
We’ll then look at how to integrate email functionality in our website through Spring Boot Email.
We’ll then look at how to integrate credit card processing through Stripe.
Finally we will introduce AWS and the services that we will be using in this course, such as EC2, S3, VPCs, Regions, Availability Zones, Route53, Virtual Private Clouds and then how to deploy our application to the AWS Cloud so that it’s highly available and highly scalable.
We’ll conclude the course by considering how to leverage the web skeleton that we’ve put together in this course and next steps to further student’s knowledge.
This course is not only about content. There will be extensive coverage of best practices and patterns, automated testing, deployment configuration and configuration management with Ansible.
- Java developers wishing to learn how to create a web application with Spring Boot and deploy it to AWS
- This course is also for Java developers who already write web applications but would like to know how to use Spring Boot, Thymeleaf, AWS and Stripe
- This is not a course for beginners. Students are supposed to have a good knowledge of Java and be quite experienced handing code through a Java IDE (e.g. Eclipse)