-first commit
This commit is contained in:
11
@knowleadge/controller/structer.txt
Normal file
11
@knowleadge/controller/structer.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
src/
|
||||
├── app.js
|
||||
├── route.js
|
||||
├── controllers/
|
||||
│ └── user.controller.js
|
||||
├── services/
|
||||
│ └── user.service.js
|
||||
├── config/
|
||||
│ └── db.js
|
||||
└── utils/
|
||||
└── response.js
|
||||
20
@knowleadge/dbchange/11112025.txt
Normal file
20
@knowleadge/dbchange/11112025.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE actmst ( --accounting master
|
||||
actseq INTEGER NOT NULL,
|
||||
actnum INTEGER NOT NULL,
|
||||
acttyp VARCHAR(1) NOT NULL, -- 'e' = expense (รายจ่าย), 'i' = income (รายรับ)
|
||||
actcat VARCHAR(50), -- หมวดหมู่ a,b,c,d,e → รายละเอียดจาก dtlmst table
|
||||
actqty NUMERIC(12, 2) NOT NULL, -- จำนวนเงิน รองรับสูงถึงหลักล้าน
|
||||
actcmt TEXT, -- คำอธิบายเพิ่มเติม
|
||||
actacpdtm CHAR(12) NOT NULL,-- รูปแบบ: ddMMyyyyHHmm เช่น '111120251200' = 11 พ.ย. 2025 เวลา 12:00
|
||||
PRIMARY KEY (actseq, actnum)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS dtlmst (
|
||||
dtltblcod VARCHAR(20) NOT NULL, -- รหัสกลุ่ม เช่น ACTTYP, ACTCAT
|
||||
dtlcod VARCHAR(10) NOT NULL, -- รหัสค่าภายในกลุ่ม เช่น 'e', 'i'
|
||||
dtlnam VARCHAR(100), -- ชื่อภาษาไทย เช่น 'รายจ่าย'
|
||||
dtleng VARCHAR(100), -- ชื่อภาษาอังกฤษ เช่น 'expense'
|
||||
dtlmsc VARCHAR(100), -- อื่น ๆ เช่น รหัสสี หรือหมายเหตุ
|
||||
CONSTRAINT dtlmst_pkey PRIMARY KEY (dtltblcod, dtlcod)
|
||||
);
|
||||
23
@knowleadge/knowleadge.txt
Normal file
23
@knowleadge/knowleadge.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
🧩 ROUTE CONCEPT (Pattern ของเรา)
|
||||
---------------------------------
|
||||
✅ route.js เดียวต่อ microservice
|
||||
✅ 1 route → 1 controller
|
||||
✅ ไม่มี async / logic / try-catch ใน route
|
||||
✅ controller รับ req/res แล้วจัดการ flow ทั้งหมด
|
||||
✅ controller มี onNavigate(), onUserController()
|
||||
✅ service แยกเฉพาะ database logic
|
||||
|
||||
⚙️ ROUTE TEMPLATE
|
||||
const controller_post = userController()
|
||||
router.post('/', (req, res) => controller_post.onNavigate(req, res))
|
||||
router.get('/', (req, res) => controller_post.onNavigate(req, res))
|
||||
|
||||
🧠 CONTROLLER FLOW
|
||||
- onNavigate() → check input, call onUserController()
|
||||
- onUserController() → switch(req.method)
|
||||
- catch → set idx=1 → send error
|
||||
- finally → ถ้า idx=-1 → send success
|
||||
|
||||
💾 SERVICE FLOW
|
||||
- connect pgsql
|
||||
- return rows or affected row
|
||||
53
@knowleadge/setup_project.txt
Normal file
53
@knowleadge/setup_project.txt
Normal file
@@ -0,0 +1,53 @@
|
||||
🚀 PART 1 : สร้างโปรเจ็กต์หลัก
|
||||
📁 1. เปิดโฟลเดอร์หลักของระบบ
|
||||
E:\Skyz\micro-service-api
|
||||
📦 2. สร้างไฟล์หลัก
|
||||
mkdir shared
|
||||
mkdir gateway-api
|
||||
mkdir exthernal-mobile-api
|
||||
|
||||
🧱 PART 2 : ติดตั้ง Node.js โปรเจกต์
|
||||
🌐 1. สร้าง package.json ในแต่ละ service
|
||||
|
||||
|
||||
cd gateway-api
|
||||
npm init -y
|
||||
cd ../exthernal-mobile-api
|
||||
npm init -y
|
||||
|
||||
|
||||
📦 2. ติดตั้ง dependencies หลัก
|
||||
npm install express pg cors dotenv
|
||||
|
||||
npm install express-session connect-redis ioredis
|
||||
|
||||
npm install --save-dev nodemon
|
||||
|
||||
npm install -g nodemon
|
||||
|
||||
npm install jsonwebtoken
|
||||
|
||||
ติดตั้ง Redis
|
||||
|
||||
|
||||
|
||||
|
||||
✏️ 3. เพิ่ม script ใน package.json
|
||||
"scripts": {
|
||||
"start": "node src/app.js",
|
||||
"dev": "nodemon src/app.js"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
⚙️ วิธีรันแต่ละ service
|
||||
|
||||
จาก root (micro-service-api):
|
||||
|
||||
# เริ่มโปรแกรมหลัก
|
||||
npm run dev
|
||||
|
||||
# หรือเริ่มเฉพาะ API ย่อย
|
||||
npm run start:mobile
|
||||
npm run start:wep
|
||||
Reference in New Issue
Block a user