
Source files you'll need in this course
Explore the essential tools for this Angular 2 complete e-commerce app course, including TypeScript, Bootstrap, Angular Material, and key back-end frameworks like Spring and Hibernate.
Learn to add a navigation bar component in an Angular app, integrate Angular Material, and connect modular components using selectors and templates.
Spring security with session management is explained for rest services, authenticating users via credentials or tokens, and wiring an external database as the data source in Spring Boot.
This is the video adapted from my other "Complete E-Commerce" course.
Configure spring security in the bookstore app by enabling web security, defining a security configuration class, and implementing a password encoder and user authentication flow.
Add and persist new users through a service layer, assign roles, and manage transactions, then verify login to access the home page.
Implement a login service in Angular, connecting a login component to submit credentials, use base64 encoding, and manage a token stored in local storage.
Demonstrates login, session handling, and token exchange via a REST service, storing the session in local storage, and using Angular lifecycle hooks to refresh UI based on login state.
Add a new book component in the Angular 2 e-commerce app, create a TypeScript book model in models, and build a template with title, author, language, and other inputs.
Create and integrate a new book service to handle frontend and backend communication, wiring endpoints and database interactions to add and display new books in the template.
Learn how to add a book cover image by building an image upload service, handling file uploads and parameters, and updating book data via the book service.
Practice uploading and retrieving book images via the backend, handling responses, and testing image uploads within a Java Spring backend.
Build and extend the book list component in an Angular 2 e-commerce app, rendering a table of books with checkboxes and title links, and fetch data from the backend.
Add a book detail component and wire routing with a book id parameter, fetch book data via a service, and navigate to the detail view.
Learn how to add and delete a book in an Angular 2 app, implement a remove service, update the book list, and refresh the page after server confirmation.
Finish the delete function for the booklist by managing checkboxes and removing selected books. Use slice to copy sublists and avoid shared references so the user interface updates.
Introduce the storefront architecture contrasting tightly coupled and decoupled designs. Explore using a backend REST API with Angular Material and building frontend components for login, catalog, cart, and checkout.
Add a navigation bar to the home page by creating a bar component, integrating Bootstrap styling, and wiring links such as booklist, cart, and logout with a search bar.
Create a responsive home page template using bootstrap grid, container, margins, and cards, integrating images and panels to structure content for an Angular e-commerce app.
Add the my account template by implementing account components and services, wiring a route, and displaying content on the my account page, including a login form with username and password.
Continue adding the my account template in the Angular 2 e-commerce app, wiring alert components, form fields like email and labels, and basic routing toward backend integration.
Implement the forget password flow by fetching a temporary password, updating it, and emailing the user, while using a service to locate the user by email and persisting changes.
Add user payment functionality by implementing credit card handling, default payment settings, and profile permissions in both frontend and backend, while refining models, services, and rest integration.
Build and configure the add user payment template, rendering a credit card list and address fields. Fetch state data from the backend and label inputs for clear validation.
Configure a user payment template by setting labels, placeholders, and input fields, including expiry year, then organize controls into logical groups for a checkout form.
Model a payment entity linked to the user, update the user to include a payments list, and implement service and repository layers to manage the user payment resource.
Move the user payment service into the IMHO folder and implement the payment update flow in the user service, validating and replacing payments and wiring the service to the interface.
Verify user payment function guides front-end testing of the payment flow, including token handling and updating the profile's payment list.
Add a book list resource by integrating a third-party library, installing dependencies, configuring the service, and rendering a book list with images in the e-commerce app.
Develop the add book detail template for the Angular e-commerce app, handling stock status, quantity, color options, and the add-to-cart flow with routing to the book list.
Build a shopping cart template that updates cart totals as item quantities change, handles tax, checkout, and continue shopping flows, and displays responsive product details with price and stock.
Develop and wire shopping cart services in a Spring-based e-commerce app, implementing add-to-cart flow, item existence checks, and subtotal calculation within a repository-driven design.
Verify shopping cart by adding items and updating quantities, with database refresh after restart. Ensure proper transactional handling using Spring's transactional annotation in the service layer.
Connect the order service and checkout service to transform cart items into an order, covering shipping address, payment options, review, and order placement.
Develop an add order template by building a form that posts order data, and configure shipping address fields to support order creation and submission in the e-commerce app.
Develop and test an add order template in an angular 2 e-commerce app, wiring shipping and payment services, cart interactions, and navigation to support end-to-end order processing.
Fix order component issues by addressing shipping and address handling, replacing incorrect models and service calls, and documenting code changes to complete the lesson.
Add order domain models and wire the cart to the checkout flow. Implement shipping address, payment, and order models on the checkout page and update templates and routing.
Verify order checkout demonstrates processing an order, ensuring synchronization and locking during concurrent runs, and sending a detailed confirmation email using thymeleaf templates.
WELCOME TO MY "Build Angular 2 Complement -E-Commerce App - Java, Spring, MySQL"!
Overview
This is a course about building a E-Commerce website using Latest Angular 2 and Java , Spring Framework Ecosystem, MySQL technologies and more. Specifically, it's about building an online bookstore.
You can consider this course as a sister course of my other one - "Complete E-Commerce Course - Java,Spring,Hibernate and MySQL". They are sisters because the functionalities and layout are pretty similar to each other while the architecture are quite different. The other course uses Thymeleaf as the template engine (an official template engine adopted by Spring Framework) and is coupled to the backend.
In this course's approach, we make the web app RESTful. This approach is becoming popular in the modern trend. While the front-end can be developed with different frameworks, and we choose Angular 2, the backend is decoupled from front-end providing REST APIs as resources.
There are Pros and Cons for both of the architectures and it's better for you to go through them by yourself.
Regarding the bookstore app, the modules developed in the course is similar for all E-Commerce website. Those modules contains:
- User Signup and Login
- User profile management
- Product Management
- Shopping Cart
- Order checkout and order history
- Automatic email confirmation
As you can see, those modules are the basics for pretty much any E-Commerce website. Check out the preview lesson for a quick tour of the website!
Why should I take this course?
Because you probably won't find another course out there on similar topic with similar length and detail. This course covers a wide range of topics on building an e-commerce website . It is a step-by-step guide with most of the code hand typing.
There are students from my other courses complaining that if I copy and paste the code and then explain it, tough it can save some time, students will lose track and drive. That's why I'm developing stuff in this course from scratch and step-by-step.
What does the technology stack look like ?
As this is a full stack development project, we will develop the code for both front-end and backend. A considerable amount of work will be on developing the front-end code using latest Angular 2, HTML, CSS, TypeScript, bootstrap and etc. The backend side will be using latest Spring technologies - Spring Boot, Spring Security, Spring Data and etc. Then, we will have MySQL as database. MySQL is powerful and free to use and serves as a good database candidate in plenty of commercial apps out there.
Will I get the source code?
Source code and database scripts are provided in the very beginning of the course. Besides, throughout each lesson (I would say most lessons), the source code will be provided to the progress of the lesson. Yet, I still suggest you to develop with me and take the source code as a reference.
What will I get by the end of the course?
This course shows an example of building an E-Commerce app from scratch. By the end of the course, you will get exposed to various topics and building modules that you need for a basic E-Commerce web app. With the hands-on practice, you will gain a lot of experience that is beyond just the theory.