An app intended for Habitat for Humanity Restore cashiers to correctly measure & price sheet goods
Go to file
2024-07-17 06:55:41 -07:00
__fixtures__ did some more cleanup of the interface and UI interactions. 2024-07-02 08:34:23 -07:00
__mocks__/@react-native-async-storage fix rendering and storage issues for unit tests. 2024-06-28 06:04:50 -07:00
.vscode attempt to fix unit tests. 2024-06-27 14:31:59 -07:00
app add screenshots and images for docs. add icon. 2024-07-05 15:00:08 -07:00
assets add screenshots and images for docs. add icon. 2024-07-05 15:00:08 -07:00
components add area rug test. merge with product as type. 2024-07-17 06:55:41 -07:00
constants Initial commit 2024-06-25 19:20:08 -07:00
doc/images add screenshots and images for docs. add icon. 2024-07-05 15:00:08 -07:00
features/product add screenshots and images for docs. add icon. 2024-07-05 15:00:08 -07:00
hooks Initial commit 2024-06-25 19:20:08 -07:00
lib add screenshots and images for docs. add icon. 2024-07-05 15:00:08 -07:00
scripts Initial commit 2024-06-25 19:20:08 -07:00
setup covered product editor test cases. 2024-06-27 19:00:45 -07:00
.gitignore solve npm issues. got a successful apk build. 2024-07-04 08:29:47 -07:00
app.json solve npm issues. got a successful apk build. 2024-07-04 08:29:47 -07:00
babel.config.js got store working. now working on product-dimension switcher. 2024-06-27 07:06:39 -07:00
eas.json solve npm issues. got a successful apk build. 2024-07-04 08:29:47 -07:00
jest.config.js covered product editor test cases. 2024-06-27 19:00:29 -07:00
package.json work on area rug functions. 2024-07-12 06:14:14 -07:00
pnpm-lock.yaml work on area rug functions. 2024-07-12 06:14:14 -07:00
README.md add screenshots and images for docs. add icon. 2024-07-05 15:00:08 -07:00
tsconfig.json move away from ehemer to resolve recursive loop. 2024-06-28 14:53:48 -07:00

PliWould - Measure And Price Sheet Good Merchandise

PlyWould's ugly logo

Working behind the register at Habitat for Humanity ReStore I found sheet goods often came in partials.

As a cashier, I would often have to determine the correct price for merchandise based on the area or length of products.

Not being skilled in math, I found this process extremely stressful and would often get stuck and call over a manager to assist. Instead, I took it upon myself to find a solution.

Hence, I created PliWould, an app that determines the cost of a product based on its dimensions.

By default my store's prices are in the database. However, the prices are editable and you can add or remove products as needed.

Usage

App Overview

Scale Tab Measure Tab

This tab is used to determine the price based on measurements.

Select a product from a list of products.

Plywood sheet selected

There are 2 different types of products:

  1. Length prodcuts
  2. Area products.

Typically length products have a Square button that measures per length, but some do not, so I included them.

Area products on the Square console are "partials," so they are listed in the product list.

Select one you wish to price.

Automatically the measurements for the "base measurement" will be filled in.

Using a tape measure, measure the sheet's length and width. You can either put in inches or feet (switch using the in/ft button selector).

If the product is damaged, use the slider to select the amount of damage

Plywood sheet selected, with 25% damage

If you select a length product, only the length field will be present. Proceed as you would with area products.

Length product selected

Product Editor Tab Product Editor (WIP)

In the product editor, you can add or remove products as needed.

You can even edit or add attributes.

Note that the name attribute is highly recommended as it's the name of the product.

Otherwise, it will display as Product <UUID>.

Development Docs

This is an Expo project.

The develop branch is used to develop features until it's ready to be merged into main.

Get started

  1. Clone the repository.
$ git clone https://gittea.dev/srcrr/PliWould
  1. Install eas-cli globally
$ npm i -g eas-cli
  1. Install dependencies

    pnpm install
    
  2. Start the app

     pnpx expo start