|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/unique-spring-boot-e-commerce-application-development/
课程评论:没有评论
课程名称:独特的Spring Boot电子商务应用开发 课程概述: 本课程旨在教授如何使用Java、Spring Boot、Angular独立组件、Bootstrap、Stripe API、Keycloak授权服务器、Redis以及MySQL数据库开发完整的购物网站。课程内容包括以下几个方面: 1. **Spring Boot资源服务器开发**: - 如何设置开发环境,包括安装Spring Tool Suite、Maven、Lombok、Docker Desktop和DBeaver。 - 创建Spring Boot 3.1.5资源服务器。 - 使用Spring Data JPA与Hibernate创建MySQL Docker容器,存储产品、类别和品牌。 - 创建资源服务器的Web端点,按照设定的标准返回产品列表。 - 编写利用Jakarta的Criteria和Query对象的Specification模式,以面向对象的方式进行数据库查询和过滤。 - 使用Postman测试Rest Controller端点。 2. **Angular前端开发**: - 创建Angular单页应用(SPA)的开发环境,包括安装Visual Studio Code、node、npm和Angular CLI包。 - 学习模块化Angular应用与Angular独立组件应用之间的区别。 - 使用独立组件创建Angular SPA,允许客户通过资源服务器浏览产品。 - 创建ShopService类,使用HttpClient从后端服务器获取所需产品、类别和品牌。 - 将前端应用与Bootstrap 5、ngx-bootstrap和Font Awesome库集成。 - 使用HttpParams对象收集产品、品牌、类别、页面和排序参数,并通过单个HTTP调用发送到后端。 - 添加分页组件和基于品牌、类别过滤的选择框,开发其后端代码。 3. **后端购物车API开发**: - 安装Redis服务器的maven依赖。 - 配置Redis服务器用于购物车缓存存储。 - 创建适合Redis存储的模型类和CrudRepository。 - 创建BasketController以实现创建、获取和删除购物车的端点,并使用Postman测试这些方法。 4. **前端购物车模块开发**: - 创建购物车模块的模型类和CartService类。 - 开发Cart和CartDetails组件,利用@Output装饰器连接组件,和懒加载购物车组件。 5. **OAuth2与OpenID Connect原理**: - 理解独立授权服务器的必要性和OAuth2范式中的授权流。 - 学习OAuth2主要参与者及客户端类型的选择。 - 安装Keycloak服务器,创建Realm、客户端和用户,以及与资源服务器的接口。 - 测试Keycloak与资源服务器、客户端和用户的结合,根据用户角色进行测试。 6. **Angular结账页面开发**: - 实现完整的Stripe集成,开发与订单相关的组件,包括订单成功、订单列表和订单详情。 通过本课程的学习,学员将具备开发功能齐全的电子商务网站的能力,掌握现代Web开发的关键技术和工具。
Learn to develop a complete shopping website using Java, Spring Boot, Angular Standalone Components, Bootstrap, Stripe API, Keycloak Authorization Server, Redis and MySQL database Backend Spring Boot Resource Server Development Learn how to setup your development environment to be able to develop Spring Boot applications (Installing Spring Tool Suite, Maven, Lombok, Docker Desktop, DBeaver) Learn how to create a Spring Boot 3.1.5 Resource Server Learn how to create a MySQL docker container to store products, categories and brands using Spring Data JPA with Hibernate Learn how to create Resource Server web end-points that will return products list according to a a set of criteria Learn how to code Specification pattern that makes use of the Criteria and Query objects from Jakarta that will in turn make the querying and filtering products from the database in an Object Oriented manner Testing of Rest Controller end-points using PostmanAngular Frontend Development Learn how to setup your development environment to be able to create Angular Single Page Applications using Angular 16( Install Visual Studio Code IDE, node, npm and angular cli packages ) Learn the difference between Modular Angular App and Angular Standalone components App Development Learn how to create Angular SPA with Standalone Components Learn to how to create a Standalone Shop Component in the Angular App that will let customers browse through the online shop fetching products from the Resource server given a criteria set Learn how to create a ShopService class in the angular frontend that makes http calls (using HttpClient object) to the backend server to fetch the required products, categories and brands from there Learn how to integrate your front-end application with Bootstrap 5 , ngx-bootstrap and font-awesome libraries Learn how to use HttpParams object from Angular to collect product, brand, category, page and sorting parameters and send to the backend server with the http call in one packet Learn how to add a pagination component to your app from ngx-bootstrap Learn how to add select boxes for filtering based on brand and category criteria and develop their code behind. Learn how to add a sorting type selection box and create the code behind it Backend BasketApi Part of The Resource Server Development Learn how to install the redis server maven dependencies into the resource server Learn how to configure redis server to be used as a basket cache store Learn how to create Model classes suitable for redis storage Learn how to create a CrudRepository for redis storage of Basket data Learn how to create a BasketController for createBasket/getBasket/deleteBasket end-points Learn how to disable the csrf for create and delete methods. Testing of the BasketController methods by postman Testing of the Redis server by redis-cli shellFrontEnd Cart Module Development Creating cart module model classes Creating CartService class Tutorial on BehaviorSubjects Developing Cart and cartDetails Components Linking Cart and CartDetails components via @Output decorators Lazy loading of Shopping Cart Component Securing of the ApplicationOAuth2 & OpenID Connect PrinciplesThe need for an independent Authorization ServerGrant Flows in the OAuth2 ParadigmClient Types and How to Select a Grant Flow depending on the Client TypeOAuth2 Major ActorsOAuth2 Authorization Code Grant Flow ExplainedOAuth2 Authorization Code Flow With PKCE ExplainedKeycloak Server installationCreating Realms, Clients and Users in Keycloak ServerInterfacing Resource Server with Keycloak ServerTesting Keycloak Server-Resource Server-Client-User marriage using Authorization Code Flow Grant TypeTesting Keycloak-Resource Server-Client-User based on roles of the userTesting Keycloak-Resource Server-Client-User combination using Authorization Code With PKCE Grant FlowAdding an angular client in the Keycloak ServerKeycloak Server-Angular App Connection SetupBuilding an AuthGuard object in Angular Application to protect an Angular routerLink-Forcing users to login for protected urls. NavBar Login/Logout/Welcome User implementationsAngular Checkout Page DevelopmentOrdering SectionFull Stripe Integration With Stripe WebhooksOrder Success, Order List and Order Details Components