A mobile cashier application built with Flutter and Supabase, following a minimalist-first philosophy.
Set up your Supabase dashboard and retrieve a copy of the database schema from supauser
.
- Make item field searchable and yield matching items
- Make item field autocomplete
- Guard against empty transactions in prod
- Guard against
quantity <= 0
scenarios - Replace mocked data with calls to backend API
- Implement quit button
- Make quit button exit() instead of Navigator.pop()
- Make quit button behave the same across platforms
- Implement user authentication before home page
- Persist cashier credentials across application lifespan
- Stamp transactions with cashier credentials
- Terminate user sessions, allowing only one session per user
- Design checkout page
- Record transactions in database
- Return to home upon a successful transaction
- Subtract transacted items from
stock
?
- Implement state management with provider
- Pass data from transactions to checkout
- Sanitize data on exit and upon successful transaction
- Persist available supply across application lifespan to avoid repeated queries
- Design database schema
- Integrate database with client
- Listen to supplies to implement real-time databasing