Cash register for local events, with receipt printing
  • TypeScript 53.2%
  • Svelte 38%
  • C++ 7.2%
  • Meson 0.4%
  • HTML 0.4%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate [bot] 0c283e0d10
All checks were successful
release.yaml / Generate next relase tag (push) Successful in 4s
chore(deps): update dependency prettier-plugin-tailwindcss to v0.8.1 (#109)
2026-07-18 17:17:52 +00:00
.devcontainer chore(deps): update ci dependencies (#107) 2026-07-18 17:13:08 +00:00
.forgejo chore(deps): update ci dependencies (#107) 2026-07-18 17:13:08 +00:00
.zed feat: add update-user form (#16) 2026-06-27 14:26:29 +00:00
cups fix: remove pdf support check (#102) 2026-07-17 14:33:55 +00:00
data feat: initial commit 2026-06-26 12:26:00 +02:00
migrations feat: order creation (#95) 2026-07-15 14:41:28 +00:00
src fix: some ui bugs and cleanup (#98) 2026-07-16 16:57:21 +00:00
static feat: major ui refactor (#97) 2026-07-16 15:44:33 +00:00
.env.example chore: add option to disable cron jobs (#88) 2026-07-14 13:22:04 +00:00
.gitignore feat: get printers shared via cups (#49) 2026-07-02 13:53:08 +00:00
.prettierignore chore: update biome to 2.5.2 (#50) 2026-07-02 12:43:41 +00:00
.prettierrc.json feat: add sidebar and product categories (#89) 2026-07-14 16:54:22 +00:00
.releaserc.json feat: initial commit 2026-06-26 12:26:00 +02:00
.renovaterc.jsonc refactor: pagination and table components (#33) 2026-06-29 11:07:45 +00:00
.yamllint.yml feat: initial commit 2026-06-26 12:26:00 +02:00
AGENTS.md feat: add cart, cartItem, etc. db tables and initial home page form (#92) 2026-07-15 12:15:06 +00:00
biome.jsonc chore(deps): update dependency @biomejs/biome to v2.5.4 (#108) 2026-07-18 17:15:32 +00:00
ci.Dockerfile chore: fix typo (#106) 2026-07-18 16:59:26 +00:00
drizzle.config.ts feat: admin users page (#8) 2026-06-27 09:57:44 +00:00
LICENSE docs: add README.md and AGENTS.md (#28) 2026-06-28 10:42:24 +00:00
package.json chore(deps): update dependency prettier-plugin-tailwindcss to v0.8.1 (#109) 2026-07-18 17:17:52 +00:00
pnpm-lock.yaml chore(deps): update dependency prettier-plugin-tailwindcss to v0.8.1 (#109) 2026-07-18 17:17:52 +00:00
pnpm-workspace.yaml chore: add scaffolding for libcups native module (#43) 2026-07-01 13:30:48 +00:00
README.md docs: update README and AGENTS with recent project changes (#75) 2026-07-10 13:30:51 +00:00
tsconfig.json feat: initial commit 2026-06-26 12:26:00 +02:00
vite.config.ts feat: get printer info and store in db (#68) 2026-07-09 10:33:06 +00:00

Events Cash Register

A web-based cash register application for event management, built with SvelteKit.

Features

  • Product management (with options)
  • User management with role-based access
  • Printer management
  • Secure authentication with session management
  • Session tracking and reporting
  • Automated cleanup via cron jobs

Tech Stack

  • Frontend: Svelte 5, Tailwind CSS 4, bits-ui, phosphor-svelte
  • Backend: SvelteKit server functions, Node.js adapter
  • Database: libSQL (SQLite) with Drizzle ORM
  • Validation: valibot
  • Authentication: Custom session-based auth with Argon2 password hashing

Getting Started

Prerequisites:

  • clang++ or g++ (c++23 compiler)
  • cups-dev (cups/cups.h for development) or cups-libs (libcups.so.2 for production)
  • meson (c++ build system)
  • ninja (c++ build system)
  • node.js (js server runtime)
  • pnpm (js package manager)
pnpm install

# Build the project.
pnpm run -r --no-sort setup
pnpm run -r build

Project Structure

migrations/          # Database migration files
cups/                # NAPI bindings to libcups 2
src/
├── assets/          # Static assets (images, icons)
├── components/      # Reusable Svelte components
├── lib/             # Shared library code
│   ├── auth/        # Authentication logic
│   ├── entities/    # Domain entities (user, product, printer, session)
│   └── server/      # Server-side utilities (database, logging, cron, etc.)
└── routes/          # SvelteKit routes
    ├── admin/       # Admin panel (products, users, printers)
    └── auth/        # Authentication (sign-in)

License

MIT