A local micro-economy + snack bar web app for a church youth group. Runs on a Windows PC and is reachable from phones on the same LAN.
Development only:
- Node.js (LTS)
- A local network (Wi-Fi or Ethernet)
- Install Node.js (LTS).
- Install dependencies:
npm install- Create a
.envfile:
cp .env.example .env- Edit
.envwith your admin passcode and (optional) database path.
For a Windows 11 install that does not require Git/Node/npm/Python, use the ZIP artifact produced by CI. The easiest option is the Latest GitHub Release (tag latest). See the step-by-step guide in deploy/windows/README-WINDOWS.md.
The only supported Windows packaging flow is the GitHub Actions workflow in .github/workflows/windows-zip.yml.
- On push to
main, it buildsStorehouse-win-x64.zipas a workflow artifact. - On push to
main, it also updates the Latest GitHub Release (taglatest) with the ZIP. - On tags like
v1.2.3, it also publishes a GitHub Release with the ZIP.
npm startFor development with auto-reload:
npm run devWhen you start the server in a real terminal (PowerShell, Windows Terminal, macOS/Linux shells), The Storehouse now shows a small dashboard and accepts a few quick keys:
oorEnter— open the web app in your default browser (uses the LAN URL when available).l— print the LAN URL for sharing with phones/tablets on Wi-Fi.r— refresh the info panel.hor?— show in-terminal help.qorCtrl+C— quit gracefully.
Notes:
- Falls back to plain text when colors/TTY features are unavailable (e.g., background service).
- Disable the dashboard with
STOREHOUSE_NO_TUI=1. Disable colors withNO_COLOR=1orSTOREHOUSE_NO_COLOR=1.
- Find the PC’s local IP address:
- Windows: open Command Prompt and run
ipconfig. - Look for the IPv4 address (example:
192.168.1.25).
- Windows: open Command Prompt and run
- On the phone/tablet, open:
http://<PC-IP>:3040
If you changed PORT in .env or config.json, use that port instead.
The server binds to HOST=0.0.0.0 by default so phones can reach it on the LAN.
The SQLite database path is configurable with DATABASE_PATH.
- Default:
./data/storehouse.sqlite - Recommended: set
DATABASE_PATHto a folder outside the repo so you can safely publish the code.
Example:
DATABASE_PATH=C:\storehouse-data\storehouse.sqlite
Copy the SQLite file defined by DATABASE_PATH to a safe location. That file contains all data.
This app is for internal LAN use only. Do not expose it to the public internet.
To add 10 demo students and sample items:
npm run seed