Project 2 Requirements (12062021DynamicsBatch) - 12062021-dynamics365-uta/12062021-batch-repo GitHub Wiki
P2 - Store Application
Your team is in charge of building a Dynamics365 Model-Driven Store Application. This application will be very similar in functionality to your P0.
Presentation
- You will be presenting on February 11th, 2022
- Your team (assigned by Mark/Deepti) will
-
- choose a team leader
-
- turn in a project proposal document to Mark/Deepti that includes:
-
-
- a user interaction diagram,
-
-
-
- a detailed paragraph summarizing what the site will offer,
-
-
-
- Entity/Relationship diagram of the planned Db.
-
-
- We understand that these may change as you move through development.
-
- We will review the proposal and suggest changes to make the site and Db better.
-
- Then your team leader will resubmit.
-
- The proposal is due by Wednesday, February 2nd, 5pm, but I will review it ASAP before then so you can get started.
-
- Email the proposal in PDF form to [email protected].
-
- Include a link to a GoogleDoc or Word doc online that your team collaborates on. I can leave comments there.
-
- Name your proposal by this naming convention -> 'G1_TeamName_1' (Group 1, Team Name, 1st version of the proposal)
Technology Stack
- Dynamics365 Power Apps Model-Driven App
- DataVerse
Overall App Requirements
- The app will have admin and customer access levels.
- The application will implement "Standard Business Rules" best practices.
- The application is anchored around the Entities: Customer, Product, Order, Store.
- Input validation on all fields.
- This app is created entirely within the Dynamics365 Model-Driven App Infrastructure. P3 will involve JS, .NET WebAPI, and Dynamics365
Admin Access functionality
- The admin is added on the back-end by you, but will have a login on the front-end to manipulate the inventories, etc.
- Manage inventories
-
- Admin can edit products and product catalog.
-
- Add product
-
- Edit price, description, related products, product hierarchy, image, etc.
-
- Create a product catalog
-
- Each store has an inventory of products. This doesn't mean different products, just different amounts of that product at that store.
- Access all customer information to add, edit, or delete all fields.
- Admin can see a list of all customers and filter that list by name, city, etc..
- Add discounts and special offers like (bulk pricing, bundle pricing, 1st-time shopper discount, etc.)
-
- Discounts should be for a limited time and/or percentage.
- Admin can view past purchases of a store, filtered by date/customer/product name/product type.
Customer Access Functionality
- Customer can navigate to the web page.
- Customer can register a new account (with names, address, date of birth, phone number, email, profile image, username, password).
- Customer can log in using the username and password created at registration.
- Customer has a 'Home" page with their account details and other options related to shopping.
- Customer should be able to view a list of store locations and select one.
- Customer should be able to view available products to purchase at that store.
- Customer should be able to purchase more than one product at a time.
- Customer should be able to purchase more than one of a product at a time.
- Amount of that product in the selected stores inventory will decrement on selection or checkout.
- Customer should be able to view only their own past purchases: all or filtered by store/date/date range/price/price range.
- When a customer selects one or more products, the 'place order' button (field) will become visible.
- Customer can cancel an order at any point without buying.
- Customer can checkout and is given the total price along with an itemized receipt.
- Customer cannot edit products, customers, product catalog, etc.
product
- Must have at least a name, price, and description.
- As orders are made, the quantity in inventory for that store only decrements.
order
- Must be able to compute its total cost.
- Must be able to contain at least 1 product.
- Order and receipt be itemized by product.
-
- Product Line Item includes total for that row. (ex. 3 Nike Jordon Shoes @$30 each = $90)