Medusa POS Starter Audit

Repo: https://github.com/Agilo/medusa-pos-starter

Codebase Stats

MetricValue
FrameworkExpo SDK 54, expo-router v6
ReactReact 19.1, React Native 0.81.4
StylingNativeWind v4 (Tailwind for React Native)
Total files (TS/TSX/JS/JSX)134
Lines of code~9,700 (excluding data constants)
Key deps@medusajs/js-sdk, @tanstack/react-query, expo-camera, react-hook-form, zod, fuse.js

Project Structure

Single Expo/React Native application. POS-only — no web storefront. Connects to external Medusa v2 backend via Admin REST API.

Screens

RouteDescription
/loginAdmin login with Medusa URL, email, password
/setup-wizardFirst-run: configure sales channel, region, stock location
/(tabs)/productsProduct grid with search, infinite scroll
/(tabs)/ordersOrder history with search, status/date filters
/(tabs)/scanFull-screen barcode scanner
/(tabs)/cartDraft order with line items, qty editing, promotions, customer
/(tabs)/settingsSales channel, region, stock location management
/product-detailsProduct detail with variant picker, image carousel
/customer-lookupCustomer search/create
/checkout/[draftOrderId]Checkout review + complete order
/orders/[orderId]Order detail

POS Features

FeatureStatus
Product browsing/searchYes
Barcode scanningYes (EAN-13, EAN-8, UPC-A, UPC-E, Code128, Code93, Code39)
Cart via Draft OrdersYes
Promo/discount codesYes
Customer lookup + createYes
Order completionYes (converts draft order to order)
Order historyYes (searchable, filterable)
Payment processingNo (orders complete without payment capture)
Receipt printingNo
Cash drawerNo
Inventory managementNo (reads qty, never writes)
Offline modeLimited (cached data only)
Returns/refundsNo

Assessment for Dungeon Books

Low relevance. This app replaces Square POS — it does not integrate with it. The bookstore needs Square as the physical POS with bidirectional inventory sync to the commerce platform. This starter provides none of that.

Potentially reusable:

  • Barcode scanning logic for ISBN lookup
  • Medusa Admin SDK auth pattern
  • NativeWind UI components

But the core architecture (draft-order-as-cart, no payment processing, no inventory sync) solves a different problem than Square POS integration.