VbzCart/docs/pieces/status: Difference between revisions

From Woozle Writes Code
< VbzCart‎ | docs‎ | pieces
Jump to navigation Jump to search
imported>Woozle
("concepts" section; made "key" into a floating block)
imported>Woozle
(split list into "minimal" and "maintenance" sections)
Line 16: Line 16:


This doesn't currently show testing status; some items marked "working" may have been temporarily broken by work on other items.
This doesn't currently show testing status; some items marked "working" may have been temporarily broken by work on other items.
 
===Minimal===
These features must be working if the store is going to receive and process orders, i.e. function as a business for even a short time.
# <span class=stat-busy>Shopping interface</span>
# <span class=stat-busy>Shopping interface</span>
## <span class=stat-ok>display of individual {{l/sub|title}}s</span>
## <span class=stat-ok>display of individual {{l/sub|title}}s</span>
Line 44: Line 45:
### <span class=stat-ok>send full order information (except card #) via email</span>
### <span class=stat-ok>send full order information (except card #) via email</span>
# <span class=stat-busy>Administrative interface</span>
# <span class=stat-busy>Administrative interface</span>
## <span class=stat-ok>security</span>
### <span class=stat-ok>create/edit [[/security/group|security group]]s</span>
#### <span class=stat-ok>edit name and [[/security/permission|permission]]s for each group</span>
### <span class=stat-ok>assign {{l/sub|user}}s to groups</span>
### <span class=stat-ok>edit user information</span>
### <span class=stat-ok>only allow access to any admin feature if user has the corresponding permission (via group membership)</span>
### <span class=stat-busy>automatically add new users to admin-specified group(s)</span>
## <span class=stat-busy>manage local catalog</span>
### <span class=stat-ok>edit items</span>
### <span class=stat-ok>edit titles</span>
### <span class=stat-ok>edit departments</span>
### <span class=stat-ok>edit suppliers</span>
### <span class=stat-busy>edit [[/supplier/catalog|supplier catalog]]s</span>
## <span class=stat-busy>order processing</span>
## <span class=stat-busy>order processing</span>
### <span class=stat-ok>view shopping carts</span>
### <span class=stat-ok>view shopping carts</span>
Line 82: Line 70:
#### <span class=stat-ok>mark shipment as "dedicated" (special purpose)</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>mark shipment as mailed (date, carrier)</span>
===Maintenance===
These functions are necessary for the proper maintenance of the store, but the store can still function on a day-to-day basis without them.
# <span class=stat-busy>Administrative interface</span>
## <span class=stat-ok>security</span>
### <span class=stat-ok>create/edit [[/security/group|security group]]s</span>
#### <span class=stat-ok>edit name and [[/security/permission|permission]]s for each group</span>
### <span class=stat-ok>assign {{l/sub|user}}s to groups</span>
### <span class=stat-ok>edit user information</span>
### <span class=stat-ok>only allow access to any admin feature if user has the corresponding permission (via group membership)</span>
### <span class=stat-busy>automatically add new users to admin-specified group(s)</span>
## <span class=stat-busy>manage local catalog</span>
### <span class=stat-ok>edit items</span>
### <span class=stat-ok>edit titles</span>
### <span class=stat-ok>edit departments</span>
### <span class=stat-ok>edit suppliers</span>
### <span class=stat-busy>edit [[/supplier/catalog|supplier catalog]]s</span>
## <span class=stat-busy>manage supplier catalogs</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>create common groupings of item types/attributes/prices ({{l/sub|suppler/catalog/item-group}})</span>

Revision as of 22:36, 13 July 2014

Concepts

Feature 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.

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

Minimal

These features must be working if the store is going to receive and process orders, i.e. function as a business for even a short time.

  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
    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
      3. display order confirmation before formal submission
      4. send full order information (except card #) via email
  2. Administrative interface
    1. 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. assign package to a shipment
        7. 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)

Maintenance

These functions are necessary for the proper maintenance of the store, but the store can still function on a day-to-day basis without them.

  1. 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. 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