Coder Social home page Coder Social logo

littleshop's People

Contributors

abenetka avatar jaaronbr avatar justinmauldin7 avatar lptaylor avatar

Stargazers

 avatar

Watchers

 avatar

littleshop's Issues

User Story 60, Merchant fulfills part of an order

As a merchant
When I visit an order show page from my dashboard
For each item of mine in the order
If the user's desired quantity is equal to or less than my current inventory quantity for that item
And I have not already "fulfilled" that item:
- Then I see a button or link to "fulfill" that item
- When I click on that link or button I am returned to the order show page
- I see the item is now fulfilled
- I also see a flash message indicating that I have fulfilled that item
- My inventory quantity is permanently reduced by the user's desired quantity

If I have already fulfilled this item, I see text indicating such.

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #8

depends on #7

User Story 47, Admin visits Merchant Index Page

As an admin user
When I visit the merchant's index page at "/merchants"
I see all merchants in the system
Next to each merchant's name I see their city and state
The merchant's name is a link to their Merchant Dashboard at routes such as "/admin/merchants/5"
I see a "disable" button next to any merchants who are not yet disabled
I see an "enable" button next to any merchants whose accounts are disabled

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #24

depends on #23

User Story 62, Admin User Index Page

As an admin user
When I click on the "Users" link in the nav
Then my current URI route is "/admin/users"
And I see all users in the system who are not merchants nor admins
Each user's name is a link to a show page for that user ("/admin/users/5")
Next to each user's name is the date they registered
I see a "disable" button next to any users who are not yet disabled
I see an "enable" button next to any users whose accounts are disabled

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #4

depends on #71

User Story 41, Merchant's Items index page

As a merchant
When I visit my dashboard
I see a link to view my own items
When I click that link
My URI route should be "/dashboard/items"

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

depends on #55

User Story 45, Merchant Index Page

As a visitor
When I visit the merchant's index page at "/merchants"
I see all merchants in the system who are active
Next to each merchant's name I see their city and state
I also see the date they registered

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #24

depends on #74

User Story 31, Visitors must register or log in to check out

As a visitor
When I have items in my cart
And I visit my cart
I see information telling me I must register or log in to finish the checkout process
The word "register" is a link to the registration page
The words "log in" is a link to the login page

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #44

depends on #74

depends on #68

depends on #64

Epic: Merchant Items

Merchant Items

Merchants need CRUD functionality for items in the database. These stories will work through the management of items. These routes should be namespaced like "/dashboard/items" and "/dashboard/items/6" and so on. Merchants can disable items so they are no longer for sale but stay in the database so orders are still handled properly. Merchants can fully delete items if nobody has ever ordered it.

Admin functionality

Admin users share all management functionality, but the routes will be much longer, like "/admin/merchants/8/items" and "/admin/merchants/8/items/6" and so on.

child of #77

depends on #31

User Story 49, Admin enables a merchant account

As an admin merchant
When I visit the merchant index page
And I click on a "enable" button for a disabled merchant
I am returned to the admin's merchant index page
And I see a flash message that the merchant's account is now enabled
And I see that the merchant's account is now enabled
This merchant can now log in

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #24

depends on #21

User Story 35, User cancels an order

As a registered user
When I visit an order's show page
If the order is still "pending", I see a button or link to cancel the order
When I click the cancel button for an order, the following happens:
- Each row in the "order items" table is given a status of "unfulfilled"
- The order itself is given a status of "cancelled"
- Any item quantities in the order that were previously fulfilled have their quantities returned to their respective merchant's inventory for that item.
- I am returned to my profile page
- I see a flash message telling me the order is now cancelled
- And I see that this order now has an updated status of "cancelled"

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #38

depends on #55

depends on #37

User Story 34, Admin views a User's Order Show Page

As an admin user
When I visit a user's profile
And I click on a link for order's show page
My URL route is now something like "/admin/orders/15"
I see all information about the order, including the following information:
- the ID of the order
- the date the order was made
- the date the order was last updated
- the current status of the order
- each item the user ordered, including name, description, thumbnail, quantity, price and subtotal
- the total quantity of items in the whole order
- the grand total of all items for that order

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #38

depends on #49

User Story 54, Merchant adds an item

As a merchant
When I visit my items page
And I click on the link to add a new item
My URI route should be "/dashboard/items/new"
I see a form where I can add new information about an item, including:
- the name of the item, which cannot be blank
- a description for the item, which cannot be blank
- a thumbnail image URL string, which CAN be left blank
- a price which must be greater than $0.00
- my current inventory count of this item which is 0 or greater

When I submit valid information and save the form
I am taken back to my items page
I see a flash message indicating my new item is saved
I see the new item on the page, and it is enabled and available for sale
If I left the image field blank, I see a placeholder image for the thumbnail

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #17

User Story 40, Merchant Dashboard Statistics

As a merchant
When I visit my dashboard, I see an area with statistics:
- top 5 items I have sold by quantity
- total quantity of items I've sold, and as a percentage against my sold units plus remaining inventory (eg, if I have sold 1,000 things and still have 9,000 things in inventory, the message would say something like "Sold 1,000 items, which is 10% of your total inventory")
- top 3 states where my items were shipped
- top 3 city/state where my items were shipped (Springfield, MI should not be grouped with Springfield, CO)
- name of the user with the most orders from me (pick one if there's a tie)
- name of the user who bought the most total items from me (pick one if there's a tie)
- top 3 users who have spent the most money on my items

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

depends on #31

User Story 58, Admin can manage items on behalf of a merchant

As an admin user
When I visit a merchant's profile page
I can click on the merchant's items link
And have access to all functionality the merchant does, including
- adding new items
- editing existing items
- enabling/disabling/deleting items

All content rules still apply (eg, item name cannot be blank, etc)

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #17

depends on #13

depends on #11

User Story 30, User can manipulate quantities in their cart

As a visitor or registered user
When I have items in my cart
And I visit my cart
Next to each item in my cart
I see a button or link to remove that item from my cart
- clicking this button will remove the item but not other items

I see a button or link to increment the count of items I want to purchase
- I cannot increment the count beyond the merchant's inventory size

I see a button or link to decrement the count of items I want to purchase
- If I decrement the count to 0 the item is immediately removed from my cart

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #44

User Story 32, Registered users can check out

As a registered user
When I add items to my cart
And I visit my cart
I see a button or link indicating that I can check out
And I click the button or link to check out
An order is created in the system, which has a status of "pending"
I am taken to my orders page ("/profile")
I see a flash message telling me my order was created
I see my new order listed on my profile page

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #44

depends on #54

Epic: Shopping Cart and Checkout

Shopping Cart and Checkout

This is what this app is all about: how a user can put things in a shopping cart and check out, creating an order in the process.

Visitors and Regular Users only

Merchants and Admin users cannot order items. This will cause a conflict in the project if an admin upgrades a user to a merchant and that user had previous orders of their own. We're not going to worry about this conflict.

child of #77

depends on #74

User Story 56, Merchant edits an item

As a merchant
When I visit my items page
And I click the edit button or link next to any item
Then I am taken to a form similar to the 'new item' form
My URI route will be "/dashboard/items/15/edit" (if the item's ID was 15)
The form is re-populated with all of this item's information
I can change any information, but all of the rules for adding a new item still apply:
- name and description cannot be blank
- price cannot be less than $0.00
- inventory must be 0 or greater

When I submit the form
I am taken back to my items page
I see a flash message indicating my item is updated
I see the item's new information on the page, and it maintains its previous enabled/disabled state
If I left the image field blank, I see a placeholder image for the thumbnail

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #13

User Story 28, User views their cart show page but it's empty

As a visitor or registered user
When I add NO items to my cart yet
And I visit my cart ("/cart")
I see a message that my cart is empty
I do NOT see the link to empty my cart

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #74

User Story 50, Merchant Items Index Page

As a merchant
When I visit my items page "/dashboard/items"
I see a link to add a new item to the system
I see each item I have already added to the system, including:
- the ID of the item
- the name of the item
- a thumbnail image for that item
- the price of that item
- my current inventory count for that item
- a link or button to edit the item

If no user has ever ordered this item, I see a link to delete the item
If the item is enabled, I see a button or link to disable the item
If the item is disabled, I see a button or link to enable the item

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #31

User Story 42, Admin can see a merchant's dashboard

As an admin user
When I visit the merchant index page ("/merchants")
And I click on a merchant's name,
Then my URI route should be ("/admin/merchants/6")
Then I see everything that merchant would see

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

User Story 55, Merchant cannot add an item if details are bad/missing

As a merchant
When I try to add a new item
If any of my data is incorrect or missing (except image)
Then I am returned to the form
I see one or more flash messages indicating each error I caused
All fields are re-populated with my previous data

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #13

Epic: Merchant Index Page

Merchant Index Page

All users can see a merchant index page at "/merchants" which will list some basic information about each merchant. When admins visit this page, however, more functionality is found.

child of #77

depends on #74

User Story 51, Merchant disables an item

As a merchant
When I visit my items page
And I click on a "disable" button or link for an item
I am returned to my items page
I see a flash message indicating this item is no longer for sale
I see the item is now disabled

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #17

User Story 27, User views their cart show page with items in the cart

As a visitor or registered user
When I have added items to my cart
And I visit my cart ("/cart")
I see all items I've added to my cart
And I see a link to empty my cart
Each item in my cart shows the following information:
- the name of the item
- a very small thumbnail image of the item
- the merchant I'm buying this item from
- the price of the item
- my desired quantity of the item
- a subtotal (price multiplied by quantity)

I also see a grand total of what everything in my cart will cost

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #74

User Story 37, All Merchants fulfill items on an order

When all items in an order have been "fulfilled" by their merchants
The order status changes from "pending" to "complete"

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #77

depends on #6

User Story 57, Merchant cannot edit an item if details are bad/missing

As a merchant
When I try to edit an existing item
If any of my data is incorrect or missing (except image)
Then I am returned to the form
I see one or more flash messages indicating each error I caused
All fields are re-populated with my previous data

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #11

User Story 64, Admin enables a user account

As an admin user
When I visit the user index page
And I click on a "enable" button for a disabled user
I am returned to the admin's user index page
And I see a flash message that the user's account is now enabled
And I see that the user's account is now enabled
This user can now log in

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #4

depends on #3

User Story 22, Admin can edit a user's profile data

As an admin user
When I visit a user's profile page ("/admin/users/5")
And I click the link to edit the user's profile data
The same behaviors exist as if I were that user trying to change their own data
Except I am returned to the show page path of
"/admin/users/5" when I am finished

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #56

depends on #71

depends on #51

User Story 48, Admin disables a merchant account

As an admin merchant
When I visit the merchant index page
And I click on a "disable" button for an enabled merchant
I am returned to the admin's merchant index page
And I see a flash message that the merchant's account is now disabled
And I see that the merchant's account is now disabled
This merchant cannot log in

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #24

depends on #21

User Story 24, Admin can make a User a Merchant

As an admin user
When I visit a user's profile page ("/admin/users/5")
I see a link to "upgrade" the user's account to become a merchant
When I click on that link
I am redirected to ("/admin/merchants/5") because the user is now a merchant
And I see a flash message indicating the user has been upgraded
The next time this user logs in they are now a merchant
Only admins can see the "upgrade" link
Only admins can reach any route necessary to upgrade the user to merchant status

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #56

depends on #51

depends on #27

Epic: Admin User Index Page

Admin's User Index Page

The index page indicated in these stories should be namespaced under a route "/admin/users". This route should only be accessible to admin users of your application. Any functionality mentioned in this epic should be performed by admin users only, and respective routes should all be namespaced under "/admin"

child of #77

User Story 44, Admin is redirected from Merchant Dashboard to User profile

As an admin user
If I visit a merchant dashboard, but that merchant is a regular user
Then I am redirected to the appropriate user profile page.

eg, if I visit "/admin/merchants/7" but that merchant is a regular user
then I am redirected to "/admin/users/7" and see their user profile page

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

User Story 39, Merchant Dashboard displays Orders

As a merchant
When I visit my dashboard ("/dashboard")
If any users have pending orders containing items I sell
Then I see a list of these orders.
Each order listed includes the following information:
- the ID of the order, which is a link to the order show page ("/dashboard/orders/15")
- the date the order was made
- the total quantity of my items in the order
- the total value of my items for that order

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

depends on #31

User Story 46, Merchant Index Page Statistics

As a visitor
When I visit the merchants index page, I see an area with statistics:
- top 3 merchants who have sold the most by price and quantity
- top 3 merchants who were fastest at fulfilling items in an order
- worst 3 merchants who were slowest at fulfilling items in an order
- top 3 states where any orders were shipped
- top 3 cities where any orders were shipped (Springfield, MI should not be grouped with Springfield, CO)
- top 3 biggest orders by quantity of items

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #24

depends on #23

Epic: User Order Show Page

User Order Show Page

The show page for an order will be shared between users, merchants and admins.

User Control

  • Users can cancel an order if at least one item in the order is NOT yet fulfilled
  • When an order is cancelled, any fulfilled items have their inventory returned to their respective merchants

Merchant Control

  • Merchants only see items in the order that are sold by that merchant
  • Items from other merchants are hidden

Admin Control

  • Admins can cancel an order on behalf of a user
  • Admins can fulfill items on order on behalf of a merchant

child of #77

User Story 29, User can empty a cart that has items

As a visitor or registered user
When I have items in my cart
And I visit my cart ("/cart")
And I click the link to empty my cart
Then I am returned to my cart
All items have been completely removed from my cart
The navigation bar shows 0 items in my cart

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #44

User Story 33, User views an Order Show Page

As a registered user
When I visit my profile page
And I click on a link for order's show page
My URL route is now something like "/profile/orders/15"
I see all information about the order, including the following information:
- the ID of the order
- the date the order was made
- the date the order was last updated
- the current status of the order
- each item I ordered, including name, description, thumbnail, quantity, price and subtotal
- the total quantity of items in the whole order
- the grand total of all items for that order

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #38

depends on #55

User Story 23, Admin Sees User's Orders

As an admin user
When I visit a user's profile page
I see the same order data that the user sees

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #56

depends on #51

depends on #37

User Story 43, Admin can downgrade a merchant to regular user

As an admin user
When I visit a merchant's dashboard ("/admin/merchants/6")
I see a link to "downgrade" the merchant's account to become a regular user
The merchant themselves do NOT see this link
When I click on that link
I am redirected to ("/admin/users/6") because the merchant is now a regular user
And I see a flash message indicating the user has been downgraded
The next time this user logs in they are no longer a merchant
Only admins can see the "downgrade" button
Only admins can reach any route necessary to downgrade the merchant to user status

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

User Story 63, Admin disables a user account

As an admin user
When I visit the user index page
And I click on a "disable" button for an enabled user
I am returned to the admin's user index page
And I see a flash message that the user's account is now disabled
And I see that the user's account is now disabled
This user cannot log in

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #4

depends on #3

Epic: Merchant Order Fulfillment

Merchant Order Fulfillment

Merchants must "fulfill" each ordered item for users. They will visit an order show page which will allow them to mark each item as fulfilled. Once every merchant marks their items for an order as "fulfilled" then the whole order switches its status to "completed". Merchants cannot fulfill items in an order if they do not have enough inventory in stock. If a user cancels an order after a merchant has fulfilled an item, the quantity of that item is returned to the merchant.

Admin functionality

Admins can fulfill items in an order on behalf of a merchant.

child of #77

depends on #31

User Story 38, Merchant Dashboard Show Page

As a merchant user
When I visit my dashboard ("/dashboard")
I see my profile data, but cannot edit it

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #32

depends on #69

depends on #24

User Story 59, Merchant sees an order show page

As a merchant
When I visit an order show page from my dashboard
I see the customer's name and address
I only the items in the order that are being purchased from my inventory
I do not see any items in the order being purchased from other merchants
For each item, I see the following information:
- the name of the item, which is a link to my item's show page
- a small thumbnail of the item
- my price for the item
- the quantity the user wants to purchase

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #8

depends on #30

User Story 36, Admin cancels a user's order

As an admin user
When I visit a user's order show page
If the order is still "pending", I see a button or link to cancel the order
When I click the cancel button for an order
The same behaviors happen as if the user canceled the order themselves

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #38

depends on #55

depends on #37

User Story 25, Admin is redirected from User profile to Merchant dashboard

As an admin user
If I visit a profile page for a user, but that user is a merchant
Then I am redirected to the appropriate merchant dashboard page.
eg, if I visit "/admin/users/7" but that user is a merchant
Then I am redirected to "/admin/merchants/7"
And I see their merchant dashboard page

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #56

depends on #51

depends on #27

User Story 52, Merchant enables an item

As a merchant
When I visit my items page
And I click on an "enable" button or link for an item
I am returned to my items page
I see a flash message indicating this item is now available for sale
I see the item is now enabled

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #17

Epic: Merchant Dashboard

Merchant Dashboard

This is the landing page when a merchant logs in. Here, they will see their contact information (but cannot change it), some statistics, and a list of pending orders that require the merchant's attention.

Admins can act on behalf of merchants

Admin users will see more information on the "/merchants" route that all users see. For example, on this page, an admin user can navigate to each merchant's dashboard under a route like "/admin/merchants/7". This will allow the admin to perform every action that the merchant themselves can perform. Admin users can also "downgrade" a merchant account to become a user account.

child of #77

depends on #69

User Story 53, Merchant deletes an item

As a merchant
When I visit my items page
And I click on a "delete" button or link for an item
I am returned to my items page
I see a flash message indicating this item is now deleted
I no longer see this item on the page

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #18

depends on #17

User Story 61, Merchant cannot fulfill an order due to lack of inventory

As a merchant
When I visit an order show page from my dashboard
For each item of mine in the order
If the user's desired quantity is greater than my current inventory quantity for that item
Then I do not see a "fulfill" button or link
Instead I see a big red notice next to the item indicating I cannot fulfill this item

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #38

depends on #30

User Story 26, User adds an item to the cart

As a visitor or registered user
When I visit an item's show page from the items catalog
I see a link or button to add this item to my cart
And I click its link or button
I am returned to the item index page
I see a flash message indicating the item has been added to my cart
The navigation bar increments my cart counter

Checklist:

  • base code tests are written
  • base code is written to pass tests
  • edge case ("sad path") tests written (if required)
  • edge case code written (if required)
  • code is reviewed
  • branch is merged
  • all tests still pass

child of #46

depends on #57

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.