How epic-breakfast-productions/openquartermaster works
Open QuarterMaster is a modular inventory-management system: users manage what is stored where through the Base Station and Core API, with plugins adding specialized workflows. The Core API owns generic inventory, storage, checkout, identifiers, media, and history capabilities; Mongo-backed services persist domain records. The README documents the Base Station as the Core API frontend and plugins as extensions. Sampled code confirms storage-block search and persistence, PDF inventory-sheet retrieval, external-item lookup, MSS hardware control, and voice search. Other subsystem links reflect README capability descriptions; unsampled wiring is not inferred.
Main entry points: oqm-core-api Core API · StorageBlockService.java Storage blocks · oqm-core-base-station Inventory UI · StorageBlockSearch.java Storage search
Components 20
Core inventory
- Core API
software/core/oqm-core-api - Inventory records
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/endpoints/inventory/items/InventoryItemsCrud.java - Storage blocks
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/StorageBlockService.java - Storage search
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/rest/search/StorageBlockSearch.java - Checkout records
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/endpoints/inventory/ItemCheckoutCrud.java - Item identifiers
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/endpoints/identifiers/IdentifierEndpoints.java - Images and files
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/interfaces/endpoints/media/ImageCrud.java - Object history
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/history/ObjectHistoryEvent.java - MongoDB
Base Station
- Inventory UI
software/core/oqm-core-base-station - Inventory sheets
software/core/oqm-core-base-station/src/main/java/tech/ebp/oqm/core/baseStation/service/printout/StorageBlockInventorySheetService.java
Extensions
- External item search
software/plugins/external-item-search/src/main/java/tech/ebp/oqm/plugin/extItemSearch/service/extItemSearchService/ItemSearchService.java - Amazon scraper
software/plugins/external-item-search/temp/webPage/AmazonWebProductScrapeService.java - MSS controller
software/plugins/mss-controller/mss-controller-plugin/src/main/java/tech/ebp/oqm/plugin/mssController/moduleInteraction/service/StorageBlockInteractionService.java - Voice search
MSS device
- MSS engine
hardware/mss/mss/MssEngine.h - MSS connector
hardware/mss/mss/MssConnector.h
Deployment
- Station Captain
deployment/Single Host/Station-Captain/src/oqm-captain.py - Kubernetes operator
deployment/Kubernetes/operator
Other components
- Inventory user
Connections 17
- Inventory user → Inventory UI: manages inventory
- Inventory UI → Core API: uses frontend
- Core API → Inventory records: dispatches inventory
- Core API → Storage blocks: dispatches storage
- Storage blocks → Storage search: builds filters
- Storage blocks → MongoDB: reads and writes
- Core API → Checkout records: dispatches checkout
- Core API → Item identifiers: dispatches identifiers
- Core API → Images and files: dispatches media
- Core API → Object history: tracks changes
- Inventory sheets → Core API: fetches storage block
- Inventory UI → Storage search: submits search
- External item search → Amazon scraper: scrapes product page
- MSS controller → Core API: searches storage blocks
- Voice search → Core API: searches inventory
- MSS engine → MSS connector: polls commands
- Station Captain → Inventory user: manages host setup