As a dev, I want to implement Router so that I can use url paths rather than conditional rendering to move users through our web app.
Acceptance Criteria
How will we know that the user story is complete?
If a user is able to use the back and forward buttons and navigate between two pages and data is still displayed as expected. If a user is able to navigate to a page with a url only and images are displayed as expected.
As a user, I want to my page to persist upon refresh so that if I accidentally click or want to cause a refresh, the data will attempt to continue.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, when I click into a category and click refresh, I want the data to persist and not be greeted with an error message. As a sighted user, when I click into a product type and click refresh, I want the data to persist and not be shown an error. As a sighted user, when I click on a cosmetic to view its details, even when I click refresh, the data should persist and I will not be shown an error.
As a user, I want to visit the homepage so that I can see a a navigation bar, a mission statement, categories, and a footer with an about us.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted visitor, I will see a navigation bar, the mission statement, and three categories to choose from. At the bottom of the page, there is a footer. When I try to click on something, nothing happens.
Concerns
Are all sizes on elements relative to screen size (Mobile first)
What's our color scheme?
When do we implement testing?
Please see issues: #2#3#4#5 for a breakdown of each element of App.
As a user, I want to visit the home page so that I can see a footer with links to creators linkedIn & githubs.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, I see at the bottom of the page there's a footer that contains the clickable links to the creators. This is clickable. I see three creators and there are links to their gh pages & their LinkedIn pages.
Concerns
Mobile first viewing
What information do we want displayed here?
a separate component for each of us? Or hardcoded?
As a dev, I want to apply propTypes so that I can confirm that data coming into a component is the expected data type.
Acceptance Criteria
How will we know that the user story is complete?
As a dev, I can force in fake & incorrect data and will see an error in my console telling me that it's expecting a sting, but is getting a number instead.
As a user, I want to go to the homepage so that I can see the available categories to sort through.
Acceptance Criteria
How will we know that the user story is complete?
As a normal sighted user, when I go to the homepage, I will see three icons & associated titles telling me what the categories are. If I try to click into one, nothing happens.
Concerns
Are the sizes relative to screen size (mobile first)
As a dev, I want to apply proper error handling so that I can ensure that there's a proper UX response.
Acceptance Criteria
How will we know that the user story is complete?
As a dev, I can manipulate the the fetch call to force a 500 and see proper error handling.
As a user, when I try to visit an invalid url off of the home page, I will see error handling. (400 errors)
As a user, I want to view the footer so that I can see visual representations of a creator's available SM handles.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, when I scroll to the bottom of the page, I see a footer with Connie Hong's GH, LinkedIn, and Twitter. I click the GH and I'm brought to her own person GH page on another tab.
As a dev, I want to use cypress so that I can test for if a category can be clicked into and filter to view particular products.
Acceptance Criteria
How will we know that the user story is complete?
As a dev, I should command cypress to click into vegan, then lipstick, then a lipstick product and see the details of a lipstick product. All tests should pass.
Concerns
Error testing/sad path testing occurs at a different place.
As a user, I want to navigate inside of a product type so that I can see all items of that product type with an image.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, I click into eco's blush products and do not see any broken image links.
Concerns
How to recognize if an image isn't working or not?
Additional Notes:
Broken images seem to be attributed with links but the links are not rendering the image. These items may be no longer available/ discontinued by the manufacturer and has not been updated by the API.
As a user, I want to navigate directly to a websites page so that I can view that particular page's information.
Acceptance Criteria
How will we know that the user story is complete?
As a normal sighted user, I can type into the address bar a specific path and be taken to that categories pathway to view the types of products available. I do not see an error.
As a dev, I want to refactor the apicalls so that I can dry up my code.
Acceptance Criteria
How will we know that the user story is complete?
When I look at my file structure, I see that apiCalls is split into their own file and that file is brought into app and assigned a variable to call the fetch.
As a user, I want to navigate to the various categories so that I can view the types of products and there's always a visual available.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, when I click the 'eco' category, I can see the 9 available types of product types to choose from. When I click on them, nothing happens.
Concerns
Is our data persisting on refresh?
can a user go to a specific url and still see that data?
As a user, I want to click a button so that I can clear my search results.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, I want to search for a product and another product, and another. If I don't see an developer error during this process, then it's successful.
As a user, I want to have a search bar so that I can find a product by brand name or tag.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, I can type in 'e.l.f' and see the various products with the brand of 'e.l.f' or I can type in 'gluten-free' and see all products that have the label of 'gluten-free'.
As a user, I want to bookmark a type of product in a category so that I can come back to it later.
Acceptance Criteria
How will we know that the user story is complete?
As a sighted user, I click into Vegan and then the product type of mascara, and I see the available items of that product type. I want to bookmark that page that has its own unique url and be able to come back to it at a later date.
Concerns
use pathways of /vegan/mascara/:id or something, to ensure accuracy of request.
As a dev, I want to use cypress testing so that I can check the UI/UX of the search bar.
Acceptance Criteria
How will we know that the user story is complete?
As a dev, when I write commands to see that if a user types in 'dairy-free' they will be given a list of products with that tag and are able to click into a single product.
As a user, I want to go to the homepage so that I can see a navigation bar with the title of the site and home button.
Acceptance Criteria
How will we know that the user story is complete?
As a normal sighted user, I will see a navigation bar that tells me the site name of "Face It" and have a home button. When I click on the home button, nothing happens.
As a dev, I want to create a back up server using express so that I don't have to worry about the original API crashing/being limited to api rate limits .
Acceptance Criteria
How will we know that the user story is complete?
When I create a fetch call to the our back up server, it functions as if I had made a fetch call to the original makeup APi