## 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