How dwennk/004-nuxt works
Microwest POS is a French-language shop-management app for in-store sales, repairs, payments, and related operations. The main workflow begins at the counter or a case page: a repair/support ticket may lead to a quote, customer order, and invoice; direct sales can begin at the invoice stage. Payments are tracked separately, and tickets can be closed after collection. README documents these stages and secondary modules. The tree and excerpts support the broad boundaries shown here; unsampled subsystem wiring is kept at directory level rather than inferred in detail.
Main entry points: documents/index.vue Quotes and invoices · payments/index.vue Payment ledger · pos POS domain services · schema.ts POS database
Components 22
Storefront
- Counter workspace
app/pages/index.vue - Catalog and customers
app/pages/catalog/index.vue
Cases and Sales
- Repair tickets
app/pages/tickets/[...path].vue - Shared case editing
app/composables/useDossierFetch.ts - Quotes and invoices
app/pages/documents/index.vue - Direct sales
app/pages/sales/new.vue - After-sales returns
app/pages/dossiers/index.vue
Finance and Reporting
- Payment ledger
app/pages/payments/index.vue - Reports and closeout
app/pages/reports/index.vue - Counter overview API
server/api/comptoir.get.ts - POS domain services
server/utils/pos
Store Services
- Smartphone inventory
server/utils/smartphone-stocks.ts - Vacation tracking
server/utils/pos/vacations.ts - Shopify import
server/utils/shopify/import.ts - Shopify API client
server/utils/shopify/client.ts - AI assistant
server/utils/assistant
Platform Services
- POS database
server/db/schema.ts - Backup service
server/utils/backups/service.ts - Authentication
server/middleware/auth.ts
Other components
- Store operator
- Shopify
- Dropbox
Connections 28
- Store operator → Counter workspace: opens workspace
- Store operator → Repair tickets: records case
- Store operator → Direct sales: starts sale
- Counter workspace → Counter overview API: loads overview
- Counter workspace → Repair tickets: opens ticket
- Counter workspace → Quotes and invoices: opens documents
- Repair tickets → Shared case editing: reserves edits
- Repair tickets → Quotes and invoices: creates quote/order
- Quotes and invoices → Payment ledger: collects payment
- Direct sales → Quotes and invoices: creates invoice
- Direct sales → Payment ledger: records payment
- After-sales returns → Quotes and invoices: owns documents
- After-sales returns → Payment ledger: tracks payments
- Counter overview API → POS domain services: reads overview
- POS domain services → POS database: reads and writes
- Payment ledger → POS domain services: uses payment services
- Reports and closeout → POS domain services: requests reports
- Catalog and customers → POS domain services: uses catalog services
- Smartphone inventory → POS database: persists stock
- Vacation tracking → POS database: persists entries
- Shopify import → Shopify API client: fetches orders
- Shopify API client → Shopify: calls API
- Shopify import → Quotes and invoices: imports invoices
- Shopify import → Payment ledger: imports payments
- AI assistant → POS database: queries allowed data
- Backup service → POS database: exports database
- Backup service → Dropbox: uploads backup
- Store operator → Authentication: authenticates