jramnani / gildedrosejavallc Goto Github PK
View Code? Open in Web Editor NEWWelcome to the Gilded Rose store!
Welcome to the Gilded Rose store!
Given Barry wants to update the inventory
When they navigate to the admin page
Then the page will load matching the design in the figma
Dev notes
-Tailwind tables
Given a user wants information on a product
when they make a request to this web server
Then a JSON object will be returned with its item name and price as two different fields.
Dev note
This extends #5
Given Barry wants to age the inventory at the end of the day
When they press update quality
Then the table will update with the new item details
And when they leave the page
When they come back to the admin page
Then the updated details will persist in the table
This extends #4
AC:
Todos:
Dev Notes
Framework - React
CSS - Tailwind/bootstrap -> Just have a reason
Testing - TBD
As a GildedRose customer
Given I go to the GildedRose online store
Then I should be able to view all of the items in the store
And see the price for each item.
The price for each Item should be the Quality times a Markup value.
Dev notes
Page should be responsive
see figma
Given the requirement that the quality of an item should never be negative
When an item is added with a quality below 0
Then the item can still be added and will continue to degrade when updated.
As a GildedRose employee
Given I go to the store's admin page
And I click on an "Update Quality" button.
Then all items in the store should have their quality and sellIn values updated for today.
Given a user browses to localhost:5000/index
When the page loads
Then all of the inventory will appear on the page
And the page will have a static header of "Guilded Rose"
And the inventory will be shown with the name on top, followed by the price, and quality below the name.
Dev notes
Add tests for special items
General Qualities:
Quality degrades twice as fast once past sell by
Quality is never negative
Quality is never more than 50
This extends #4
AC:
Given a user goes to localhost:3000
Then a page will load matching this figma
And if they are on a device other than a 14" MacBook pro
Then the page will be responsive to the devices screen size
Given Store has conjured item
when the day progresses
then the quality value will degrade twice as fast as normal items
This is part of #2
Create an ageable interface with an age method
Have every item that can age implement ageable
A hashmap is created to hold the item along with its unique class
It was found that a common type of class was needed to populate the hashmap
The ageable interface is used in this case -> Hashmap<Item, Ageable>
Given an HTTP client makes a GET request to /inventory
Then the response will be a JSON with an id, name, and price
DEV notes
Get the tests passing
Use jackson JSON api instead of custom JSON formatter object we are using to ensure JSON formatting is standardized using a tool built by people way smarter than me
Given the requirement that no item should have a quality above 50
When "Aged Brie" is added as an item with a quality above 50
Then the item is still added
Given "Red Wine" is an item in the inventory
When a day progresses
Then its quality will degrade three times slower than normal items.
Dev Notes
Given an item is a conjured item
When a day passes
The quality value will degrade
Description
Requirements
Requirement instructions
How to start the program
How to run tests
this extends #5
Given I am an API user
When I make a POST request to "/inventory/update"
Then the response will include a JSON with all of the inventory updated by one day
And subsequent GET requests will show the updated inventory
Given the Gilded Rose inventory
When you view the inventory
Then you have Conjured items as an option
AC:
On push to trunk
CI will check the build and tests
Given a user makes a request to the web server
then a JSON object will be returned with a name and price field with a string of "hello world" as its value for each.
Given a user is on the inventory index page
When they select "add to cart"
Then a counter on the top right of their screen will increment by one.
And continue to increment by one each additional click
Determine the best CI tool for the project
Setup yaml file
Submit first build
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.