End to end implementations!

1) Remember the big picture

Before you start... Take a look at the whole picture:

project

project overview

2) Make sure you take good care of your environment!

- Have your docker up and running (running the database container obviously!) - Open up postman! - Open DBeaver and get ready to do SQL queries! - Get IntelliJ ready to run your project!


3) Implement all the company endpoints and test them all the way from Postman!

- create (create a company in the database) - fetch (get company by id) - edit (change company fields and save it in the database) - search (find a good way to input parameters to search for a specific company (i.e. by name and vat)


4) Implement all the product endpoints and test them all the way from Postman!

- create (create a product in the database) - fetch (get product by id) - upload product photo (and save it in a project folder)

5) Implement all the purchase endpoints and test them!

- create (create a purchase in the database) - fetch (get product by id) - delete purchase by id hint: the path to the purchase should go through /companies/{company-id}/products/{product-id}/purchase


6) Exceptions introduction...

What would happen if you try to fetch a product of a company does not exist? Find out and try to implement code to deal with this scenario.