Application structure

The A1 electronics e-commerce project uses a Model-View-Controller (MVCarchitectural pattern. As the details of Spring and the MVC architecture are not in the scope of this book, only the relevant parts are explained here. This MVC architecture reflects in the structure of the code as shown in the following diagram:

  • Model: The following packages are the Model part of MVC architecture:
    • com.a1electronics.ecommerce.dbo: All the entities from the database are mapped to Java objects along with their relationship
    • com.a1electronics.ecommerce.dao: A layer to access the objects in the dbo layer and has generic functions to add/remove/delete/update objects
  • View: The views folder in the preceding figure is the View part of MVC architecture. These are JavaScript/HTML pages which are returned in response to users requests via the Controller. This is what gets rendered in the users' browser.
  • Controller: The package, com.a1electroncs.ecommerce.controllers, is the Controller part of MVC architecture. This is where all the users' requests are accepted and, depending on the application logic, redirected to the correct service in the com.a1electroncs.ecommerce.controllers services layer package.

This MVC architecture is shown in the following figure: