Build an MS Power App which submits to REST API

Job ID: 30676036

Budget: $750 – $1,500 USD

Overall: Display to user a Form titled "Create Order", Allow users to select data or enter data, When user clicks Submit execute one or more REST calls.

1. Auth via OAuth 2 Based REST Web Service
2. Read a list of existing Orders via REST calls.
3. Display a list of existing orders. User may "Edit" an existing Order or "Create New Order"
4. Read data via REST calls e.g. List-of-Available-Customers and List-of-PartNumbers. Data typically has multiple columns (e.g. a Customer contains Name, Address and a PartNumber contains Description, Price)
5. Display the Order Form (in Microsoft Power App) designed for display on a Laptop screen
6. User may modify the data in the order form, such as:
6a. User may modify or select a Customer from the list read in step #4 using a drop-down menu; when user selects a Customer the associated fields FirstName,LastName,Address,PhoneNumber are populated with the data read in step #4.
6b. User may modify or enter an Order Number
6c. Some fields are required. Some fields have requirements (e.g. only digits). Some field cannot be modified by the user. There are approximately 15 fields.
7. There exists an Item List which has zero or many rows; each row has approximately 5 columns.
8. For any rows already exsiting in the Item List / If there are already an Item List on this Order Form:
8a. User may modify the PartNumber via a drop-down menu; when selecting PartNumber, associated Fields Description, Price are populated.
8b. User may modify other columns such as Quantity.
8c. If user modifies the row (steps 7a or 7b), then some fields are automatically calculated (e.g. Row Total = Price * Quantity)
9. User may add a new row to the Item List:
9a. User may pick a PartNumber
9b. User may enter data (e.g. Quantity)
9c. Some columns are calculated automatically (e.g. Total = Price * Quantity)
10. User may remove an entire row from the Item List
11. When a user modifies the Item List, the "Order Total" is recalculate. The "Order Total" is a sum of the Row Total for every row in the Item List.
11. There exists a button "Submit". When a user clicks "Submit":
11a. Check that all required fields are populated; if a required field is missing (e.g. Order Number) then display a message stating 'Field X is missing'. Validate fields which have specific requirements (e.g. Order Number must only have Digits); if necessary display a message (e.g. "Order Number 1234A is invalid.")
11b. If there does not already exist this Order Number then submit REST calls to Create a New Order Number
11c. Check if there already exists this Order Number; if it already exists then submit REST calls to Modify the existing Order Number. Update data such as the Name, Address, and Item List (rows).
11d. Display a confirmation or failure notice to user (e.g. "Successfully Submitted Order # 1234" or "Failed to Submit Order # 1234")
Related categories: RESTful PowerApps