How jajapablio/sofen2-app works
PredictPOS is a multi-store point-of-sale application for owners, administrators, managers, and cashiers. Staff sign in to role-specific workspaces; cashiers build carts and create simulated payments, while managers oversee store activity and forecasts and administrators manage staff, catalog, and operational settings. Payment APIs validate and confirm test transactions before recording sales. The README documents additional audit, supplier, device, and integration capabilities. Some routes and workspaces were not sampled, so their documented links are identified as such; unsampled implementation details are not assumed.
Main entry points: ManagerWorkspace.js Manager workspace · route.js Payment creation · AdminWorkspace.js Admin workspace · AuthContainer.js Sign-in and signup
Components 23
Access and onboarding
- Sign-in and signup
src/components/AuthContainer.js - Login form
src/components/LoginForm.js - Owner signup
src/components/SignupForm.js - Owner provisioning
src/app/api/auth/register-owner/route.js
Point of sale
- Cashier workspace
src/app/dashboard/CashierConnectedWorkspace.js - Payment creation
src/app/api/payments/route.js - Payment confirmation
src/app/api/payments/[paymentId]/confirm/route.js - QR capability signing
src/lib/payments/qr-token.js - Guest QR payment
src/app/api/qr-payments/[paymentId]/route.js
Store management
- Admin workspace
src/app/dashboard/admin/AdminWorkspace.js - Employee form
src/app/dashboard/manager/EmployeeForm.js - Staff administration
src/app/api/admin/employees/route.js - Manager workspace
src/app/dashboard/manager/ManagerWorkspace.js - Refunds and voids
src/app/api/cashier/refund-sale/route.js
Forecasts and reporting
- Forecast display
src/components/ForecastEngine.js - Revenue trend
src/components/RevenueTrend.js - Forecast generation
supabase/forecast_engine.sql
Server and persistence
- Supabase client
src/lib/supabase/client.js - Privileged Supabase client
src/lib/supabase/admin.js - Payment request auth
src/lib/payments/server.js - Simulated payment ledger
supabase/payment_simulator.sql
Other components
- Store staff
- Supabase
Connections 25
- Store staff → Sign-in and signup: opens
- Sign-in and signup → Login form: renders
- Sign-in and signup → Owner signup: renders
- Owner signup → Owner provisioning: registers
README.md - Owner provisioning → Privileged Supabase client: provisions with
src/app/api/auth/register-owner/route.js - Cashier workspace → Payment creation: creates payment
README.md - Payment creation → Payment request auth: authenticates via
src/app/api/payments/route.js - Payment creation → QR capability signing: signs QR token
src/app/api/payments/route.js - Payment creation → Simulated payment ledger: creates snapshot
src/app/api/payments/route.js - Cashier workspace → Payment confirmation: confirms payment
README.md - Payment confirmation → Payment request auth: authenticates via
src/app/api/payments/[paymentId]/confirm/route.js - Payment confirmation → Simulated payment ledger: confirms atomically
src/app/api/payments/[paymentId]/confirm/route.js - Guest QR payment → QR capability signing: verifies token
README.md - Guest QR payment → Simulated payment ledger: confirms guest payment
README.md - Admin workspace → Employee form: renders
src/app/dashboard/admin/AdminWorkspace.js - Admin workspace → Staff administration: manages staff
README.md - Admin workspace → Supabase client: reads and writes
src/app/dashboard/admin/AdminWorkspace.js - Manager workspace → Supabase client: reads store data
src/app/dashboard/manager/ManagerWorkspace.js - Manager workspace → Forecast display: renders
src/app/dashboard/manager/ManagerWorkspace.js - Manager workspace → Revenue trend: renders
src/app/dashboard/manager/ManagerWorkspace.js - Manager workspace → Forecast generation: requests refresh
README.md - Refunds and voids → Supabase: updates sale records
README.md - Supabase client → Supabase: connects
src/lib/supabase/client.js - Privileged Supabase client → Supabase: connects
- Forecast generation → Supabase: generates forecasts
README.md