Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature]: Purchase History for Venia (PWA) #294

Closed
4 tasks
ericerway opened this issue Sep 20, 2018 · 24 comments
Closed
4 tasks

[feature]: Purchase History for Venia (PWA) #294

ericerway opened this issue Sep 20, 2018 · 24 comments

Comments

@ericerway
Copy link

ericerway commented Sep 20, 2018

This issue is for the following packages:

[X] venia-concept
[ ] pwa-buildpack
[X] peregrine
[ ] pwa-module
[ ] pwa-devdocs

Description

(link from Invision to Purchase History; related to account/auth work)

As a shopper, I want to find previous purchases (by item) on Venia by order# so that I can make a repeat purchase or request help from Customer Service.

Assumptions

  • Requires authentication (e.g. Roni Cost) to access this data
  • Grouping for Last 30 Days and Earlier (all-time) are desirable but stretch goals
  • Order Details will be handled separately; this is just the listing for Purchase History
  • Filtering will be considered in the future (backlog)
  • Utilize REST API as GraphQL is in development (for orders)

Tasks

  • Discovery to retrieve orders data from REST or GraphQL (and auth)
  • Identify future considerations (tasks) for filtering, pagination and other experiences
  • Implement basic Purchase History (last orders; items)
  • Testing and documentation (as appropriate)
@ericerway ericerway added for-grooming Candidate for team grooming on Friday with Community. pkg:peregrine pkg:venia-concept labels Sep 20, 2018
@ericerway ericerway changed the title Implement basic search results for Venia (PWA) Implement basic Purchase History for Venia (PWA) Sep 20, 2018
@ericerway ericerway removed the for-grooming Candidate for team grooming on Friday with Community. label Sep 24, 2018
@dmtrkad
Copy link

dmtrkad commented Oct 4, 2018

  • Discovery to retrieve orders data from REST or GraphQL (and auth)
    (1 SP)
  • Implement Page component
  • Implement filter component (Static only)
    (1 SP)
  • Implement Purchase history list component
    (2SP)
  • Fetch Purchase History (last orders; items)
    1. Endpoints exists and returns data
    (2 SP)
  • Authorization flow R&D
    (1 SP)
  • Adding of Unit tests
    (3 SP)
  • Adding of Test scenarious
    1. Approach, access to hip tool should be granted
    2. General test strategy should be defined
  • Updating of js/tech/test documentation
    1 Development docs
    (3 SP)
    2 Testing docs
    1. Test Approach, access to hip tool should be granted
    2. General test strategy should be defined

Acceptance criterea

  1. As an authorized user, I open "Purchase history: listed..."-page
  2. Filter component's shown on the "Purchase history: listed..."-page
  3. Then, user see the list of product items
  4. Each product item includes image, product title, date and arrow

Demo scenario

  1. Open "Purchase history: listed..."-page
    2 "Purchase history: listed..."-page is shown the list of product items
    3 Filter component's shown in a static mode

Q&A

1. What kind of approach we generally use to build/define page URLs?

@ericerway
Copy link
Author

ericerway commented Oct 8, 2018

@ericerway ericerway added this to the Sprint 27 milestone Oct 8, 2018
@zetlen
Copy link
Contributor

zetlen commented Oct 8, 2018

@dmtrkad Initially, we do all our development in Venia. When we feel personally we have created a component or utility that is useful outside Venia, we can PR it to peregrine.

@Starotitorov
Copy link
Contributor

Starotitorov commented Oct 10, 2018

Frontend tasks:

  • Implement page component.
  • Implement filter component.
  • Implement purchase history list component.
  • Implement fetching of purchase history om mocks.
  • Implement fetching of purchase history (last orders; items).
  • Add unit tests.
  • Add docs.
  • Register separate route for the page.

@vitalics
Copy link
Contributor

Scenario is ready for review and available from the link below
https://app.hiptest.com/l/sc/2338900

@ericerway ericerway modified the milestones: Sprint 27, Sprint 28 Oct 22, 2018
@dmtrkad
Copy link

dmtrkad commented Oct 24, 2018

Action plan: Need to localize an issue and update jest config.
Estimation: 1SP

  • Implement fetching of purchase history (last orders; items).
    @ericerway, Do we need to implement purchase history page for authorized users only? Right now Magento allows us to fetch orders information only for authorized users.
  • Register separate route for the page.
    Estimation: 1SP

@AlexeyKaryka
Copy link
Contributor

AlexeyKaryka commented Oct 25, 2018

@ericerway @zetlen purchase history page shows items from completed orders and different orders may contain same items, so should we keep duplicated items from different orders on the purchase history page?

@ericerway
Copy link
Author

@dmtrkad this is only for authenticated users; order details is for both authenticated and guest users. Let's create a small user story for the remaining 1SP work here.

@AlexeyKaryka yes let's keep duplicated items; this should be an uncommon use case. Thanks!

@Starotitorov
Copy link
Contributor

@ericerway, right now Magento does not allow us to retrive information about order for guest users.

@ericerway
Copy link
Author

Double checked and the endpoint is definitely there for order details but may be for admin only and will not work for cookie auth. Let's handle offline but please double check the new REST API documentation here: https://devdocs.magento.com/redoc/2.3/index.html

