Hi there!
Had a lot of fun working on these challenges as quickly as I could. Below are my entries for the PowerApps Challenge:
CHALLENGE 1
For this challenge I could think of 3-4 possible ways to abstract the exact data source details from the user:
For the reason of picking the shortest path from A-Z, I chose the first option of using SharePoint Permissions.
SharePoint Configuration
I chose two different SharePoint Lists as my data source. First list ‘Stores’ stores details of all stores in the area. This includes store number, name, city, state & zip.
Stores List
The second list stores ‘ServiceRequests’ for each store across a variety of products. This list has a lookup to the ‘Stores’ List.
For this challenge my test user has been explicitly given Read permissions to both Lists.
PowerApp Details
The idea behind the app is to enable the user to pick a Store and view all Service Requests for that store. OnVisible of the app is a Concurrent call to fetch data from the two data sources added to the app. Concurrent() because performance is key to accomplish efficiency!
The app consists of 2 galleries for each of the data sources. One gallery is set to display all stores from the collection. The other gallery is set to filter items from the Service Requests lists based on the store selected from the first gallery.
Both data sources in action
Here’s the consent popup when the test user loads the app and the underlying two data source Lists are not visible to the user.
Consent popup
CHALLENGE 2
There are several ways to achieve this but for this challenge I chose to go the pure Flow route to keep it short and simple. And time is futile in this challenge 😊
I have a SharePoint List (CandyInventory) for the inventory procurement maintenance with Title, SKU, Procured quantity, Sold quantity & In Stock Quantity.
For this challenge I’m focusing on the shortest path to keep one informed on Out of Stock inventory.
I have a recurring Flow that is set to run every day at 5 am. It is set to query the SharePoint List for all items with an OData Filter query of InStock <= 20 and sends an email notification with inventory details.
Below is one of the notifications I received.
For some reason it wouldn't let me upload the solution packagae into the app gallery. So I included a screenshot of the solution in my tenant.
FLow in a Solution Package
CHALLENGE 3
For this challenge I used a button Flow where I can add an image, specify date, reason and upload the image to a SharePoint Document Library. The device location details are later derived from the Flow properties and the uploaded file metadata are updated.
Here’s a snapshot of the flow I used. The file name needs to be extracted (highlighted below) from the trigger body since it’s not an OOB property available in button trigger properties.