โปรเจกต์รายวิชาการพัฒนาเว็บแอปพลิเคชัน (Web Application Development) และ ระบบฐานข้อมูล (Database Systems) ที่ มหาวิทยาลัยราชภัฏสงขลา
ระบบนี้ถูกพัฒนาขึ้นเพื่อใช้ในการบริหารจัดการข้อมูลสำคัญภายในคลินิกสัตว์เลี้ยงแบบครบวงจร ตั้งแต่ข้อมูลเจ้าของสัตว์ สัตว์เลี้ยง การนัดหมายของสัตวแพทย์ ไปจนถึงการบันทึกประวัติการรักษา
ระบบจัดการคลินิกสัตว์มีฟังก์ชันหลักในการบริหารจัดการข้อมูล เพื่อให้การทำงานในคลินิกเป็นไปอย่างราบรื่น:
- ระบบยืนยันตัวตน (Authentication): รองรับการ เข้าสู่ระบบ (Login) และ สมัครสมาชิก (Register) สำหรับผู้ใช้งานหลายบทบาท (Admin, Veterinarian, Staff)
- การจัดการผู้ใช้งาน (User Management): ระบบจัดการข้อมูลบุคลากรในคลินิก (สัตวแพทย์และเจ้าหน้าที่)
- การจัดการข้อมูลเจ้าของสัตว์ (Owner Management): บันทึก เพิ่ม แก้ไข และลบข้อมูลเจ้าของสัตว์เลี้ยง
- การจัดการข้อมูลสัตว์เลี้ยง (Pet Management): บันทึกข้อมูลสัตว์เลี้ยงของเจ้าของแต่ละราย (ชื่อ, ชนิด, พันธุ์, เพศ, วันเกิด)
- ระบบใบนัดหมาย (Appointment System): จัดการตารางนัดหมายระหว่างเจ้าของ/สัตว์เลี้ยง กับสัตวแพทย์ พร้อมฟังก์ชันกรองข้อมูลตามช่วงวันที่
- ประวัติการรักษา (Treatment Records): บันทึกประวัติการวินิจฉัย การให้ยา/การรักษา โดยสามารถอ้างอิงถึงใบนัดหมายที่เกี่ยวข้องได้
- อินเทอร์เฟซผู้ใช้ (UI): ออกแบบด้วย HTML/CSS ที่เน้นความสะอาด ใช้งานง่าย และรองรับการแสดงผลบนอุปกรณ์ที่หลากหลาย (Responsive Design)
โปรเจกต์นี้ใช้เทคโนโลยีหลักแบบ Full-Stack JavaScript โดยใช้ Node.js เป็น Runtime:
| ส่วน | เทคโนโลยี | รายละเอียด |
|---|---|---|
| Frontend | HTML, CSS | โครงสร้างและส่วนแสดงผลของหน้าเว็บ |
| Styling | Custom CSS | ใช้ CSS พื้นฐานเพื่อให้หน้าเว็บมีโทนสว่างและอ่านง่าย |
| Client-side Logic | JavaScript (Vanilla) | ใช้ Fetch API สำหรับการติดต่อ Backend และจัดการ DOM |
| Backend | Node.js + Express.js | สร้าง RESTful API สำหรับจัดการข้อมูล |
| Database | MySQL (ผ่าน mysql2/promise) |
ใช้เก็บข้อมูลหลักทั้งหมดของระบบ |
| Security | express-session, bcryptjs |
จัดการ Session และการเข้ารหัสรหัสผ่าน |
โปรเจกต์นี้จำเป็นต้องติดตั้ง Node.js และระบบจัดการฐานข้อมูล MySQL ก่อน
- Node.js และ npm: ติดตั้ง Node.js (แนะนำเวอร์ชัน LTS)
- MySQL Server: ติดตั้งและรัน MySQL บนเครื่องของคุณ
-
Clone Repository:
git clone https://github.com/James28Dev/Pet-Clinic-Webapp.git cd Pet-Clinic-Webapp -
ติดตั้ง Dependencies ของ Node.js:
npm install
-
ตั้งค่าฐานข้อมูล (Database Setup):
- สร้าง Database: เข้าสู่ MySQL และสร้าง Database ชื่อ
pet_clinic_db(หรือชื่อตามที่กำหนดในไฟล์.env) - Import Schema: รันสคริปต์ SQL ในไฟล์
database.sqlเพื่อสร้างตารางและข้อมูลเริ่มต้น:mysql -u [DB_USER] -p pet_clinic_db < database.sql - ตั้งค่าไฟล์
.env: ตรวจสอบและแก้ไขไฟล์.envใน Root Directory ให้ตรงกับการตั้งค่า MySQL Server ของคุณ (โดยเฉพาะDB_USERและDB_PASSWORD):# ตัวอย่าง .env PORT=3000 DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=pet_clinic_db
- สร้าง Database: เข้าสู่ MySQL และสร้าง Database ชื่อ
-
รันโปรเจกต์:
# สำหรับการรันแบบ Production npm start # หรือ สำหรับการพัฒนา (ใช้ nodemon ถ้ามี) npm run dev
-
เปิดหน้าเว็บ: เปิดเบราว์เซอร์ไปที่:
http://localhost:3000(หรือพอร์ตที่คุณตั้งค่าไว้ใน
.env)
ฐานข้อมูล pet_clinic_db ประกอบด้วยตารางหลักที่เชื่อมโยงกันดังนี้:
| ตาราง (Table) | บทบาท |
|---|---|
users |
ข้อมูลบัญชีผู้ใช้งานระบบ (Login) และสิทธิ์ (Admin, Vet, Staff) |
owners |
ข้อมูลเจ้าของสัตว์เลี้ยง (ชื่อ, โทรศัพท์, ที่อยู่) |
veterinarians |
ข้อมูลสัตวแพทย์ |
pets |
ข้อมูลสัตว์เลี้ยง (เชื่อมโยงกับ owners) |
appointments |
ข้อมูลใบนัดหมาย (เชื่อมโยงกับ owners, pets, veterinarians) |
treatments |
ข้อมูลประวัติการรักษา (เชื่อมโยงกับ pets, veterinarians, และอ้างอิง appointments ได้) |
โปรเจกต์นี้เผยแพร่ภายใต้ MIT License ดูรายละเอียดเพิ่มเติมในไฟล์ LICENSE.