volpe/posts/drafts/ims-for-co-ops.md

2.2 KiB

Motivations

  • to own the means of production we also need to own the software
  • community ownership of the infrastructure that powers it is important for stability
  • needs to support customer and worker co-ops
  • federation of co-op systems
  • member only co-op are how small businesses should exist in a community

Design Requirements

Crawl

  • Member only co-ops
  • Handle looking up products
    • SKU numbers
    • PLU numbers
    • UPC numbers
  • Non fixed quantity products
    • what units do we use
  • IMS and POS system need to be able to operate independently
  • Track orders per account
  • generate inventory reports
  • Internationalization of UI
    • Accessability for users of all backgrounds

Walk

  • inventory velocity reports
  • opt in item location lookup
  • integration into other systems to order supplies
  • track costs vs revenue
    • broken down store wide
    • broken down per member
  • accept payments for items
    • cash
    • multiple currencies?
    • crypto???

Run

  • federation
  • Single Sign On
  • accept card payments for items
    • the big processors
    • whats europe doing nowadays
    • SNAP/EBT
  • Product requests

Fly

  • nix config with a software suite that sets up all of the systems (POS, IMS, auth, member matrix server)

Design plan

systems:

  • card payment bridge
    • talking to credit card readers is complex and needs drivers. We should make some kind bridge software that runs on a very very cheap device like a pi or something.
  • payment system
    • payment module should be separate from point of sale module so we can keep the concept of pricing as separate as we can
    • track cost of items
  • point of sale system
    • in charge of tracking what items are a part of what order
    • requests preview information from payment module
    • forwards order session to payment system
    • send completed orders to inventory management system
  • inventory management system
    • track what is in stock
      • track estimation of how much product exists
      • track shrink rates
      • track product velocity
    • get messages from point of sale system to update inventory amounts
    • handle audits
  • finances system
    • track revenue vs expenses
    • forecast budget
  • authentication system (how do we track member id numbers relating to this?)
  • web portal
  • matrix server