Modern POS System
Translation pending
CommerceHTML · TypeScriptGitHub @abdule-yoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A modern, fast, and secure Point of Sale (POS) system built with Next.js, Tailwind CSS, Prisma, and PostgreSQL. Designed for retail and small businesses to manage inventory, process sales, and track expenses effortlessly.Read the full README ↗A modern, fast, and secure Point of Sale (POS) system built with Next.js, Tailwind CSS, Prisma, and PostgreSQL. Designed for retail and small businesses to manage inventory, process sales, and track expenses effortlessly.
next-themes.git clone https://github.com/sirrryasir/pos.git
cd pos
bun install
Copy the template and fill it in. env.example documents every variable the
app reads, required and optional:
cp env.example .env
openssl rand -base64 32 # paste into BETTER_AUTH_SECRET
Apply the migrations and seed initial data (including the default Admin account):
bun run db:migrate
bun run db:seed
Default Admin Account:
bun dev
Open http://localhost:3000 in your browser to access the system.
The app is deployed on Vercel, with Postgres hosted separately on Railway.
Set these in Vercel → Project → Settings → Environment Variables, for the Production environment (and Preview, if you use preview deployments):
| Variable | Value |
|---|---|
DATABASE_URL | Railway's public url (DATABASE_PUBLIC_URL in the Railway Variables tab) — Vercel connects from outside Railway's private network |
BETTER_AUTH_SECRET | 32+ random bytes: openssl rand -base64 32. Better Auth refuses to start without it |
BETTER_AUTH_URL | The deployed origin, no trailing slash, e.g. https://your-domain.com |
Everything else in env.example is optional. Notably, no origin allowlist
needs maintaining: Vercel serves the app from its own origin, which both Next
and Better Auth trust automatically.
bun run build runs prisma migrate deploy before next build, so every
deploy applies pending migrations before the code that depends on them goes
live. To add one:
# edit prisma/schema.prisma, then:
npx prisma migrate dev --name describe_the_change
Commit the generated folder under prisma/migrations. Never run
prisma db push against production — it changes the schema without recording
a migration, and the next deploy will not know what happened.
Seeding is deliberately not part of the build. The seed creates
[email protected] / password123, which is fine for a local database and an open
door on a public one. After the first deploy, sign in with it once and
immediately change the password — or create your own owner account and delete
the seeded one.
Management > Users to elevate new accounts to admin status.This project is proprietary and confidential.