เกณฑ์การตรวจงาน การแข่งขันทักษะวิชาชีพ และทักษะพื้นฐาน

ประเภทวิชาการโปรแกรมคอมพิวเตอร์และการสื่อสาร สาขาวิชาการโปรแกรมคอมพิวเตอร์/สาขาวิชาคอมพิวเตอร์ธุรกิจโปรแกรมคอมพิวเตอร์

ทักษะการโปรแกรมด้วยภาษา ระดับประกาศนียบัตรวิชาชีพชั้นสูง (ปวส.)

ระดับสถานศึกษา ระดับจังหวัด ระดับภาค และระดับชาติ ปีการศึกษา 2568-2570
เทคโนโลยี: Node.js + Vue 3 + Nuxt + Tailwind CSS + MySQL/MariaDB/PostgreSQL + Docker + GitLab CI/CD
ที่ รายละเอียด คะแนน หมายเหตุ
เต็ม ที่ได้
ส่วนที่ 4 การพัฒนาเว็บแอปพลิเคชัน (Web Application) (50 คะแนน) : ระบบ Recruitment System (รับสมัครงาน)
1. การออกแบบผังงาน (Flow Diagram) ตามความต้องการของผู้ใช้ - 5 คะแนน
1.1 ผังงานระบบการเข้าสู่ระบบ (Login Flow) 1
แสดงกระบวนการ Login สำหรับ HR และ Applicant พร้อม JWT Token validation และการตรวจสอบสิทธิ์ผู้ใช้
1.2 ผังงานกระบวนการของผู้ดูแลระบบ (HR Admin) 1
แสดงผังงานการจัดการตำแหน่งงาน, ดูใบสมัคร, คัดเลือกผู้สมัคร, ส่งอีเมลแจ้งผล และการบริหารจัดการระบบรับสมัคร
1.3 ผังงานกระบวนการของผู้สมัครงาน (Applicant) 1
แสดงผังงานการดูตำแหน่งงาน, กรอกใบสมัคร, อัปโหลด Resume, ติดตามสถานะ และการรับการแจ้งเตือน
1.4 ผังงานกระบวนการของผู้จัดการ (HR Manager) 1
แสดงผังงานการอนุมัติการรับสมัคร, ดูรายงานสถิติ, จัดการกระบวนการสัมภาษณ์ และการตัดสินใจคัดเลือก
1.5 ผังงานภาพรวมของระบบ (System Flow Overview) 1
แสดงการเชื่อมโยง Job Posting → Application → Screening → Interview → Selection และกระบวนการแจ้งเตือนทางอีเมล
2. การออกแบบฐานข้อมูล (Database Design) พร้อม ER-Diagram - 5 คะแนน
2.1 ตารางฐานข้อมูลครบถ้วน 1
มีการสร้างฐานข้อมูลอย่างน้อย 9 ตาราง: users, job_postings, applications, documents, interviews, application_status_history, departments, skills, applicant_skills พร้อมกำหนดฟิลด์ที่เหมาะสม
2.2 ความสัมพันธ์ของตาราง 1
ตารางฐานข้อมูลมีความสัมพันธ์กันอย่างเหมาะสมผ่าน Foreign Keys เพื่อรักษาความสมบูรณ์ของข้อมูล (Referential Integrity)
2.3 ประเภทข้อมูล (Data Types) 1
เลือกใช้ประเภทข้อมูลเหมาะสม เช่น VARCHAR, INT, DATE, TEXT, DECIMAL, ENUM สำหรับ employment_type และ status
2.4 ER-Diagram 1
แสดง Entity Relationship Diagram (ERD) สมบูรณ์ที่แสดงความสัมพันธ์ระหว่าง Entity ทุกประเภท (One-to-One, One-to-Many, Many-to-Many) อย่างชัดเจน
2.5 มาตรฐานการตั้งชื่อ 1
ตั้งชื่อตารางและฟิลด์เป็นมาตรฐาน (snake_case) และสื่อความหมาย เพื่อความเข้าใจและบำรุงรักษาที่ง่าย
3. การออกแบบหน้าจอด้วย Vue 3 + Nuxt + Tailwind CSS - 5 คะแนน
3.1 HR Admin Dashboard 1
Template Layout สำหรับหน้าจอผู้ดูแลระบบ HR ครอบคลุมการจัดการตำแหน่งงาน, ดูใบสมัคร, คัดเลือกผู้สมัคร และการส่งอีเมลแจ้งผล
3.2 Applicant Job Portal 1
Template Layout สำหรับหน้าจอผู้สมัครงาน ครอบคลุมการดูตำแหน่งงาน, กรอกใบสมัคร, อัปโหลด Resume, และติดตามสถานะ
3.3 HR Manager Reports 1
Template Layout สำหรับหน้าจอผู้จัดการ HR ครอบคลุมการอนุมัติการรับสมัคร, ดูรายงานสถิติ, และจัดการทีม HR
3.4 Main Dashboard 1
Template Layout สำหรับหน้าจอหลัก แสดงสถิติการสมัครงาน, ตำแหน่งที่เปิดรับ, และ hiring pipeline
3.5 Login Screen 1
Template Layout สำหรับหน้าจอเข้าสู่ระบบ พร้อมฟอร์ม Login และ role selection (HR/Applicant/HR Manager)
4. การออกแบบ RESTful API Service สำหรับใช้งานในระบบ - 5 คะแนน
4.1 RESTful Design 1
ออกแบบ API ตามหลัก RESTful โดยใช้ HTTP Methods (GET, POST, PUT, DELETE) อย่างถูกต้อง เช่น GET /api/jobs, POST /api/applications
4.2 Endpoint Naming 1
ตั้งชื่อ Endpoint สื่อความหมาย เช่น /api/jobs/{id}/applications, /api/applications/{id}/documents
4.3 HTTP Status Codes 1
Response Body สอดคล้องกับ HTTP Status Code: 200 (Success), 201 (Application submitted), 400 (Validation errors), 401 (Unauthorized), 403 (Job posting expired), 404 (Job not found), 413 (File too large)
4.4 Error Handling 1
รองรับกรณีเกิด Error ด้วย Error handling middleware, file validation (PDF, DOC, DOCX), และ file format validation
4.5 API Security 1
ความปลอดภัยของ API โดยใช้ JWT Token authentication และ role-based authorization สำหรับควบคุมการเข้าถึง
5. พัฒนาระบบ Back-end การพัฒนา API (Node.js) - 10 คะแนน
5.1 API GET with Parameters 1
API GET พร้อมรับค่า: GET /api/jobs?department=IT&salary_min=50000&location=Bangkok&keyword=developer
5.2 API POST with Body 1
API POST รับข้อมูลจาก Body สำหรับส่งใบสมัครงานพร้อม validation และ duplicate check
5.3 File Upload API 1
API สำหรับอัปโหลดไฟล์: POST /api/documents สำหรับ Resume (PDF, DOC, DOCX) พร้อม virus scan และ file size limit
5.4 JWT Login API 1
API Login JWT: /api/auth/login สร้าง JWT Token พร้อม role information (HR/Applicant/HR Manager)
5.5 Exception Handling 1
Exception Handling: try-catch, validation middleware, file type validation, และ error response format
5.6 Response Format 1
Response เหมาะสม: รูปแบบ JSON standard { "status": "success", "message": "Application submitted", "data": {...} }
5.7 API Documentation 1
คำอธิบาย API: API Documentation โดยใช้ Swagger/OpenAPI Specification
5.8 Parameter Documentation 1
Parameter ชัดเจน: ระบุ query, path, body parameters พร้อมคำอธิบายและตัวอย่าง
5.9 Code Structure 1
โครงสร้างดี: แยกไฟล์ routes, controllers, models, middleware, services ตามหลัก MVC Pattern
5.10 API Security 1
ความปลอดภัย: JWT verification middleware, role checking, file security, data sanitization
6. พัฒนาระบบ Front-end (Vue 3 + Nuxt + Tailwind CSS) - 10 คะแนน
6.1 Responsive Layout 1
Layout Responsive: ใช้ Tailwind CSS responsive design ที่รองรับ Desktop, Tablet, Mobile
6.2 JWT Authentication 1
ระบบ Login JWT: Authentication middleware, token storage, role-based routing
6.3 Role-based Login 1
แยกระบบ Login ตามระดับ: Applicant/HR/HR Manager routes และ permissions
6.4 CRUD Operations 1
CRUD สมบูรณ์: สร้างตำแหน่งงาน (Create), ดูรายการงาน/ใบสมัคร (Read), แก้ไขใบสมัคร/ตำแหน่งงาน (Update), ลบตำแหน่งงาน (Delete)
6.5 File Upload Component 1
แนบไฟล์: File upload component สำหรับ Resume, Cover Letter, Portfolio พร้อม preview และ progress bar
6.6 Data Editing 1
แก้ไขข้อมูล: Edit application form และ job posting management
6.7 Delete Confirmation 1
แจ้งเตือนการลบ: Confirmation modal ก่อนลบตำแหน่งงานหรือใบสมัคร
6.8 Permission-based Display 1
แสดงข้อมูลตามสิทธิ์: Applicant เห็นงานที่เปิดรับ, HR เห็นใบสมัครในแผนกที่ดูแล, HR Manager เห็นข้อมูลทั้งหมด
6.9 Search & Filter 1
ระบบค้นหา/Filter: กรองตามแผนก, ตำแหน่ง, เงินเดือน, สถานะ, วันที่สมัคร
6.10 Pagination & Validation 1
แบ่งหน้าแสดงข้อมูล + Validate Frontend + Error Handling Frontend + แสดงข้อความผิดพลาด (Toast notifications)
7. DevOps Integration (Docker + GitLab CI/CD) - 10 คะแนน
7.1 Backend Dockerfile 2
Dockerfile สำหรับ Backend: Node.js Alpine image, multi-stage build เพื่อลดขนาดและเพิ่มความปลอดภัย
7.2 Frontend Dockerfile 2
Dockerfile สำหรับ Frontend: Nuxt.js build และ Nginx serve พร้อม static file optimization
7.3 docker-compose 2
docker-compose: เชื่อมโยง Backend + Frontend + Database + File Storage + Email Service + Redis
7.4 Pipeline Configuration 2
Pipeline config: .gitlab-ci.yml ครอบคลุม stages: build (สร้าง images), test (unit & integration tests, security scans), deploy (deploy ไป test/production)
7.5 Auto Build/Test 2
Auto Build/Test: Trigger เมื่อ push ไป GitLab, สร้าง container อัตโนมัติ พร้อม automated testing
Vue Components ที่ต้องมี
8.1 Core Components -
JobPostingForm.vue - ฟอร์มสร้างตำแหน่งงาน
JobListing.vue - รายการตำแหน่งงาน
ApplicationForm.vue - ฟอร์มสมัครงาน
ApplicationList.vue - รายการใบสมัคร
DocumentUpload.vue - อัปโหลดเอกสาร Resume
InterviewScheduler.vue - จัดการตารางสัมภาษณ์
StatusTimeline.vue - แสดงสถานะใบสมัคร
Dashboard.vue - หน้าหลัก Dashboard
LoginForm.vue - ฟอร์มเข้าสู่ระบบ
Pagination.vue - แบ่งหน้า
FilterPanel.vue - กรองและค้นหา
รวม ระบบ Recruitment System (รับสมัครงาน) - Web Application 50 คะแนนเต็ม
หมายเหตุ: เกณฑ์การตรวจงานนี้ใช้สำหรับการประเมินระบบ Recruitment System (รับสมัครงาน) ตามมาตรฐานการพัฒนาซอฟต์แวร์สมัยใหม่
การให้คะแนนจะพิจารณาจากความครบถ้วน ความถูกต้อง และคุณภาพของงานที่ส่ง
API Endpoints ที่ต้องมี: Auth (login, register, logout, profile), Jobs (CRUD + applications), Applications (CRUD + status update + my-applications), Documents (upload, download, delete), Interviews (CRUD + my-interviews), Reports (statistics, pipeline, analytics)