Add Readme

This commit is contained in:
Flook 2025-11-19 05:13:01 +07:00
parent 32e87cfdb5
commit 48a83ac624

View File

@ -1,71 +1,64 @@
# 🏗️ Monorepo Web App Starter Template Version 1.0 # 🚀 Unified Help Desk Platform (MVP)
**Version 1.0.0 — Internal Use Only**
Template นี้ถูกออกแบบมาเพื่อเป็นพื้นฐาน (Boilerplate) สำหรับทุกโปรเจกต์ในองค์กร [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
ช่วยลดเวลา Setup, เพิ่มมาตรฐาน และรองรับการขยายระบบในระยะยาว ![Build Status](https://img.shields.io/badge/Status-In%20Progress-yellow)
![Tech Stack](https://img.shields.io/badge/Tech%20Stack-Django%20DRF%20%7C%20React%20%7C%20Docker-blueviolet)
## 🌟 ภาพรวมโครงการ (Project Overview)
โครงการนี้คือการพัฒนาแพลตฟอร์ม **Help Desk/Unified Inbox** ที่มีฟังก์ชันการทำงานพื้นฐานที่จำเป็น (Minimum Viable Product - MVP) สำหรับการจัดการ Ticket และการสนทนาระหว่างลูกค้าและ Agent
โครงการนี้เริ่มต้นจาก **`monorepo-starter-full-auth-web-app-template`** ซึ่งมีโครงสร้างพื้นฐานที่จำเป็น (Monorepo, High Availability, Authentication) ทำให้ลดเวลาในการตั้งค่าโครงสร้างพื้นฐานลงได้อย่างมาก
### 🎯 เป้าหมายของ MVP
1. สร้างระบบฐานข้อมูลหลักสำหรับจัดการ Ticket และ Agent
2. พัฒนาระบบ **Unified Inbox** สำหรับ Agent เพื่อจัดการและติดตามสถานะ Ticket ทั้งหมด
3. สร้างระบบ **Real-time Conversation** เพื่อให้ Agent และลูกค้าสามารถสื่อสารกันได้
--- ---
## 🎯 เป้าหมายของ Template นี้ ## 📅 แผนการพัฒนาและไทม์ไลน์ (5-Day Sprint Plan)
โปรเจกต์นี้เป็น **Monorepo Web App Starter Template** ที่มีฟีเจอร์พื้นฐานครบพร้อมใช้งาน ได้แก่: การพัฒนาขั้นต้นนี้ถูกบีบอัดให้เหลือเพียง **5 วัน** โดยการตัดฟังก์ชันที่ซับซ้อน (เช่น Real-time Messaging, Task Queues) ออกทั้งหมด:
✔ Authentication + JWT + Refresh Token ### 1. แผนภาพรวม (5-Day POC Breakdown)
✔ Remember-Me Token Logic
✔ Celery Task Queue + Redis Broker
✔ API Gateway (Django DRF)
✔ React (Vite) + TanStack Query + Redux Toolkit
✔ Docker Compose (Minio + Celery + Flower + Redis + CockroachDB)
สามารถ Clone เพื่อสร้างโปรเจกต์ใหม่ได้ทันทีผ่าน Gitea *Make this Template* | # | กิจกรรมหลัก | ระยะเวลา | สรุปเป้าหมาย (POC Focus) |
| :--- | :--- | :--- | :--- |
| **1** | **Cleanup & Data Model** | 1 วัน | จัดการโครงสร้าง, สร้างแอป **`helpdesk`**, และสร้าง **Core Model: Ticket** |
| **2** | **Backend API & Logic** | 2 วัน | สร้าง API (CRUD) สำหรับ Ticket, พัฒนาฟังก์ชัน **Update Status** และ **Assign Agent** |
| **3** | **Frontend UI & Read** | 1 วัน | พัฒนาหน้า Inbox UI พื้นฐาน, เชื่อมต่อ API เพื่อ **แสดงรายการ Ticket ทั้งหมด** |
| **4** | **Testing & Documentation** | 1 วัน | ทดสอบ End-to-End (Create $\rightarrow$ Read $\rightarrow$ Update) และจัดทำเอกสาร Setup |
| **รวม** | | **5 วัน** | **Ticket Management POC สำเร็จ** |
### 2. เทคโนโลยีและโครงสร้างที่ใช้ (Leveraged from Template)
* **Backend & Infrastructure:**
* **Authentication:** ระบบจัดการผู้ใช้และสิทธิ์ **JWT** (ตั้งค่าเสร็จแล้ว)
* **Database HA:** ฐานข้อมูลที่มีความพร้อมใช้งานสูง (CockroachDB)
* **Task Queue:** โครงสร้าง **Celery / Redis** ตั้งค่าไว้พร้อมใช้งาน (แต่ไม่ได้ใช้ใน POC นี้)
* **Frontend Base:** React Hooks / Redux Toolkit / TanStack Query
--- ---
## 🚀 เหตุผลที่องค์กรควรใช้ Template นี้ ## ⚠️ ปัจจัยความซับซ้อน (Scope Complexity)
### 1⃣ ลดเวลาในการ Setup (Time to Market) * **Real-time Messaging:** หากต้องเปลี่ยนจากการใช้ Polling ไปใช้ **WebSockets** (Django Channels/FastAPI) เพื่อให้การสนทนาเกิดขึ้นทันที อาจทำให้ระยะเวลาพัฒนาส่วนนี้เพิ่มขึ้น
ไม่ต้องติดตั้งซ้ำทุกครั้ง เช่น: * **AI Integration:** การเพิ่มฟีเจอร์ **AI Automation** (เช่น การจัดประเภท Ticket อัตโนมัติ) ถูกจัดอยู่ในขอบเขตการพัฒนาเฟสถัดไป และจะใช้เวลาพัฒนาแยกต่างหาก
- Django + JWT + Djoser
- Token Refresh + Remember-Me Logic
- Celery Worker + Redis Queue
- Vite + React + TanStack Query
- Docker Compose รองรับ Backend/Frontend/Database
โคลนแล้วเริ่มพัฒนาได้ทันที!
--- ---
### 2⃣ มาตรฐานเดียวกันทั้งองค์กร (Standardization) ## 🛠️ การเริ่มต้น (Getting Started)
Template นี้รวม Best Practices เช่น:
- DRF Custom Permission, Auth Middleware ### 1. Clone Project
- React Service Layer + Axios Interceptors
- Redux Slice สำหรับ Auth
- Database Structure มาตรฐาน
- Docker Directory Structure
ทำให้ทุกทีมโค้ดไปในทิศทางเดียวกัน
```bash
git clone https://gitea.softwarecraft.tech/gitea/help-desk.git
cd help-desk
```
--- ---
### 3⃣ ผ่านการทดสอบมาแล้ว (Quality & Stability) ## คู่มือต่าง ๆ
Template นี้ถูกสร้างจากโปรเจกต์จริง
แก้ปัญหาเช่น:
- Connection Refused (Celery) คำแนะนำสำหรับ Developer ในการรันโปรเจคครั้งแรก [ที่นี่](docs/dev_manual.pdf)
- Token Refresh ไม่ทำงาน
- CORS/CSRF ปัญหาใน Dev
- Docker Volume Lost
จึงมั่นใจได้ว่าใช้แล้วเสถียร
---
### 4⃣ ง่ายในการบำรุงรักษา (Maintenance Friendly)
เมื่อมีการอัปเดต security หรือ dependency เวอร์ชันใหม่:
- ทีมสามารถ Pull จาก Template
- หรือ Sync ผ่าน Git Subtree/Gitea Mirror
ช่วยลด Tech Debt ระยะยาว