ืืขืจืืช ืืขืืืื ืชืืืฉื ืฉืืจ ืืฉืจืืืืื ืืืืฆืขืืช ืืื ื ืืืืืืชืืช ืฉื Claude.
๐ฏ ืืืืื ืืืืืืืืช ืืืื:
- โก Flow ืืื ื-4 ืฉืืืื ืขื ืื ืืืฆืืืช
- ๐ง ืืจืื ืืื Claude AI ืขืืื ืืคืืขื
- ๐ ืชืืฆืืืช ืืืื ืืืช ืขื ื ืชืื ืื ืืืืชืืื
- ๐จ ืขืืฆืื ืืชืงืื ืืืื ืืจืืงืืืื
- ๐ป ืืืฉืื ืืืฆืืืช ืืืืื ืช ืืงืื ืกืคื
ืืืฅ ืืื ืืฆืคืืื ืืกืจืืื ๐ฌ
ืืืืืช ืืืขืจืืช ืืคืขืืื - ืืขืืืช ืชืืืฉ ืฉืืจ ืืงืืืช ืชืืฆืืืช ืืกืืืืืช
๐ฌ ืื ืชืจืื ืืืืืื:
- ๐ ืืขืืืช ืงืืืฅ ืชืืืฉ ืฉืืจ (PDF)
- ๐ค ืขืืืื ืืืืืืื ืขื Claude AI
- ๐ท๏ธ ืกืืืื ืคืจืืืื ืืงืืืืจืืืช: ืจืืื, ืฉืขืืช ื ืืกืคืืช, ื ืกืืขืืช, ืืืจ
- ๐ ืืฆืืช ืชืืฆืืืช ืืคืืจืืืช ืืกืืืื ืืกืคื
๐ก ืืืค: ืืืืืื ืืืื ืืจืืงืืืืืช ืืฆืืื ืืช ืืชืืืื ืืืื ืืฆืืจื ืืืืืืืืช ืืืจืฉืืื
- ๐ ืขืืืื ืงืืฆื PDF ืืชืืื ืืช ืฉื ืชืืืฉื ืฉืืจ (PDF ืืืืืฅ ืืืืืืช OCR ืืขืืื!)
- ๐ค OCR ืืชืงืื ืขื Claude AI
- ๐ท๏ธ ืืืืงื ืืืืืืืืช ื-4 ืงืืืืจืืืช:
- ืจืืื: ืฉืืจ ืืกืืก, ืชืืกืคืืช ืืชืง, ืืฉืืื, ืืฉืคืื
- ืฉืขืืช ื ืืกืคืืช: 125%, 150%, ืชืืกืคืช ืืืื, ืฉืืช
- ื ืกืืขืืช: ืงืืืืืืจืื', ืืื ื ืกืืขื, ืืืง
- ืืืจ: ืืขื ืงืื, ืคืืฆืืืื, ืชืฉืืืืื ืื ืคืขืืืื
- ๐ ืชืฆืืื ืืคืืจืืช ืฉื ืืชืืฆืืืช
- ๐ ืืืืืช API key ืืชืงืืืช
- ืืืจื ืืช ืืคืจืืืงื
- ืืชืงื dependencies ืืคืจืื ืืื ื:
npm install- ืืชืงื dependencies ืืืงืื ื:
cd server
npm install
cd ..- ืืคืขื ืืช ืืืขืจืืช:
# ืืืืืืื (ืืจืืฅ ืฉื ื ืฉืจืชืื):
./start.sh
# ืื ืืื ืืช:
# ืืจืืื ื 1 - Backend:
cd server && npm start
# ืืจืืื ื 2 - Frontend:
npm start- ืคืชื ืืช ืืืคืืคื ื-http://localhost:3000
- ืืขืื ืชืืืฉ ืฉืืจ (PDF ืขื 30MB ืื ืชืืื ื ืขื 5MB)
- ืืืชื ืืขืืืื Claude AI ืืจื ืืฉืจืช
- ืฆืคื ืืชืืฆืืืช ืืืืืืงืืช ืืงืืืืจืืืช
ืืืืืฅ: ืืฉืชืืฉ ืืงืืฆื PDF ืืืืืืช OCR ืืขืืื! Claude API ืชืืื ืืงืืฆื PDF ืืฉืืจืืช.
ืืืขืจืืช ืื ืืื ืืืจืืขื ืจืืืืื ืขืืงืจืืื:
- ืคืืจื: 3000
- ืืื ืืืืืืืช: React 18, Tailwind CSS, Lucide Icons
- ืชืคืงืื: ืืืฉืง ืืฉืชืืฉ ืืื ืืจืืงืืืื ืืืขืืืช ืชืืืฉืื ืืฆืคืืื ืืชืืฆืืืช
- ืงืืฆืื ืขืืงืจืืื:
src/App.js- ืจืืื ืืืคืืืงืฆืื ืืจืืฉืsrc/PayrollProcessor.js- ืืจืืื ืืืจืืื ืืขืืืื ืชืืืฉืืsrc/App.css- ืขืืฆืื ืืืืฉืงpublic/index.html- ืืฃ HTML ืืืกืืกื
- ืคืืจื: 3001
- ืืื ืืืืืืืช: Node.js, Express, Multer, CORS
- ืชืคืงืื: ืฉืจืช API ืืืชืืื ืืื ืืืงืื ื-Claude AI
- ืงืืฆืื ืขืืงืจืืื:
server/server.js- ืฉืจืช Express ืืจืืฉืserver/package.json- ืชืืืืืช ืืฉืจืชserver/.env- ืืืืจืืช ืกืืืื (API keys)
- API: Claude 3.5 Sonnet (Anthropic)
- ืืืืืืช:
- OCR ืืชืงืื ืืืงืกื ืขืืจื ืืขืจืื
- ืขืืืื ืงืืฆื PDF ืืฉืืจืืช (ืืื ืืืจื)
- ื ืืชืื ืืื ื ืชืืืฉื ืฉืืจ
- ืกืืืื ืคืจืืืื ืืงืืืืจืืืช
- ืชืืืื ืขืืืื:
- ืงืืืช ืงืืืฅ PDF/ืชืืื ื ืืืืงืื
- ืืืจื ื-Base64
- ืฉืืืื ื-Claude API ืขื ืืืจืืืช OCR ืืคืืจืืืช
- ืงืืืช ืชืืฆืืืช JSON ืืกืืืืืช
- ืืืืจื ืืืงืื
- ืืืขืจืืช ืขืืืืช ืืื ืืกืืก ื ืชืื ืื
- ืื ืืขืืืื ืืชืืฆืข ืืืื ืืืช
- ืืงืืฆืื ืืื ื ื ืฉืืจืื ืืฉืจืช
- ืืชืืฆืืืช ืืืฆืืืช ืืฉืืจืืช ืืืงืื
[Frontend] โ [Backend] โ [Claude API] โ [Backend] โ [Frontend]
- ืืขืืืช ืงืืืฅ: ืืืฉืชืืฉ ืืืืจ ืงืืืฅ PDF/ืชืืื ื
- ืืืจื: ืืงืืืฅ ืืืืจ ื-Base64 ืื ืฉืื ืืฉืจืช
- ืขืืืื: ืืฉืจืช ืฉืืื ื-Claude API ืขื ืืืจืืืช OCR ืืคืืจืืืช
- ื ืืชืื: Claude ืื ืชื ืืช ืืชืืืฉ ืืืืืืจ JSON ืืกืืื
- ืชืฆืืื: ืืชืืฆืืืช ืืืฆืืืช ืืืฉืชืืฉ ืืืืฉืง ืืกืืืจ
ืขืืืื ืชืืืฉ ืฉืืจ ืืืืฆืขืืช Claude AI
ืืงืฉื:
{
"base64Data": "base64_encoded_file_content",
"mediaType": "application/pdf" | "image/jpeg" | "image/png",
"apiKey": "optional_api_key"
}ืชืืืื:
{
"employeeInfo": {
"name": "ืฉื ืืขืืื",
"idNumber": "ืืกืคืจ ืช.ื",
"month": "ืืืืฉ ืฉื ื"
},
"categories": {
"regular": { "total": 0, "items": [] },
"overtime": { "total": 0, "items": [] },
"travel": { "total": 0, "items": [] },
"other": { "total": 0, "items": [] }
},
"summary": {
"totalIncome": 0,
"netSalary": 0,
"grossSalary": 0
}
}ืืืืงืช ืชืงืื ืืช ืืฉืจืช
ืชืืืื:
{
"status": "OK",
"message": "Server is running"
}ืืืคืชื ืืืจ ืืืืืจ ืืงืืืฅ server/.env ืืืืื ืืฉืืืืฉ.
-
ืงืืืฅ ืกืืืื (ืืืจ ืืืืืจ):
# ืงืืืฅ server/.env ืืืจ ืืืื: CLAUDE_API_KEY=sk-ant-api03-... -
ืืจื ืืืืฉืง: ืืคืฉืจ ืืืื ืืก API key ืืื ืืช ืืืืฉืง ืืืชืจ
-
ืืฉืชื ื ืกืืืื:
export CLAUDE_API_KEY=your_api_key_here
- ื-API key ืืืืืจ ืืืืื ืืฉืืืืฉ
- ืงืืืฅ
.envืืืื ื-.gitignore(ืื ืืืขืื ื-GitHub) - ืืืคืชื ืคืขืื ืื ืืืง
payroll/
โโโ src/ # Frontend React
โ โโโ App.js # ืืคืืืงืฆืื ืจืืฉืืช
โ โโโ PayrollProcessor.js # ืจืืื ืขืืืื ืชืืืฉืื
โ โโโ App.css # ืขืืฆืื
โ โโโ index.js # ื ืงืืืช ืื ืืกื
โโโ server/ # Backend Express
โ โโโ server.js # ืฉืจืช API
โ โโโ package.json # ืชืืืืืช ืฉืจืช
โ โโโ .env # ืืืืจืืช ืกืืืื
โโโ public/ # ืงืืฆืื ืกืืืืื
โ โโโ index.html # HTML ืืกืืกื
โโโ ๐ฅ ืืืืืืช ืืืืจืืืื/ # ืงืืฆื ืืืืื
โ โโโ process_flow_demo.html # ืืืืื ืืื ืืจืืงืืืืืช
โ โโโ windows_setup_guide.html # ืืืจืื Windows ืืชืงืื
โ โโโ interactive_cmd_demo.html # ืืืืืช CMD ืืื ืืจืืงืืืืืช
โ โโโ Video_demo.mp4 # ืกืจืืื ืืืืื
โโโ ๐ ืชืืขืื ืืชืงืื/ # ืืกืืื ืคืืชืื
โ โโโ BUILD_DEMONSTRATION.md # ืชืืืื ืืื ืืื
โ โโโ DEVELOPMENT_STEPS.md # ืฉืืื ืคืืชืื
โ โโโ PRESENTATION_SLIDES.md # ืืฆืืช ืืงืฆืืขืืช
โ โโโ TECHNICAL_DEMO.js # ืืืืื ืืื ืืช
โโโ package.json # ืชืืืืืช frontend
โโโ setup_windows.bat # ืืชืงื ื ืืืืืืืืช Windows
โโโ start.sh # ืกืงืจืืคื ืืคืขืื Linux/Mac
โโโ test_upload.js # ืืืืงืช API
โโโ salary.pdf # ืงืืืฅ ืืืืื
โโโ README.md # ืืกืื ืื
server/server.js- ืืืื ืืช ืื ืืืืืงืช ืืฉืจืช ืืืืืจืืืช ื-Claudesrc/PayrollProcessor.js- ืืจืืื ืืจืืฉื ืฉื ืืืืฉืงprocess_flow_demo.html- ืืืืื ืืื ืืจืืงืืืืืช ืืจืฉืืื!windows_setup_guide.html- ืืืจืื Windows ืืชืงืืsetup_windows.bat- ืืชืงื ื ืืืืืืืืช ื-Windowssalary.pdf- ืงืืืฅ ืืืืื ืืืืืงืืช
- React 18: ืกืคืจืืืช JavaScript ืืื ืืืช ืืืฉืง ืืฉืชืืฉ
- Tailwind CSS: framework CSS ืืืจืื ืืืืจื ื
- Lucide React: ืืืงืื ืื ืืืืจื ืืื
- Create React App: ืืืืจืช ืกืืืืช ืคืืชืื
- Node.js: ืกืืืืช JavaScript ืืฉืจืช
- Express: framework ืืฉืจืช HTTP
- Multer: ืืืคืื ืืืขืืืช ืงืืฆืื
- CORS: ืคืชืจืื ืืขืืืช Cross-Origin
- node-fetch: ืกืคืจืืื ืืืงืฉืืช HTTP
- dotenv: ื ืืืื ืืฉืชื ื ืกืืืื
- Claude 3.5 Sonnet API: ืื ืืข OCR ืืชืงืื ื-Anthropic
- PDF Support: ืขืืืื ืืฉืืจ ืฉื ืงืืฆื PDF
- Hebrew/Arabic OCR: ืชืืืื ืืืงืกื ืื-ืืืืื ื
- JSON Parsing: ื ืืชืื ืืืื ื ืฉื ืชืืฆืืืช
-
ืฉืจืช ืื ืืืื ืขื ืคืืจื 3001
# ืืืืง ืฉืืฉืจืช ืจืฅ curl http://localhost:3001/api/health # ืื ืื, ืืคืขื ืืช ืืฉืจืช cd server && npm start
-
ืฉืืืืช API Key
- ืืื ืฉืืืคืชื ื ืืื ืืงืืืฅ
server/.env - ืื ืืื ืก ืืคืชื ืืจื ืืืืฉืง
- ืืื ืฉืืืคืชื ื ืืื ืืงืืืฅ
-
ืฉืืืืช CORS
- ืืฉืจืช ืืืจ ืืืืืจ ืขื CORS
- ืืื ืฉืืืงืื ื ืืฆื ืขื ืคืืจื 3000
-
ืงืืืฅ ืืืื ืืื
- PDF: ืืงืกืืืื 30MB
- ืชืืื ืืช: ืืงืกืืืื 5MB
-
ืืืืืช OCR ื ืืืื
- ืืฉืชืืฉ ืืงืืฆื PDF ืืืงืื ืชืืื ืืช
- ืืื ืฉืืืงืกื ืืจืืจ ืืงืจืื
ืืืขืจืืช ืชืืืืช ื:
- โ ืขืืจืืช ืืขืจืืืช
- โ ืคืืจืืืื ืฉืื ืื ืฉื ืืกืคืจืื
- โ ืืืืื ืืื ื ืชืืืฉ ืืฉืจืืื ืกืื ืืจืื
- โ ืงืืฆื PDF ืขื 30MB (ืืืืืฅ!)
- โ ืชืืื ืืช JPG, PNG, GIF, WebP ืขื 5MB
- โ ืกืืืื ืืืืืืื ื-4 ืงืืืืจืืืช
- โ ืืืฉืง ืืฉืชืืฉ ืืขืืจืืช
- โ ืืืืืช API keys
- โ ืขืืืื ืืืื ืืืช (ืืื ืฉืืืจื)
- ๐ API keys ืืืื ืื ืืงืืืฅ
.env - ๐ GitHub push protection ืืื ืืขืช ืืฉืืคืช secrets
- ๐ ืืื ืฉืืืจื ืฉื ืงืืฆืื ืื ื ืชืื ืื ืืฉืจืช
- ๐ ืื ืืขืืืื ืืชืืฆืข ืืืื ืืืช
- ๐ ืชืืืื ืืืขืืืช API key ืืจื ืืืืฉืง (ืื ื ืฉืืจ)
ืืคืจืืืงื ืืื ื ืืฆืจ ืืขืืจืช Claude Code - ืืื ืคืืชืื AI ืฉื Anthropic.
ืจืืฆื ืืชืจืื ืืคืจืืืงื?
- ืขืฉื Fork ืืคืจืืืงื
- ืฆืืจ branch ืืืฉ (
git checkout -b feature/amazing-feature) - ืขืฉื commit ืืฉืื ืืืื (
git commit -m 'Add amazing feature') - ืขืฉื push ืbranch (
git push origin feature/amazing-feature) - ืคืชื Pull Request
ืืฉืืืืช ืื ืืขืืืช, ืคืชื Issue ืืคืจืืืงื.
๐ค Generated with Claude Code