اطلب مشروعك
نظام ويب عربي لإدارة العيادة بالكاملمنفّذ ومنشور

نظام إدارة عيادة بيطرية

لصالح: عيادة النهى البيطرية

نظام ويب عربي (من اليمين لليسار) بالدينار العراقي يدير العيادة البيطرية بالكامل، من السجلات الطبية والتلقيحات والمواعيد والحجز الإلكتروني إلى الكاشير والمخزن والموظفين والحضور، ويعمل كتطبيق على الجوال والحاسبة.

An Arabic web system that runs the whole clinicBuilt and deployed

Veterinary Clinic Management System

For: Al-Nuha Veterinary Clinic

An Arabic (right-to-left) web system, priced in Iraqi dinar, that runs a veterinary clinic end to end, from medical records, vaccinations, appointments and online booking to the cashier, inventory, staff and attendance, and installs as an app on phones and desktops.

الحاجة

حدّدت العيادة المتطلبات التي بُني عليها النظام:

  • حفظ سجل كل حيوان وصاحبه وتاريخه الطبي في مكان واحد.
  • معرفة مواعيد التلقيحات القادمة والمتأخرة وتذكير الزبائن بها.
  • إدارة المواعيد، وتمكين الزبائن من الحجز من الجوال.
  • كاشير وفواتير وديون، مع معرفة التكلفة والربح اليومي والشهري.
  • مخزن يعطي تنبيهاً عند نقص المادة أو قرب انتهاء صلاحيتها.
  • جدول شفتات الموظفين ورواتبهم وخصوماتهم (بموافقة المالك)، ومعرفة وقت دخولهم وانصرافهم.
  • واجهة عربية، وعملة الدينار العراقي، وتعمل على الجوال.

الحل

بنينا تطبيق ويب يُثبَّت على الجوال أو الحاسبة (PWA). يدخل كل موظف بحسابه، وتتحدد صلاحياته حسب دوره من جدول صلاحيات يعدّله المالك. وللزبائن صفحة حجز عامة على دومين مستقل لا يظهر عليها غير الحجز، وتصل الحجوزات الجديدة للعيادة بحالة «بانتظار التأكيد».

وتركّز الإضافات الأخيرة على المتابعة اليومية: الموظف يسجّل دخوله وانصرافه من جواله بشرط أن يكون داخل العيادة، وتُلتقط له صورة فورية من الكاميرا. وتصل إشعارات فورية عند حجز جديد، أو طلب خصم، أو تلقيحات مستحقة، أو نقص مخزن، أو تأخر موظف.

الميزات الرئيسية

  • السجل الطبي: حيوانات وأصحابها، زيارات وتشخيص وعلاج وعمليات، حالات مبيت بأجرة يومية، وبطاقة تلقيح قابلة للطباعة.
  • التلقيحات والتذكير: قائمة الجرعات القادمة والمتأخرة، ورسالة تذكير جاهزة تُفتح على واتساب الزبون بضغطة واحدة.
  • المواعيد والحجز الإلكتروني: صفحة حجز عامة (أوقات ثابتة، سعة لكل وقت، ساعات وأيام دوام قابلة للتعديل، وحماية من الحجوزات الوهمية).
  • الكاشير والفواتير والديون: سعر وتكلفة لكل بند، خصم، دفع جزئي، إرسال الفاتورة نصاً على واتساب الزبون، وتقارير مبيعات وأرباح.
  • المخزن: خصم تلقائي عند البيع، وتنبيه نقص وقرب انتهاء الصلاحية.
  • الموظفون والشفتات والرواتب: شفت افتراضي مع استثناءات (إجازة أو شفت مختلف)، وخصومات لا تُعتمد إلا بموافقة المالك.
  • الحضور والانصراف: تحقق من الموقع ضمن نطاق من العيادة (50 متراً افتراضياً) مع صورة فورية، وتقرير شهري يقارن بالشفت (تأخر، انصراف مبكر، غياب).
  • إشعارات فورية: حجز جديد، طلب خصم، تلقيحات، مخزن، تأخر الموظف، وتذكير الموظف بتسجيل الدخول والانصراف.

الأدوار والصلاحيات

