VbzCart/docs/pieces/status: Difference between revisions

From Woozle Writes Code
< VbzCart‎ | docs‎ | pieces
Jump to navigation Jump to search
imported>Woozle
(this is most of it)
 
m (Woozle moved page VbzCart/VbzCart/pieces/status to VbzCart/docs/pieces/status without leaving a redirect: part 2)
 
(15 intermediate revisions by one other user not shown)
Line 1: Line 1:
==Process Breakdown==
==Status==
* Shopping interface
{| style="border: 1px solid black; float: right;" width=30%
** display of individual {{l/sub|title}}s
|-
*** display of all active {{l/sub|image}}s for each title, with appropriate annotations and in appropriate order
|
*** display of all available {{l/sub|item}}s for each title, with pricing and stock information
===Key===
** display of groups of titles
<small>
*** by {{l/sub|topic}}
* <span class=stat-ok>green</span> means this is working well enough to be deployed
*** by {{l/sub|department}}
* <span class=stat-busy>yellow</span> depends on which section is involved:
** display of {{l/sub|topic}}s
** in the "shopping interface" section, it means I'm writing from scratch or significantly rewriting
*** search topics (as part of catalog search feature)
** in the "administrative interface" section, it means I had this written for the MediaWiki version of VbzCart and am now converting it to the standalone version.
*** display individual topic
* '''bold''' means this needs to be working before the store can open
**** show topic's place in topic hierarchy
</small>
**** show all available titles for the topic
|}
**** list or show [[/title/retired|unavailable titles]] for the topic
 
** display of {{l/sub|department}}s
This doesn't currently show testing status; some items marked "working" may have been temporarily broken by work on other items.
*** same as topics
 
