Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/whitelicorice/material-cashier

A mobile cashier application built with Flutter and Supabase, following a minimalist-first philosophy.
https://github.com/whitelicorice/material-cashier

cashier-app dart database-management flutter material-design supabase supabase-flutter

Last synced: about 6 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# Material Cashier

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

## Getting Started

Set up your [Supabase](https://supabase.com/) dashboard and retrieve a copy of the database schema from `supauser`.

## Tickets

## Transactions Page
- [x] Make item field searchable and yield matching items
- [x] Make item field autocomplete
- [x] Guard against empty transactions in prod
- [x] Guard against `quantity <= 0` scenarios
- [x] Replace mocked data with calls to backend API

## Home Page
- [x] Implement quit button
- [x] Make quit button exit() instead of Navigator.pop()
- [ ] Make quit button behave the same across platforms

## Auth
- [x] Implement user authentication before home page
- [x] Persist cashier credentials across application lifespan
- [x] Stamp transactions with cashier credentials
- [x] Terminate user sessions, allowing only one session per user

## Checkout Page
- [x] Design checkout page
- [x] Record transactions in database
- [x] Return to home upon a successful transaction
- [ ] Subtract transacted items from `stock`?

## Provider
- [x] Implement state management with provider
- [x] Pass data from transactions to checkout
- [x] Sanitize data on exit and upon successful transaction
- [x] Persist available supply across application lifespan to avoid repeated queries

## Database
- [x] Design database schema
- [x] Integrate database with client
- [x] Listen to supplies to implement real-time databasing