خمسة أدوار: المالك، المدير، الطبيب، الاستقبال، المحاسب.

  • جدول صلاحيات يعدّله المالك لكل دور.
  • للمالك وحده: الموافقة على الخصومات وتعديل الصلاحيات.
  • سجل العمليات الحساسة (الدخول، تغيير كلمات المرور، التنزيل، الحذف…) يراه المالك والمدير.
  • الطبيب يرى السجلات الطبية والتلقيحات والمواعيد. الاستقبال يرى الحيوانات والمواعيد والكاشير. المحاسب يرى الفواتير والمخزن والتكاليف والتقارير والرواتب.
  • كل موظف يرى حضوره فقط، ولا يرى صور غيره.

النتيجة

  • النظام منشور ويعمل على الإنترنت، مع صفحة الحجز العامة على دومين مستقل.
  • 105 فحوصات أمان آلية مخصصة نجحت كلها في آخر تشغيل، ولا يُظهر فحص المكتبات أي ثغرة.
  • اتصال محمي: TLS 1.2/1.3 فقط وشهادة صالحة وترويسات حماية، مع ضبط SPF وDMARC وDNSSEC.

التقنيات

الخادمNode.js (بدون إطار عمل) · PostgreSQL على Supabase · pg · web-push
الواجهةJavaScript · HTML · CSS بدون أطر عمل · PWA (Service Worker وManifest) · الكاميرا والموقع في المتصفح
الإشعارات والاستضافةWeb Push · Railway مع GitHub (نشر تلقائي) · Cloudflare للدومين وDNS
الأمانتشفير كلمات المرور (scrypt) · جلسات · حماية CSRF · حد لمحاولات الدخول · ترويسات أمان · سجل عمليات

الحالة الحالية

منفّذ ومنشور. أُضيف الحضور والانصراف والإشعارات حديثاً.

  • تجربة الحضور (الكاميرا وGPS) والإشعارات على أجهزة الموظفين الحقيقية ما زالت قيد التنفيذ.
  • تذكير الزبون بالتلقيح يتم بضغطة من الموظف على واتساب، وليس إرسالاً تلقائياً.
  • النظام مبني لعيادة واحدة (غير متعدد العيادات).

لقطات من النظام

لوحة التحكم
لوحة التحكم: مواعيد اليوم، التلقيحات المستحقة، حالات المبيت، المبيعات والأرباح، وتنبيه حجوزات الموقع (بأرقام تجريبية).
ملف حيوان
ملف حيوان: بياناته وصاحبه، موعد الجرعة القادمة، تبويبات السجل الطبي والتلقيحات والمبيت، وأزرار الزيارة والفاتورة وكارت التلقيح.
قائمة التلقيحات والتذكيرات (متأخرة، خلال 7 أيام، خلال 30 يوماً) مع زر «تذكير» الذي يفتح واتساب الزبون.
قائمة التلقيحات والتذكيرات (متأخرة، خلال 7 أيام، خلال 30 يوماً) مع زر «تذكير» الذي يفتح واتساب الزبون.
الكاشير
الكاشير: اختيار الخدمات والمنتجات وبناء الفاتورة مع الأسعار والإجمالي.
صفحة الحجز العامة للزبائن
صفحة الحجز العامة للزبائن: بيانات الزبون والحيوان، واختيار اليوم والوقت المتاح.
سجل الحضور والانصراف مع فتح صورة التسجيل الفورية (صورة تجريبية مرسومة، وليست لشخص حقيقي).
سجل الحضور والانصراف مع فتح صورة التسجيل الفورية (صورة تجريبية مرسومة، وليست لشخص حقيقي).

كل الأسماء والأرقام والصور بيانات تجريبية وهمية.

The need

The clinic set the requirements the system was built on:

  • Keep each animal's record, its owner and its medical history in one place.
  • Know which vaccinations are upcoming or overdue and remind owners.
  • Manage appointments and let customers book from their phones.
  • Cashier, invoices and debts, with cost, daily and monthly profit.
  • Inventory that warns about low stock and near-expiry items.
  • Staff shifts, salaries and deductions (owner approval), and when staff arrive and leave.
  • Arabic interface, Iraqi dinar, and phone-friendly.