@Starotitorov
Copy link
Contributor

Starotitorov commented Oct 25, 2018

@ericerway, we use header Authorization to attach token to request, we do not use cookies at all, we store this token in localStorage. It is possible to retreive order information only for authorized users. We do not have some kind of authorization token for guest users.

@Starotitorov
Copy link
Contributor

Starotitorov commented Oct 25, 2018

@zetlen, I faced with an issue, I did not find an endpoint to fetch all items from all orders for customer or at least endpoint to fetch all orders for customer using auth token https://devdocs.magento.com/redoc/2.3/ https://devdocs.magento.com/guides/v2.3/rest/list.html . Do we have an appropriate endpoint in Magento to fetch data required for the story? I see that we have an endpoint /V1/orders, but it is for admins.

@Starotitorov
Copy link
Contributor

Starotitorov commented Oct 26, 2018

@ericerway, @awilcoxa, @zetlen, @jimbo, @dmtrkad We are blocked by issue related to running units tests and importing List from peregrine, there is a pull request #417. Also, there is an open question related to rest API endpoint that can be used to fetch information about items from all orders that were submitted by authorized customer #294 (comment). We have implemented Redux related logic and now there is an open question related to API endpoint to fetch data.

@soumya-ashok
Copy link

soumya-ashok commented Nov 2, 2018

purchase_details_Screen.PNG

@ddzhura
Based on the mockup sent via email, here are my notes -
The font on the screen does not match the mockup. 'Muli' is the one we are using. It is a free Google font.
The filter icon needs to be reduced in size, and vertically aligned in the field
How would the filtering interaction work? Do they enter a filter and select "done" on the keypad screen overlay, and the page reloads with results or
Do the results filter automatically when they complete the filter term in the field? @jimbo could you assist here please?

@Starotitorov
Copy link
Contributor

@soumya-ashok, thank you for the feedback! According to requirements filtering is out of the scope of the story and will be implemented in the future. Right now filter field is just a static component.

@Starotitorov
Copy link
Contributor

@soumya-ashok, @ddzhura, @jimbo

I will align filter icon vertically and reduce the size, thank you for the comment.

  • We specified 'Muli' font, but here a fallback font is used, because we do not load 'Muli' font in our application.
  • Our icon library https://feathericons.com/ does not contain filter icon from mockup, so we added a similar icon. Do we need to change this?

@soumya-ashok
Copy link

@Starotitorov - The mockups use material icons, but @jimbo and I decided to go with Feather icons because they are open source and suit the design a little better. The feather filter icon is fine the way you have it right now unless there is a "filled" option available in the same library.

@Starotitorov
Copy link
Contributor

@soumya-ashok, there is no problem to change a color of the icon, yeah, i will do it.

@ericerway ericerway removed this from the Sprint 28 milestone Nov 6, 2018
@ericerway
Copy link
Author

Moving to Sprint 30 for review while fetch endpoints are explored.

@ericerway ericerway modified the milestones: Sprint 29, Sprint 30 Nov 19, 2018
@ericerway ericerway reopened this Nov 20, 2018
@ericerway ericerway removed this from the Sprint 30 milestone Dec 3, 2018
@dmtrkad dmtrkad closed this as completed Jan 3, 2019
@dmtrkad dmtrkad reopened this Jan 3, 2019
@awilcoxa
Copy link

awilcoxa commented Jan 9, 2019

@jimbo is purchase history merged/released? Anything left to do for this issue?

@awilcoxa awilcoxa added the hold On hold until another condition is fulfilled. label Feb 6, 2019
@awilcoxa awilcoxa removed the hold On hold until another condition is fulfilled. label Feb 19, 2019
@awilcoxa
Copy link

Components exist but is not available in UI, moving back to backlog to determine next steps/stories.

@awilcoxa awilcoxa removed the sustaining Marked for sustaining development. label Mar 5, 2019
@awilcoxa awilcoxa added this to the Storefront and Theming milestone Oct 14, 2019
@awilcoxa awilcoxa changed the title Implement basic Purchase History for Venia (PWA) [feature]: Purchase History for Venia (PWA) Oct 16, 2019
@awilcoxa awilcoxa removed this from the Storefront and Theming milestone Oct 16, 2019
@awilcoxa
Copy link

awilcoxa commented Feb 3, 2020

@sivakumarkoduru
Copy link
Contributor

purchase_details_Screen.PNG

@ddzhura
Based on the mockup sent via email, here are my notes -
The font on the screen does not match the mockup. 'Muli' is the one we are using. It is a free Google font.
The filter icon needs to be reduced in size, and vertically aligned in the field
How would the filtering interaction work? Do they enter a filter and select "done" on the keypad screen overlay, and the page reloads with results or
Do the results filter automatically when they complete the filter term in the field? @jimbo could you assist here please?

Its better to add item status in the grid ,for example delivered on 12th May 2019 , cancelled,returned etc,

@sirugh
Copy link
Contributor

sirugh commented Feb 9, 2021

This is outdated. We have internal work to address the order history page now, starting with #2611

@sirugh sirugh closed this as completed Feb 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests