Skip to content

A mobile cashier application built with Flutter and Supabase, following a minimalist-first philosophy.

License

Notifications You must be signed in to change notification settings

WhiteLicorice/Material-Cashier

Repository files navigation

Material Cashier

A mobile cashier application built with Flutter and Supabase, following a minimalist-first philosophy.

Getting Started

Set up your Supabase dashboard and retrieve a copy of the database schema from supauser.

Tickets

Transactions Page

  • 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

Home Page

  • Implement quit button
  • Make quit button exit() instead of Navigator.pop()
  • Make quit button behave the same across platforms

Auth

  • 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

Checkout Page

  • Design checkout page
  • Record transactions in database
  • Return to home upon a successful transaction
  • Subtract transacted items from stock?

Provider

  • 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

Database

  • Design database schema
  • Integrate database with client
  • Listen to supplies to implement real-time databasing