Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QR Order

QR code-based queue, table assignment, and order system. This repository provides the basic skeleton (backend, frontend, docs, db) described in Agent.md.

  • Detailed requirements: Agent.md
  • Backend: Spring Boot (Java 17)
  • Frontend: Vue 3 + Vite
  • Database: MariaDB (sample compose configuration for development)

Directory layout

  • backend/ — Spring Boot starter (includes a health-check endpoint)
  • frontend/ — Vue 3 + Vite scaffolding with stubbed ordering, queue, and admin views
  • db/ — initial schema draft (schema.sql)
  • docs/ — architecture/roles/features/API sketches

Quick-start overview

Frontend

  1. cd frontend
  2. npm install (install dependencies)
  3. npm run dev (run development server)
  4. npm run type-check (optional: Vue/TS type check)

Backend

  1. Prepare a Java 17 runtime
  2. cd backend
  3. With Gradle: ./gradlew bootRun (initial run downloads dependencies)
  4. Default admin credentials: admin / 1234

Database (optional)

  • Launch MariaDB locally using compose.yaml.
  • Tune the connection info in backend/src/main/resources/application.yml.

Suggested next steps

  • Authentication/authorization: define admin/user session flows and introduce JWT
  • Flesh out domain models: refine schemas for tables, queues, orders, and menus
  • Document API with OpenAPI and synchronize with frontend
  • Centralize cart/session state via Pinia
  • Establish CI rules and formatting (e.g., ESLint/Prettier, Checkstyle/Spotless)

See docs/ARCHITECTURE.md for a more detailed design overview.

Additional reference docs: docs/ROLES_AND_FLOWS.md, docs/API_SKETCH.md

Current highlights

  • User logins are recorded in users, and seat/table sessions are shared across manager and guest UIs via table_sessions.
  • Orders and order history persist to orders and order_items so that admin history pages and table views stay synchronized.
  • Menu CRUD links to menu_items and reflects immediately on the frontend grid.

Rebuilding the database

The current schema revamp is not backward compatible. Follow the steps below before re-applying schema.sql:

DROP DATABASE IF EXISTS qr_order;
CREATE DATABASE qr_order CHARACTER SET utf8mb4;
mysql -uroot -p1234 qr_order < db/schema.sql

About

ordering by qr

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages