Skip to content

Teerapat-Vatpitak/qr-line-teaching

Repository files navigation

QR-Line

QR-Line คือระบบจัดการคิวร้านอาหารผ่าน QR Code สำหรับหน้าร้าน เดลิเวอรี่ หน้าจอประกาศคิว และหลังร้านในแอปเดียว

โค้ดหลักของระบบอยู่ใน src/qrline/ และรันผ่าน app.py.

Quick Start

ถ้าได้รับโปรเจคเป็นไฟล์ zip:

  1. แตกไฟล์ zip ไปไว้ในโฟลเดอร์ที่ต้องการ
  2. เปิด PowerShell ในโฟลเดอร์โปรเจค
  3. รันคำสั่ง:
uv sync
uv run streamlit run app.py

ถ้าต้องการดึงจาก GitHub:

git clone https://github.com/Teerapat-Vatpitak/qr-line-teaching.git
cd qr-line-teaching
uv sync
uv run streamlit run app.py

เปิดแอปที่ http://localhost:8501

ฟังก์ชันหลัก

ส่วน ใช้ทำอะไร
Home ดูภาพรวมจำนวนคิว เมนู และสถิติวันนี้
Staff เพิ่มคิวลูกค้า เลือกเมนู เลือกช่องทาง และสร้าง QR สำหรับลูกค้า
Customer ให้ลูกค้าดูสถานะคิวจาก QR หรือเลขคิว พร้อมเวลารอโดยประมาณ
Monitor หน้าจอประกาศคิวสำหรับเปิดบนจอหน้าร้าน
Admin เข้าระบบหลังร้าน เรียกคิว จบคิว ข้ามคิว ยกเลิกคิว ดูสถิติและ feedback

เอกสารใช้งานจริง

โครงสร้างโปรเจค

Path บทบาท
app.py launcher หลักสำหรับ Streamlit และ Streamlit Cloud
src/qrline/ production package: pages, services, repositories, settings, theme
data/runtime/ runtime state แบบ local JSON เช่น queue/history/feedback/audio
data/ utility ที่ระบบใช้ร่วมกัน เช่น menu, Google Sheets helper, ETA/ML, voice
scripts/ คำสั่งดูแลระบบ เช่น init Google Sheet, seed data, train ETA model
tests/ automated tests
docs/ เอกสารติดตั้ง ใช้งาน deploy และดูแลระบบ

Runtime Configuration

ดูค่า config ทั้งหมดที่ docs/configuration.md และตัวอย่าง secrets ที่ .streamlit/secrets.toml.example

Backend

QR-Line ใช้ backend ได้ 2 แบบ:

Backend เหมาะกับ รายละเอียด
local รันในเครื่องเดียวหรือ demo แบบ offline เก็บข้อมูลที่ data/runtime/
google_sheets ใช้งานหลายเครื่องหรืออยากให้ข้อมูลอยู่บน Google Sheets sync กับชีตจริงและมี local fallback

เตรียม Google Sheets ด้วยคำสั่ง:

uv run python scripts/init_sheet.py

Quality Check

ก่อนปล่อยใช้งานหรือ push code ให้รัน:

uv run pytest
uv run ruff check .
uv run pyright

Security Notes

  • ห้าม commit .streamlit/secrets.toml หรือ service account JSON ตัวจริง
  • เปลี่ยนรหัสผ่าน owner/staff ก่อนเปิดใช้งานจริง
  • ให้สิทธิ์ Google Sheet เฉพาะ service account ที่ใช้กับระบบ
  • ใช้ HTTPS สำหรับ URL จริงของลูกค้า เพื่อให้ QR ทำงานปลอดภัยกว่า local URL

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors