# 📖 CMTC Tech Solution Cloud — Project SME
> **Smart Multi-Tenant Dining & SME Management System**

![CMTC Tech Solution](logo.png)

---

## 📌 ข้อมูลโครงการ (Project Overview)

**CMTC Tech Solution Cloud (Project SME)** คือระบบบริหารจัดการร้านอาหารและร้านค้าแบบ **Multi-Tenant (ระบบหลายร้านค้าบนแพลตฟอร์มเดียว)** ออกแบบมาเพื่อสนับสนุนผู้ประกอบการ SME, ศูนย์อาหาร (Food Center), และร้านอาหารเดี่ยว/หลายสาขา ให้สามารถบริหารจัดการเมนู ออเดอร์ คิวอาหาร และการเรียกคิวลูกค้าได้อย่างครบวงจรผ่านระบบคลาวด์แบบ Real-time

---

## 🌟 คุณสมบัติเด่น (Key Features)

### 🛒 1. ระบบสั่งอาหารสำหรับลูกค้า (Customer Self-Ordering)
* **Mobile-First Experience**: หน้าตาอินเทอร์เฟซรองรับสมาร์ทโฟน สะดวก รวดเร็ว
* **Table & QR Code Support**: ระบุหมายเลขโต๊ะ (เช่น `A01`, `TB-05`) อัตโนมัติเมื่อสแกน QR Code
* **Live Order Tracking**: ลูกค้าติดตามสถานะอาหารของตนเองได้สดๆ บนหน้าจอ (ส่งแล้ว ➔ กำลังปรุง ➔ พร้อมรับ)

### 👑 2. ระบบแอดมินส่วนกลาง (Super Admin Platform)
* **Shop Registration Review**: ระบบรับใบสมัครเข้าร่วมโครงการจากหน้าแรก
* **Auto Shop Provisioning**: กดยืนยันอนุมัติร้านค้าใหม่ ระบบจะสร้างรหัสร้านและบัญชีผู้ดูแลร้าน (`admin_[shop_id]`) ให้อัตโนมัติ
* **Platform Analytics**: ตรวจสอบสถิติจำนวนร้านค้าและยอดรวมแพ็กเกจ

### 🏪 3. ระบบบริหารร้านค้าสำหรับเจ้าของร้าน (Shop Admin / Kitchen Command)
* **Menu Management (CRUD)**: เพิ่ม แก้ไข ลบรายการอาหาร ปรับราคา และเปลี่ยนสถานะ (พร้อมเสิร์ฟ / หมดชั่วคราว)
* **Kitchen Order Management**: รับออเดอร์เข้าครัว เปลี่ยนสถานะออเดอร์ (`pending` ➔ `preparing` ➔ `served` / `cancelled`)
* **Shop Profile Customization**: แก้ไขข้อมูลร้าน เบอร์โทรศัพท์ และพิกัดจุดบริการ

### 📺 4. จอทีวีประกาศเรียกคิวพร้อมเสียงสังเคราะห์ (Queue TV & Automated TTS)
* **Real-time Kitchen Sync**: อัปเดตคิวอาหารที่ปรุงเสร็จแล้วทันทีเมื่อห้องครัวกดแจ้งเตือน
* **Automatic Thai TTS Voice Calling**: พ่นเสียงประกาศเรียกคิวอัตโนมัติด้วยเทคโนโลยี Web Speech API (ตัวอย่าง: *"โต๊ะหมายเลข A3 รับอาหารได้เลยค่ะ"*)

---

## 🔗 ตารางเส้นทางการเข้าใช้งานระบบ (URLs Matrix)

| กลุ่มผู้ใช้งาน | ลิงก์เข้าใช้งาน (URL) | วัตถุประสงค์ / คำอธิบาย |
| :--- | :--- | :--- |
| **ลูกค้าทั่วไป** | [`menu.php`](menu.php) | ค้นหารายชื่อร้านค้าทั้งหมดในศูนย์อาหาร/โครงการ |
| **ลูกค้าประจำโต๊ะ** | `menu.php?shop_id={id}` | เลือกระบุร้านค้าเฉพาะจุด สั่งอาหาร และกรอกหมายเลขโต๊ะ |
| **ผู้ดูแลระบบส่วนกลาง** | [`platform-admin.php`](platform-admin.php) | แผงอนุมัติร้านค้าใหม่ ตรวจสอบแพ็กเกจ และดูภาพรวมระบบ |
| **ผู้ดูแลร้านค้า** | [`demo-admin.php`](demo-admin.php) / [`store-admin.php`](store-admin.php) | จัดการรายการอาหาร ปรับแต่งร้าน และจัดการออเดอร์ในครัว |
| **สถานะคิวลูกค้า** | `status.php?shop_id={id}` | บอร์ดแสดงคิวกำลังปรุง / คิวพร้อมรับ สำหรับลูกค้า |
| **จอทีวีประกาศเรียกคิว** | `queue-tv.php?shop_id={id}` | จอใหญ่สำหรับติดหน้าร้าน พร้อมระบบเสียงเรียกคิวอัตโนมัติ |

---

## 🔑 บัญชีเข้าใช้งานตั้งต้น (Default System Credentials)

### Super Admin (ส่วนกลาง)
* **Username**: `admin`
* **Password**: `@smetech69`

### Shop Admin ตั้งต้น (เมื่อได้รับอนุมัติร้านค้า)
* **Username**: `admin_{shop_id}` (เช่น `admin_1`, `admin_2`)
* **Password**: `123456`

---

## 🛠️ เทคโนโลยีที่ใช้ (Tech Stack)

* **Backend**: PHP 7.4+ / 8.x (PDO Driver, Prepared Statements, Session Management)
* **Database**: MySQL / MariaDB (`InnoDB` Engine, UTF-8 Unicode Support)
* **Frontend**: HTML5, Vanilla CSS3 (Custom Design Tokens), JavaScript ES6+
* **Real-time & Audio**: Fetch API / AJAX Polling, Web Speech API (`SpeechSynthesisUtterance`)
* **Environment Config**: `.env` configuration support

---

## 📂 โครงสร้างฐานข้อมูล (Database Schema)

ระบบใช้งานฐานข้อมูลชื่อ `sme_os` (หรือ `smart_dine_cloud_db`) ประกอบด้วย 5 ตารางหลัก:

1. **`shops`**: ข้อมูลร้านค้าที่ลงทะเบียน (ชื่อร้าน, เบอร์โทร, แพ็กเกจ, สถานะ)
2. **`shop_admins`**: บัญชีผู้ดูแลร้านค้าแต่ละร้าน (เชื่อมโยงกับ `shops.id`)
3. **`products`**: เมนูอาหาร/สินค้าในระบบ
4. **`orders`**: ใบสั่งซื้อ/ออเดอร์ (ระบุหมายเลขโต๊ะ และสถานะ `pending`, `preparing`, `served`, `completed`, `cancelled`)
5. **`order_items`**: ตารางรายละเอียดรายการอาหารใน แต่ละออเดอร์

---

## 🚀 ขั้นตอนการติดตั้งและเปิดใช้งาน (Setup & Installation Guide)

### 1. ความต้องการของระบบ (Prerequisites)
* Web Server (Apache / Nginx) เช่น **XAMPP**, WampServer หรือ Laragon
* PHP Version 7.4 ขึ้นไป
* MySQL / MariaDB Database Server

### 2. ขั้นตอนการติดตั้ง
1. คัดลอกโฟลเดอร์โครงการไปไว้ที่ Web Root:
   ```bash
   C:\xampp\htdocs\Project SME
   ```
2. สร้างฐานข้อมูล MySQL และนำเข้าไฟล์ schema:
   * นำเข้าไฟล์ [`database.sql`](database.sql) ผ่าน **phpMyAdmin** หรือ MySQL Command Line:
     ```sql
     CREATE DATABASE IF NOT EXISTS `sme_os` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
     USE `sme_os`;
     -- Import database.sql contents
     ```
3. กำหนดค่าการเชื่อมต่อฐานข้อมูลในไฟล์ [`.env`](.env):
   ```ini
   DB_HOST=127.0.0.1
   DB_PORT=3306
   DB_USER=sme_os
   DB_PASS=@smetech69
   DB_NAME=sme_os
   DB_DEBUG=true
   ```
4. ทดสอบเข้าใช้งานผ่าน Web Browser:
   ```
   http://localhost/Project%20SME/index.php
   ```

---

## 📋 ขั้นตอนการทำงานของระบบ (Workflow Summary)

```mermaid
flowchart TD
    A[ร้านค้าลงทะเบียนเข้าร่วมโครงการ] -->|ส่งใบสมัคร| B[index.php]
    B --> C[Super Admin ตรวจสอบคำขอ]
    C -->|กดอนุมัติ| D[platform-admin.php]
    D -->|สร้างระบบอัตโนมัติ| E[สร้างรหัสร้าน & บัญชี admin_shop]
    
    F[ลูกค้าสแกน QR / เข้าเว็บ] -->|สั่งอาหาร| G[menu.php?shop_id=X]
    G -->|ส่งออเดอร์| H[(Database: orders & order_items)]
    
    H -->|แสดงคิวเข้าครัว| I[demo-admin.php / store-admin.php]
    I -->|กดเริ่มปรุง / ปรุงเสร็จ| J{เปลี่ยนสถานะออเดอร์}
    
    J -->| status = served | K[status.php แสดงคิว ready]
    J -->| status = served | L[queue-tv.php ประกาศเรียกคิว + เสียงพูด]
```

---

## 📄 ใบอนุญาตและการดูแล (License & Support)

พัฒนาและดูแลโดยทีมงาน **CMTC Tech Solution Cloud**  
สงวนลิขสิทธิ์ © 2026 CMTC Tech Solution. All rights reserved.