** display of {{l/sub|supplier}}s
# <span class=stat-busy>Shopping interface</span>
*** show individual supplier
## '''<span class=stat-ok>display of individual {{l/sub|title}}s</span>'''
**** show list of departments; if only one department, show its page instead
### '''<span class=stat-ok>display of all active {{l/sub|image}}s for each title, with appropriate annotations and in appropriate order</span>'''
**** summarize items available by attributes (e.g. [[/item/type|item type]], size)
### '''<span class=stat-ok>display of all available {{l/sub|item}}s for each title, with pricing and stock information</span>'''
** show/search {{l/sub|stock}}
## '''<span class=stat-ok>display of groups of titles</span>'''
** add items to {{l/sub|cart}}
### '''<span class=stat-ok>by {{l/sub|topic}}</span>'''
** create an {{l/sub|order}} from cart
### '''<span class=stat-ok>by {{l/sub|department}}</span>'''
*** enter shipping and payment information
## '''<span class=stat-ok>display of {{l/sub|topic}}s</span>'''
*** log in to re-use/manage previously entered shipping/payment information
### '''<span class=stat-ok>search topics (as part of catalog search feature)</span>'''
*** display order confirmation before formal submission
### '''<span class=stat-ok>display individual topic</span>'''
*** send full order information (except card #) via email
#### '''<span class=stat-ok>show topic's place in topic hierarchy</span>'''
* Administrative interface
#### '''<span class=stat-ok>show all available titles for the topic</span>'''
** security
#### <span class=stat-ok>list or show [[/title/retired|unavailable titles]] for the topic</span>
*** create/edit [[/security/group|security group]]s
## '''<span class=stat-ok>display of {{l/sub|department}}s</span>'''
**** edit name and [[/security/permission|permission]]s for each group
### '''<span class=stat-ok>same as topics</span>'''
*** assign {{l/sub|user}}s to groups
## '''<span class=stat-ok>display of {{l/sub|supplier}}s</span>'''
*** edit user information
### '''<span class=stat-ok>show individual supplier</span>'''
*** only allow access to any admin feature if user has the corresponding permission (via group membership)
#### '''<span class=stat-ok>show list of departments; if only one department, show its page instead</span>'''
** manage local catalog
#### '''<span class=stat-ok>summarize items available by attributes (e.g. [[/item/type|item type]], size)</span>'''
*** edit items
## <span class=stat-busy>show/search {{l/sub|stock}} only</span>
*** edit titles
## '''<span class=stat-ok>add items to {{l/sub|cart}}</span>'''
*** edit departments
## '''<span class=stat-busy>create an {{l/sub|order}} from cart</span>'''
*** edit suppliers
### '''<span class=stat-ok>enter shipping and payment information</span>'''
*** edit [[/supplier/catalog|supplier catalog]]s
### '''<span class=stat-busy>log in to re-use/manage previously entered shipping/payment information</span>'''
** order processing
#### '''<span class=stat-busy>allow regular users to access their own information without being able to access that of other users</span>'''
*** view shopping carts
### '''<span class=stat-ok>display order confirmation before formal submission</span>'''
*** view/edit/process orders
### '''<span class=stat-ok>send full order information (except card #) via email</span>'''
**** select items from stock locations to put into a [[/package]] for shipment
# <span class=stat-busy>Administrative interface</span>
*** process outgoing packages
## <span class=stat-ok>security</span>
**** calculate proper charges for items
### <span class=stat-ok>create/edit [[/security/group|security group]]s</span>
**** add charges to payment queue
#### <span class=stat-ok>edit name and [[/security/permission|permission]]s for each group</span>
**** print packing list
### <span class=stat-ok>assign {{l/sub|user}}s to groups</span>
**** enter information for estimating cost (cost of postage, materials, time)
### <span class=stat-ok>edit user information</span>
**** enter tracking information
### <span class=stat-ok>only allow access to any admin feature if user has the corresponding permission (via group membership)</span>
**** assign package to a {{l/sub|shipment}}
### <span class=stat-ok>automatically add new users to admin-specified group(s)</span>
**** mark when package was received by customer (if information available)
## <span class=stat-busy>manage local catalog</span>
*** process incoming package
### <span class=stat-ok>edit items</span>
**** calculate refund, add to payment queue
### <span class=stat-ok>edit titles</span>
**** record stock location where each returned item was placed
### <span class=stat-ok>edit departments</span>
*** process {{l/sub|payment}}s
### <span class=stat-ok>edit suppliers</span>
**** processing page needs to display all information needed for processing in one place
### <span class=stat-busy>edit [[/supplier/catalog|supplier catalog]]s</span>
***** later: use payment processor's API, where possible, to minimize copying-and-pasting
## <span class=stat-busy>order processing</span>
**** record when payment was processed and what its status was (successful or not; error code)
### <span class=stat-ok>view shopping carts</span>
**** add charge to package's or order's transaction queue, so current balance can be calculated correctly
### <span class=stat-busy>order management</span>
*** manage {{l/sub|shipment}}s
#### '''<span class=stat-ok>view/edit order</span>'''
**** create new shipments as needed
#### '''<span class=stat-ok>select items from stock locations to put into a [[/package]] for shipment</span>'''
**** mark shipment as "dedicated" (special purpose)
### <span class=stat-busy>process outgoing packages</span>
**** mark shipment as mailed (date, carrier)
#### <span class=stat-ok>calculate proper charges for items</span>
** manage supplier catalogs
#### '''<span class=stat-busy>add charges to payment queue</span>'''
*** create common groupings of item types/attributes/prices ({{l/sub|suppler/catalog/item-group}})
#### '''<span class=stat-busy>print packing list</span>'''
*** manage supplier catalog
#### '''<span class=stat-busy>enter information for estimating cost (cost of postage, materials, time)</span>'''
**** name, effective date, expiration date, catalog this one supercedes
#### '''<span class=stat-busy>enter tracking information</span>'''
**** enter/edit all titles available, and items or item-groups for each title
#### <span class=stat-busy>email user the tracking number</span>
*** update local catalog from supplier catalog data
#### '''<span class=stat-ok>assign package to a {{l/sub|shipment}}</span>'''
**** deactivate items not in currently active catalog unless they are in (sellable) stock
#### <span class=stat-ok>mark when package was received by customer (if information available)</span>
**** add new items not already in local catalog
### <span class=stat-busy>process incoming package</span>
#### <span class=stat-busy>calculate refund, add to payment queue</span>
#### <span class=stat-ok>record stock location where each returned item was placed</span>
### '''<span class=stat-busy>process {{l/sub|payment}}s</span>'''
#### '''<span class=stat-busy>processing page needs to display all information needed for processing in one place</span>'''
##### later: use payment processor's API, where possible, to minimize copying-and-pasting
#### '''<span class=stat-busy>record when payment was processed and what its status was (successful or not; error code)</span>'''
#### '''<span class=stat-busy>add charge to package's or order's transaction queue, so current balance can be calculated correctly</span>'''
### <span class=stat-busy>manage {{l/sub|shipment}}s</span>
#### '''<span class=stat-ok>create new shipments as needed</span>'''
#### <span class=stat-ok>mark shipment as "dedicated" (special purpose)</span>
#### '''<span class=stat-busy>mark shipment as mailed (date, carrier)</span>'''
## <span class=stat-busy>manage supplier catalogs</span>
### <span class=stat-busy>create common groupings of item types/attributes/prices ({{l/sub|suppler/catalog/item-group}})</span>
### <span class=stat-busy>manage supplier catalog</span>
#### <span class=stat-busy>name, effective date, expiration date, catalog this one supercedes</span>
#### <span class=stat-busy>enter/edit all titles available, and items or item-groups for each title</span>
### <span class=stat-ok>update local catalog from supplier catalog data</span>
#### <span class=stat-ok>deactivate items not in currently active catalog unless they are in (sellable) stock</span>
#### <span class=stat-ok>add new items not already in local catalog</span>
## <span class=stat-busy>user profile management</span>
### <span class=stat-ok>allow users to manage their own stored contact info</span>
### <span class=stat-busy>allow users to retrieve/manage un-checked-out shopping carts</span>

Latest revision as of 01:55, 25 February 2024

Status

Key

  • green means this is working well enough to be deployed
  • yellow depends on which section is involved:
    • in the "shopping interface" section, it means I'm writing from scratch or significantly rewriting
    • in the "administrative interface" section, it means I had this written for the MediaWiki version of VbzCart and am now converting it to the standalone version.
  • bold means this needs to be working before the store can open

This doesn't currently show testing status; some items marked "working" may have been temporarily broken by work on other items.

  1. Shopping interface
    1. display of individual titles
      1. display of all active images for each title, with appropriate annotations and in appropriate order
      2. display of all available items for each title, with pricing and stock information
    2. display of groups of titles
      1. by topic
      2. by department
    3. display of topics
      1. search topics (as part of catalog search feature)
      2. display individual topic
        1. show topic's place in topic hierarchy
        2. show all available titles for the topic
        3. list or show unavailable titles for the topic
    4. display of departments
      1. same as topics
    5. display of suppliers
      1. show individual supplier
        1. show list of departments; if only one department, show its page instead
        2. summarize items available by attributes (e.g. item type, size)
    6. show/search stock only
    7. add items to cart
    8. create an order from cart
      1. enter shipping and payment information
      2. log in to re-use/manage previously entered shipping/payment information
        1. allow regular users to access their own information without being able to access that of other users
      3. display order confirmation before formal submission
      4. send full order information (except card #) via email
  2. Administrative interface
    1. security
      1. create/edit security groups
        1. edit name and permissions for each group
      2. assign users to groups
      3. edit user information
      4. only allow access to any admin feature if user has the corresponding permission (via group membership)
      5. automatically add new users to admin-specified group(s)
    2. manage local catalog
      1. edit items
      2. edit titles
      3. edit departments
      4. edit suppliers
      5. edit supplier catalogs
    3. order processing
      1. view shopping carts
      2. order management
        1. view/edit order
        2. select items from stock locations to put into a /package for shipment
      3. process outgoing packages
        1. calculate proper charges for items
        2. add charges to payment queue
        3. print packing list
        4. enter information for estimating cost (cost of postage, materials, time)
        5. enter tracking information
        6. email user the tracking number
        7. assign package to a shipment
        8. mark when package was received by customer (if information available)
      4. process incoming package
        1. calculate refund, add to payment queue
        2. record stock location where each returned item was placed
      5. process payments
        1. processing page needs to display all information needed for processing in one place
          1. later: use payment processor's API, where possible, to minimize copying-and-pasting
        2. record when payment was processed and what its status was (successful or not; error code)
        3. add charge to package's or order's transaction queue, so current balance can be calculated correctly
      6. manage shipments
        1. create new shipments as needed
        2. mark shipment as "dedicated" (special purpose)
        3. mark shipment as mailed (date, carrier)
    4. manage supplier catalogs
      1. create common groupings of item types/attributes/prices (suppler/catalog/item-group)
      2. manage supplier catalog
        1. name, effective date, expiration date, catalog this one supercedes
        2. enter/edit all titles available, and items or item-groups for each title
      3. update local catalog from supplier catalog data
        1. deactivate items not in currently active catalog unless they are in (sellable) stock
        2. add new items not already in local catalog
    5. user profile management
      1. allow users to manage their own stored contact info
      2. allow users to retrieve/manage un-checked-out shopping carts