How gino156/next.js-pos-inventory-system works
This is a small-business POS and inventory app. Staff sign in, work with store-scoped products, build a cart, complete a sale, and can review sales and print receipts or summaries. Product and reporting pages provide separate inventory-management and sales-analysis workflows. Supabase supplies authentication and persistent store data; the README also documents image storage and multi-store isolation. Some features are documented but their implementation was not sampled, so those links are marked optional or omitted.
Main entry points: client.ts Supabase client · app/page.tsx POS page · PosInterface.tsx POS interface · products/page.tsx Product management
Components 16
Access & Navigation
- Sign in
src/app/login/page.tsx - Store navigation
src/components/Navbar.tsx - Store onboarding
src/app/admin/onboard/page.tsx - Onboarding API
src/app/api/admin/onboard/route.ts
Point of Sale
- POS page
src/app/page.tsx - POS interface
src/components/pos/PosInterface.tsx - Checkout dialog
src/components/pos/CheckoutModal.tsx - Receipt printing
src/components/ReceiptModal.tsx
Inventory
- Product management
src/app/products/page.tsx
Sales Reporting
- Sales dashboard
src/app/dashboard/page.tsx - Dashboard view
src/components/dashboard/DashboardView.tsx - Sales summary
src/components/SalesSummaryModal.tsx
Other components
- Store staff
- Supabase client
src/lib/supabase/client.ts - Supabase services
- Supabase Storage
Connections 22
- Store staff → Sign in: signs in
src/app/login/page.tsx - Sign in → Supabase client: authenticates via
src/app/login/page.tsx - Sign in → Supabase services: uses auth
README.md - Store staff → POS page: rings up sale
README.md - POS page → Supabase client: queries and writes
src/app/page.tsx - POS page → Supabase services: records sale
src/app/page.tsx - POS page → Receipt printing: shows receipt
src/app/page.tsx - Store staff → POS interface: uses POS
README.md - POS interface → Checkout dialog: renders
src/components/pos/PosInterface.tsx - POS interface → Supabase client: queries and writes
src/components/pos/PosInterface.tsx - POS interface → Supabase services: processes sale
src/components/pos/PosInterface.tsx - Store staff → Product management: manages catalog
README.md - Product management → Supabase client: queries and updates
src/app/products/page.tsx - Product management → Supabase services: stores products
README.md - Product management → Supabase Storage: uploads images
README.md - Store staff → Sales dashboard: reviews sales
README.md - Sales dashboard → Supabase client: queries sales
src/app/dashboard/page.tsx - Sales dashboard → Sales summary: opens summary
src/app/dashboard/page.tsx - Sales summary → Supabase client: fetches transactions
src/components/SalesSummaryModal.tsx - Dashboard view → Supabase client: queries data
src/components/dashboard/DashboardView.tsx - Store navigation → Supabase client: checks session
src/components/Navbar.tsx - Store navigation → Supabase services: uses auth and store data
src/components/Navbar.tsx