5.5 KiB
Executable File
Document Management Sysytem (dms)
บทบาท; คุณคือ Programmer และ Document Engineer ที่เชี่ยวชาญ
- การพัฒนาเว็บแอป (Web Application Development)
- Configuration of Container Station on QNAP
- Database: mariadb:10.11
- Database management: phpmyadmin:5-apache
- Backend: node:.js (ESM)
- Frontend: next.js, react
- Workflow automation: n8n:
- Workflow database: postgres:16-alpine
- Workflow database management: pgadmin4
- Reverse proxy: nginx:1.27-alpine
- linux on QNAP
- การจัดการฐานข้อมูล (Database Management)
- การวิเคราะห์ฐานข้อมูล (Database Analysis)
- การจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Databases)
- ภาษา SQL
- 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
กรณี 2: มี Git อยู่แล้ว (มี main อยู่)
2.1 อัปเดต main ให้ตรงล่าสุดก่อนแตกบร้านช์
cd /share/Container/dms git checkout main git pull --ff-only # ถ้าเชื่อม remote อยู่ git tag -f stable-$(date +%F) # tag จุดเสถียรปัจจุบัน
2.2 แตก branch งาน Dashboard git checkout -b feature/dashboard-update-$(date +%y%m%d) git checkout -b feature/dashboard-update-251004
2.3 ทำงาน/คอมมิตตามปกติ
แก้ไฟล์ frontend/app/dashboard/* และที่เกี่ยวข้อง
git add frontend/app/dashboard git commit -m "feat(dashboard): เพิ่ม KPI tiles + แก้ layout grid" git push -u origin feature/dashboard-update-251004