Spring Applications

Project: Application Services

The objective of this exercise is to implement application services that provide the core functionality of the bookstore application.
  1. Implement a catalog service that provides the following methods (details see API Documentation):
    • addBook() - adds a book to the catalog
    • findBook() - finds a book by ISBN number
    • searchBooks() - searches for books by keyword
    • updateBook() - updates a book in the catalog
  2. Implement a customer service that provides the following methods (details see API Documentation):
    • registerCustomer() - registers a customer
    • findCustomer() - finds a customer by identifier
    • searchCustomers() - search for customers by name
    • updateCustomer() - updates the data of a customer
  3. Implement an order service that provides the following methods (details see API Documentation):
    • placeOrder() - places an order
    • findOrder() - finds an order by identifier
    • searchOrders() - searches for orders by customer and year
    • cancelOrder() - tries to cancel an order
    Use the PaymentService component to make the payments of the orders.
  4. Add the configuration file application.properties to the test classpath to use the in-memory H2 database for testing.
  5. Run the CatalogServiceIT, CustomerServiceIT and OrderServiceIT integration tests.