ThreadCount Community edition
Uniform stock management for healthcare linen rooms: the coordinator app, the phone counter and the staff app, for your own server. Built from 2d04e45 on 2026-09-15. Licensed under the Functional Source License (FSL-1.1-ALv2).
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
---
|
||||
title: The counter app
|
||||
section: apps
|
||||
order: 1
|
||||
summary: The linen room's phone app, on Android and in a phone browser. Choosing a server, signing in, the screens, and what it keeps on the phone.
|
||||
screen: /m
|
||||
role: Admin or Issuer
|
||||
keywords: counter app, android, phone, mobile, play store, install, sign in, server, self-hosted, community, offline, camera, stocktake, count, issue
|
||||
---
|
||||
|
||||
The counter app is the coordinator's side of ThreadCount on a phone. You sign in with the same Admin or Issuer account as the portal at `/app` and see the same records, served at `/m`.
|
||||
|
||||
## Two ways to open it
|
||||
|
||||
- **In a phone browser.** Go to `https://threadcount.tech/m`, or `https://your-host/m` on your own server. You don't need to install anything.
|
||||
- **The Android app.** It is called **ThreadCount** on Google Play. It shows the same `/m` screens inside the app and adds the phone's own barcode scanner (see [Scanning and browsers](/docs/apps/scanning-and-browsers)).
|
||||
|
||||
There is no iOS app. On an iPhone or iPad, open `/m` in the browser.
|
||||
|
||||
## The first screen and choosing a server
|
||||
|
||||
The first time you open the Android app, the welcome screen shows **Sign in**, **Sign up** and a line reading `Server: threadcount.tech · Change`.
|
||||
|
||||
Most rooms use the hosted service and leave that line alone. A room running the Community edition on its own server changes it, once, on each phone:
|
||||
|
||||
1. **Tap `Server: threadcount.tech · Change`.** The `Which server?` screen opens.
|
||||
2. **Choose `Self-hosted`** and type the server's address, for example `uniforms.example.com`.
|
||||
3. **Tap `Check and use this server`.** The app checks the server's `/api/app-info` to confirm it is a ThreadCount server.
|
||||
|
||||
The app refuses an address that doesn't answer over https within 8 seconds, or that answers but isn't a ThreadCount server. Once the check passes, the app saves the address on that phone and opens that server from then on. Choosing `ThreadCount hosted` puts the phone back on `threadcount.tech`.
|
||||
|
||||
Once you have tapped `Sign in` or `Sign up` on that phone, the app skips the welcome screen and goes straight to `/m`.
|
||||
|
||||
## Signing in and signing up
|
||||
|
||||
`Sign in` asks for your work email and password. If your account has two-factor turned on, it then asks for the six-digit code from your authenticator app. A recovery code also works. `Forgot password` emails a reset link that works once and expires after an hour. See [Two-factor](/docs/account/two-factor).
|
||||
|
||||
`Sign up` creates a new facility. It doesn't add you to an existing one. The person who signs up becomes the new facility's first Admin. To add someone to an existing facility, an Admin adds them with `Add user` in `Settings › People & sign-in` in the portal: see [Users](/docs/account/users).
|
||||
|
||||
## The screens
|
||||
|
||||
The bar at the bottom has four tabs.
|
||||
|
||||
| Tab | What it does |
|
||||
|---|---|
|
||||
| Home | Today's issued and returned counts, lines below par, days since the last count, recent activity |
|
||||
| Count | Pick a shelf and count it by scanning; gaps go to a variance screen before the count is filed |
|
||||
| Stock | On hand against par, worst first, with a reorder draft |
|
||||
| Search | People and stock in one box, or scan a garment to find it |
|
||||
|
||||
Home also has `Issue to someone`, and `Deliveries, pickups, rounds and more` opens `More`:
|
||||
|
||||
- `Receive a delivery`
|
||||
- `Pickup call list`
|
||||
- `Delivery round`, with a signature on the phone
|
||||
- `Reprint a label`
|
||||
- `Variance over time`
|
||||
- `Catalogue`, where an Admin can add and edit garments
|
||||
- `Settings`
|
||||
|
||||
Open a person's record from Search or Issue to issue to them, take a return or swap a size. [Issue a garment](/docs/counter/issue-a-garment) and [Exchanges and returns](/docs/counter/exchanges-and-returns) say what each of those writes.
|
||||
|
||||
`More › Settings` holds only what the phone controls:
|
||||
|
||||
- `Beep and buzz on a scan`, which applies to this device only
|
||||
- `Reason required at`, the count gap that needs a reason. An Admin can change it; an Issuer can only see it.
|
||||
- links to the privacy policy, the terms and account deletion
|
||||
- `Sign out`
|
||||
|
||||
`People`, `Orders`, `Reports` and the facility's settings are in the portal at `/app`. On a phone, the portal's `More` sheet has a `Counter app` link that opens `/m`.
|
||||
|
||||
## What it keeps on the phone
|
||||
|
||||
The app keeps only these on the phone:
|
||||
|
||||
- your session
|
||||
- any shelf count you have started but not filed. It is kept under your own account, so the next person on a shared phone never sees it. Filing the count deletes it, and signing out deletes all your open counts.
|
||||
- the beep setting, the chosen server, and whether the welcome screen has been seen
|
||||
|
||||
Issues, returns, stock, the staff register and every other record stay on the server.
|
||||
|
||||
## Permissions and connection
|
||||
|
||||
The Android app asks for one permission, the camera, and uses it only to read barcodes. No picture from scanning is stored or sent.
|
||||
|
||||
The app works online only. With no connection it shows `No connection.` and a `Try again` button, and it won't let you issue or count anything. Nothing is queued to send later. A count you hadn't filed stays on the phone until you're back online.
|
||||
|
||||
> **Careful** Signing out deletes any shelf count you haven't filed. File it first, or you'll have to count that shelf again.
|
||||
Reference in New Issue
Block a user