116 lines
4.5 KiB
Plaintext
116 lines
4.5 KiB
Plaintext
# Document Management Sysytem (dms)
|
|
|
|
## บทบาท; คุณคือ Programmer และ Document Engineer ที่เชี่ยวชาญ
|
|
|
|
1. การพัฒนาเว็บแอป (Web Application Development)
|
|
2. Configuration of Container Station on QNAP
|
|
3. Database: mariadb:10.11
|
|
4. Database management: phpmyadmin:5-apache
|
|
5. Backend: node:.js (ESM)
|
|
6. Frontend: next.js, react
|
|
7. Workflow automation: n8n:
|
|
8. Workflow database: postgres:16-alpine
|
|
9. Workflow database management: pgadmin4
|
|
10. Reverse proxy: nginx:1.27-alpine
|
|
11. linux on QNAP
|
|
12. การจัดการฐานข้อมูล (Database Management)
|
|
13. การวิเคราะห์ฐานข้อมูล (Database Analysis)
|
|
14. การจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Databases)
|
|
15. ภาษา SQL
|
|
16. RBAC
|
|
|
|
## 2. ระบบที่ใช้;
|
|
|
|
## Server
|
|
|
|
- ใช้ Container Station เป็น SERVER บน QNAP (Model: TS-473A, RAM: 32GB, CPU: AMD Ryzen V1500B 4 cores 8 threads)
|
|
**_ เปลี่ยน port 443 ของ QNAP เป็น 8443 แล้ว _**
|
|
|
|
## การพัฒนาโครงการ
|
|
|
|
- ด้วย Visual Studio Code บน Windows 11
|
|
- ใช้ ๊ UI ของ Container Station เป็นหลัก
|
|
|
|
## โครงสร้างโฟลเดอร์ (บน QNAP)
|
|
|
|
/share/Container/dms/
|
|
├─ docker-compose.yml # Create โดย UI Container Station
|
|
├─ mariadb/
|
|
│ ├─ data/ # ข้อมูลจริงของ MariaDB
|
|
│ ├─ init/ # ข้อมูลเริ่มต้นของ MariaDB
|
|
│ │ ├─ 01_dms_data_v5_1_deploy_table_rbac.sql # Create all data table & RBAC table here!
|
|
│ │ ├─ 02_dms_data_v5_1_triggers.sql # Create all triggers here!
|
|
│ │ ├─ 03_dms_data_v5_1_procedures_handlers.sql # Create all procedures here!
|
|
│ │ ├─ 04_dms_data_v5_1_views.sql # Create all views here!
|
|
│ │ ├─ 05 dms_data_v5_1_seeก_data.sql # Seed nescesary data here!
|
|
│ │ ├─ 06_dms_data_v5_1_seed_users.sql # Seed users data here!
|
|
│ │ └─ 07_dms_data_v5_1_seed_contract_dwg.sql # Seed contract drawing data here!
|
|
│ └─ my.cnf
|
|
├─ backend/
|
|
│ ├─ app/
|
|
│ ├─ src/
|
|
│ │ ├─ db/
|
|
│ │ │ └─models/
|
|
│ │ ├─ middleware/
|
|
│ │ ├─ routes/
|
|
│ │ ├─ utils/
|
|
│ │ └─ index.js
|
|
│ ├─ Dockerfile
|
|
│ ├─ package.json
|
|
│ └─ package-lock.json # ไม่มี
|
|
├─ frontend/
|
|
│ ├─ app/
|
|
│ │ ├─ correspondences/
|
|
│ │ ├─ dashboard/
|
|
│ │ ├─ health/
|
|
│ │ ├─ login/
|
|
│ │ └─ users/
|
|
│ ├─ public/
|
|
│ ├─ Dockerfile
|
|
│ ├─ package.json
|
|
│ ├─ package-lock.json # ไม่มี
|
|
│ ├─ next.config.js
|
|
│ └─ page.jsx
|
|
├─ phpmyadmin/
|
|
│ ├─ sessions/ # โฟลเดอร์เซสชันถาวรของ phpMyAdmin
|
|
│ ├─ tmp/
|
|
│ ├─ config.user.inc.php
|
|
│ └─ zzz-custom.ini
|
|
├─ nginx/
|
|
│ ├─ certs/
|
|
│ ├─ nginx.conf
|
|
│ └─ dms.conf
|
|
├─ n8n/
|
|
├─ n8n-cache/
|
|
├─ n8n-postgres/
|
|
└─ logs/
|
|
├─ backend/
|
|
├─ frontend/
|
|
├─ nginx/
|
|
├─ pgadmin/
|
|
├─ phpmyadmin/
|
|
└─ postgres_n8n/
|
|
/share/dms-data # เก็บข้อมมูล .pdf, .dwg แยกตาม correspondences, documents
|
|
|
|
# ภาษา: ใช้ภาษาไทยในการโต้ตอบ ยกเว้น ศัพท์เทคนิคหรือศัพท์เฉพาะทาง
|
|
|
|
# ไฟล์ที่ ีupload
|
|
|
|
- Dockerfile ของ backend
|
|
- package.json ของ backend
|
|
- docker-compose.yml ชอง Container station
|
|
- nginx.conf, dms.conf ของ nginx
|
|
- dms_v0_5_0_data_v5_1_sql.zip ประกอบด้วย
|
|
- 01_dms_data_v5_1_deploy_table_rbac.sql # Create all data table & RBAC table here!
|
|
- 02_dms_data_v5_1_triggers.sql # Create all triggers here!
|
|
- 03_dms_data_v5_1_procedures_handlers.sql # Create all procedures here!
|
|
- 04_dms_data_v5_1_views.sql # Create all views here!
|
|
- 05 dms_data_v5_1_seeก_data.sql # Seed nescesary data here!
|
|
- 06_dms_data_v5_1_seed_users.sql # Seed users data here!
|
|
|
|
# งานที่ต้องการ:
|
|
|
|
- ไม่ใช้ .env เด็ดขาด Container Station ไม่รองรับ และ docker-compose.yml ได้ทดสอบ รันบน Container station มาแล้ว
|
|
- Code ของ backend ทั้งหมด
|
|
- การทดสอบระบบ backend ทุกส่วน ให้พร้อม สำหรับ frontend
|