Skip to content

wesley-ramos/order_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Maintainability Test Coverage

Requirements

  • Docker:24.0.6
  • Docker compose: 2.20.3

Context

This project is a simplified version of an order manager, its purpose is to demonstrate some skills for the selection process in which I am participating.

Specifications

  • All entities (User, Order, Item, StockMovement) must have an endpoint to create, update, delete and list;
  • When an order is created, it should try to satisfy it with the current stock;
  • When a stock movement is created, the system should try to attribute it to an order that isn't complete;
  • Trace the list of stock movements that were used to complete the order, and vice-versa;
  • Show current completion of each order;
  • API should make by java 8 with Spring Boot + Spring JPA or Jave EE + Hibernate, PostgreSQL, GIT, log4j (or other);

How to execute the project?

Just clone the repository and run docker compose in the project root.

docker-compose up -d

What are the available endpoints?

Just access the api documentation at the URL below.

http://localhost:8080/docs

You can use the documentation page to make requests and test the application. API.

How to view stock movement assignments?

  1. You can view what the application is running using the logs
docker logs webapp -f

API.

  1. You can wait for the application to complete the order and view the summary in your email API.

Points for improvements

  • Add pagination on endpoints that list records.
  • Add filters on record listing endpoints
  • Add hyperlinks (HATEOAS).
  • Create service to remove assignments when an order or stock movement is deleted, ensuring information consistency.