Show HN: A multi-location vending machine operations portal

modinfo1 pts0 comments

GitHub - skorotkiewicz/vending-operations-portal: This is a responsive operations portal for a vending business with passive machines. Employees physically count stock during service visits; · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

skorotkiewicz

vending-operations-portal

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

pub

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>5 Commits<br>5 Commits

dev

dev

drizzle

drizzle

scripts

scripts

src

src

static

static

.env.example

.env.example

.gitignore

.gitignore

.npmrc

.npmrc

.prettierignore

.prettierignore

README.md

README.md

drizzle.config.ts

drizzle.config.ts

eslint.config.js

eslint.config.js

package.json

package.json

package.jsonc

package.jsonc

prettier.config.js

prettier.config.js

tsconfig.json

tsconfig.json

vite.config.ts

vite.config.ts

wrangler.jsonc

wrangler.jsonc

View all files

Repository files navigation

Vending Operations Portal

A responsive operations portal for vending businesses with passive, old-school machines.

Employees physically count stock during service visits; the portal never claims live machine telemetry.

It tracks cities, physical locations, multiple machines per location, location reserve stock, slot stock, product purchase/selling prices, refill planning, cash collection, issues, employee accounts, and immutable attributed audit history.

Portal preview

Fleet overview

Mobile service workflow

View mobile service workflow

Run locally without Cloudflare login

Requirements: Bun and Node-compatible system tooling.

bun install<br>cp .env.example .env<br>bunx wrangler d1 migrations apply DB --local<br>bun run db:seed # optional realistic estate data<br>bun run dev

Set ORIGIN=http://localhost:5173 and a high-entropy BETTER_AUTH_SECRET of at least 32 characters in .env. Open http://localhost:5173; a fresh database starts with the one-time first-employee setup.

Wrangler’s local D1 emulator stores data under .wrangler/state. Local development needs no Cloudflare account, login, account ID, database ID, or API token.

Verification

bun run lint<br>bun run check<br>bun test<br>bun run build

Move the same app to hosted D1

No application rewrite is needed. Create a hosted D1 database, add its database_name and database_id to the existing DB binding in wrangler.jsonc, configure production auth values, and apply the same migrations remotely.

bunx wrangler login<br>bunx wrangler d1 create vending-operations<br>bunx wrangler secret put BETTER_AUTH_SECRET<br>bunx wrangler secret put ORIGIN<br>bunx wrangler d1 migrations apply DB --remote<br>bun run build<br>bunx wrangler deploy

Set ORIGIN to the final HTTPS origin, without a trailing path. Keep .env, .wrangler/, and all credentials out of source control. See local development, remote deployment, and the approved product plan.

About

This is a responsive operations portal for a vending business with passive machines. Employees physically count stock during service visits;

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

forks

Report repository

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

TypeScript<br>45.4%

Svelte<br>45.0%

CSS<br>8.9%

Other<br>0.7%

You can’t perform that action at this time.

wrangler portal vending operations config bunx

Related Articles