The solution

We built an installable web app (PWA). Each employee signs in with their own account, and access follows their role through a permission table the owner can edit. Customers get a public booking page on a separate domain that exposes nothing but booking, and new bookings reach the clinic as «pending confirmation».

Recent additions focus on daily follow-up: employees check in and out from their phone only when they are inside the clinic, with a live photo taken by the camera. Push notifications arrive for new bookings, deduction requests, due vaccinations, low stock and late staff.

Key features

  • Medical records: animals and owners, visits, diagnosis and treatment, surgeries, inpatient stays with a daily rate, and a printable vaccination card.
  • Vaccinations and reminders: upcoming and overdue doses, and a ready-made reminder that opens the owner's WhatsApp chat in one tap.
  • Appointments and online booking: a public booking page (fixed time slots, per-slot capacity, editable working hours and days, protection against fake bookings).
  • Cashier, invoices and debts: price and cost per item, discounts, partial payment, sending the invoice as text on WhatsApp, and sales and profit reports.
  • Inventory: automatic stock deduction on sale, and low-stock and near-expiry alerts.
  • Staff, shifts and payroll: a default shift with exceptions (day off or different shift); deductions take effect only after the owner approves.
  • Attendance: a location check within a radius of the clinic (50 m by default) plus a live photo, and a monthly report against the shift (late, early leave, absence).
  • Instant notifications: new booking, deduction request, vaccinations, inventory, late staff, and reminders to check in and out.

Roles and permissions

Five roles: Owner, Manager, Doctor, Reception, Accountant.

  • A permission table the owner can edit per role.
  • Owner only: approving deductions and editing permissions.
  • An audit log of sensitive actions (sign-ins, password changes, downloads, deletions…) visible to the owner and the manager.
  • Doctors see medical records, vaccinations and appointments. Reception sees animals, appointments and the cashier. The accountant sees invoices, inventory, costs, reports and salaries.
  • Each employee sees their own attendance only, and cannot see other people's photos.

Outcome

  • The system is live on the internet, with the public booking page on its own domain.
  • 105 custom automated security checks all passed on the latest run, and the dependency audit reports no vulnerabilities.
  • A protected connection: only TLS 1.2/1.3 with a valid certificate and security headers, with SPF, DMARC and DNSSEC configured.

Technologies

ServerNode.js (no framework) · PostgreSQL on Supabase · pg · web-push
InterfaceJavaScript · HTML · CSS with no frameworks · PWA (service worker and manifest) · browser camera and geolocation
Notifications and hostingWeb Push · Railway with GitHub (automatic deploys) · Cloudflare for the domain and DNS
Securityscrypt password hashing · sessions · CSRF protection · login rate limiting · security headers · audit log

Current status

Built and deployed. Attendance and notifications were added recently.

  • Trying attendance (camera and GPS) and notifications on staff's real devices is still in progress.
  • The customer vaccination reminder is a one-tap action by staff on WhatsApp, not automatic sending.
  • Built for a single clinic (not multi-clinic).

System screenshots

The dashboard
The dashboard: today's appointments, due vaccinations, inpatient cases, sales and profit, and the banner for bookings from the website (sample numbers).
An animal's file
An animal's file: its details and owner, next dose date, tabs for medical history, vaccinations and inpatient stays, and buttons for a new visit, invoice and vaccination card.
The vaccination and reminder list (overdue, within 7 days, within 30 days) with the «Remind» button that opens the owner's WhatsApp.
The vaccination and reminder list (overdue, within 7 days, within 30 days) with the «Remind» button that opens the owner's WhatsApp.
The cashier
The cashier: choosing services and products and building the invoice with prices and the total.
The public booking page for customers
The public booking page for customers: owner and animal details, and choosing an available day and time.
The attendance log with a check-in photo opened (a drawn sample image, not a real person).
The attendance log with a check-in photo opened (a drawn sample image, not a real person).

All names, numbers and images are fictional sample data.

عندك مشروع مثل هذا؟Have a project like this?

اكتب لنا ما يحتاجه عملك، وسنرد عليك.Tell us what your business needs, and we will reply.

اطلب مشروعك