MediCare Doctor Appointment System (Web)
MediCare Doctor Appointment System (Web)
Doctor Appointment System (Web) is a Laravel-powered hospital website and administration platform with an integrated mobile application ecosystem.
The platform provides:
- A multilingual public hospital website
- A patient appointment booking system
- A complete administrative back office for managing:
- Content
- Clinic operations
- Appointments
- Users
- Messages
- Settings
- Moderation
- Audit activities
This solution is ideal for:
- Hospitals
- Clinics
- Doctors
- Healthcare institutions
- Medical service providers
Target Audiences
Public Visitors
Public users can browse:
- Hospital information
- Departments
- Doctors
- Staff profiles
- Services
- Projects
- FAQs
- Blog posts
- Contact details
Registered Patients
Patients can:
- Book appointments online
- Submit comments and reviews
- Interact with patient-facing forms
- Manage appointments from their dashboard
Doctors & Staff
Doctors and staff members appear on publicly accessible profile pages managed through the admin dashboard.
Administrators
Administrators manage:
- Website content
- Clinic records
- Appointments
- Users
- Messages
- Settings
- Logs and moderation
Super Administrators
Super admins manage:
- Roles and permissions
- Protected administrator accounts
- System-wide configuration
Public Website
Home Page
The homepage presents the hospital brand and key patient conversion areas.
It may include:
- Hero sliders
- Department and service highlights
- Mission and vision content
- Research and care-method sections
- Testimonials
- Counters and statistics
- Skills and achievements
- Blog previews
- Calls-to-action
- Newsletter subscription area
- Footer navigation
Most homepage content is managed from the admin dashboard through:
- Content modules
- Sliders
- Testimonials
- Skills
- Counters
- Menus
- Blog posts
- Site settings
Slider Button Rules
Slider buttons are optional.
When a slider button URL is provided, the corresponding button label should also be entered in all supported languages.
Departments
Departments are managed from:
/admin/departments
Public routes:
- /departments
- /departments/{slug}
Department Features
Department records support:
- Multilingual titles and descriptions
- Featured images
- Image galleries
- YouTube video galleries
- SEO keywords
- Display ordering
The same records are also used by the Flutter mobile application APIs.
Doctors
Doctors are managed from:
/admin/doctors
Public routes:
- /doctors
- /doctor/{slug}
Doctor Profile Features
Doctor pages display:
- Name and identity
- Designation
- Department
- Avatar or profile image
- Contact information
- Social media links
- Biography
- Professional experience
- Ratings and reviews
- Appointment booking form for logged-in patients
Doctor records are also used by the mobile application.
Staff
Staff members include:
- Nursing leaders
- Patient relations staff
- Laboratory coordinators
- Radiology operations leads
- Rehabilitation coordinators
- Hospital administrators
Staff are managed from:
/admin/staff
Public routes:
- /staff
- /staff/{slug}
Staff Page Features
Staff profiles use a doctor-style layout but do not include appointment booking functionality.
Services
Services are managed from:
/admin/services
Public routes:
- /services
- /services/{slug}
Service Features
Service records support:
- Multilingual content
- Featured images
- Image galleries
- YouTube video galleries
- SEO metadata
- Display ordering
Projects
Projects are managed from:
/admin/projects
Public routes:
- /projects
- /projects/{slug}
Project Features
Projects may represent:
- Facility upgrades
- Hospital programs
- Quality initiatives
- Care improvements
Supported fields include:
- Translated content
- Galleries
- Videos
- Categories
- Tags
- SEO metadata
- Start and end dates
- Client information
- Country
- Department association
Blog
Blog posts are managed from:
/admin/blog-posts
Public routes:
- /blog
- /blog/{slug}
Blog Features
The blog system supports:
- Categories and tags
- Recent posts
- Search and navigation areas
- Comments and replies
Comment Moderation
Frontend comments remain hidden until approved from the admin dashboard.
FAQs & Custom Pages
FAQs
Managed from:
/admin/faqs
Public route:
/faqs
Custom Pages
Managed from:
/admin/pages
Public route:
/pages/{slug}
Suitable Use Cases
Custom pages are suitable for:
- Privacy Policy
- Terms of Service
- Hospital information
- Standalone informational pages
Contact & Newsletter
Contact Page
The contact page uses Site Settings for:
- Address
- Phone number
- Social links
- Map information
Contact submissions are stored in:
/admin/contact-messages
Queued email notifications can also be triggered.
Newsletter System
Newsletter subscriptions are collected from the website footer and managed from:
/admin/newsletter-subscribers
Appointment Booking
Patients can book appointments from:
- /doctor/{slug}
- /make-appointment
Booking Validation Rules
The booking flow validates:
- User login status
- Doctor selection
- Phone number
- Appointment date and time
- Notes or messages
- Closed dates
- Weekend restrictions
- Email verification (where enabled)
Submitted appointments become visible in the admin appointment list.
Cookie Consent & Analytics
The frontend includes a cookie consent banner.
Features
- Consent is stored for future visits
- Google Analytics loads only after cookie acceptance
Admin Dashboard
Dashboard Overview
Primary admin entry point:
/admin/dashboard
The dashboard provides quick access to:
- Content management
- Clinic operations
- User management
- Messages
- Settings
- Activity logs
Menu Management
Top Menu
Managed from:
/admin/menus/top
Supports:
- Nested dropdown menus
- Multi-level navigation
- Translations
Bottom Menu
Managed from:
/admin/menus/bottom
Used for footer navigation.
Taxonomies
Managed from:
- /admin/categories
- /admin/tags
Supported Modules
Taxonomies organize:
- Pages
- Services
- Projects
- Blog posts
- Related content
Content Modules
The system includes reusable content modules for:
- Our Mission
- Home CTA
- Research Method
- 404 Page
- Testimonials
- Sliders
- Skills
- Skills Section
- Counters
These modules allow administrators to update the website without code changes.
Blog & Moderation
Administrators can:
- Create blog posts
- Edit blog posts
- Assign categories and tags
- Upload featured images
- Configure SEO settings
- Moderate comments and replies
Moderation Rules
- Approved comments become public
- Rejected or deleted comments remain hidden
Events
Events are available in:
- List view
- Calendar view
Suitable for hospital activities and schedules.
Clinic Management
The Clinic module manages:
- Departments
- Doctors
- Doctor reviews
- Staff
- Appointments
- Appointment calendar
Appointment Operations
Appointments support:
- Approval
- Rejection
- Editing
- Rescheduling
- Cancellation
- Closed-date management
- Weekend booking restrictions
- Appointment history tracking
Users & Access Control
Administrators can manage:
- Active users
- Deleted users
- Roles
- Permissions
Permission System
Roles group permissions for administrative responsibilities.
Super admins can bypass standard permission checks.
Site Settings
Global website settings include:
- Site name
- Logo and favicon
- Contact details
- Address and map URL
- Author information
- Social media links
- Mail configuration
- SEO metadata
- Open Graph metadata
- Google Analytics ID
- No-index configuration
Messages, Subscribers & Activities
Contact Messages
Supports patient follow-up workflows.
Newsletter Subscribers
Managed through the admin dashboard.
Activity Logs
The system records:
- Logins
- Create/update/delete actions
- Restore actions
- Moderation actions
- Appointment activities
- Settings changes
Admin Profile & Security
Administrators can manage:
- Profile information
- Avatar
- Password and security settings
- Two-factor authentication (where enabled)
- Dashboard appearance preferences
Appointment Lifecycle
Workflow
- Patient books an appointment
- System creates the appointment
- Appointment history records a “Booked” entry
- Admin reviews the request
- Admin approves or rejects the appointment
- Appointment may be rescheduled
- Appointment may be cancelled
- Completed appointments may receive doctor reviews
History Tracking
Every important appointment action creates a new history record instead of overwriting older entries.
Booking Availability Rules
Administrators can configure:
- Closed dates
- Holiday schedules
- Maintenance days
- Weekend booking restrictions
Validation Rules
The booking system prevents:
- Booking on closed dates
- Weekend booking (when disabled)
- Double-booking doctors
- Selecting past dates
- Selecting invalid time slots
Cancelled appointments do not block future availability.
Demo Mode
When:
APP_DEMO=true
The following actions are blocked:
- Create
- Update
- Delete
Read-only pages remain accessible.
Demo Message
This action is not permitted in the demo!
Patient & Doctor Dashboard
Logged-in users access:
/dashboard
Patient Features
Patients can:
- Book appointments
- Search appointments
- View appointment details
- Cancel appointments
- Reschedule appointments
Doctor Features
Doctors can:
- Manage assigned appointments
- Approve appointments
- Reject appointments
- Reschedule appointments
- View appointment details
Dashboard Features
- Server-side DataTables loading
- Fast search and pagination
- Kebab-menu action controls
- Shared availability rules with public booking
Profile Management
Available from:
/dashboard/settings
Users can update:
- Profile information
- Avatar
- Password
- Doctor profile details
Account Deletion
Account deletion uses SweetAlert password confirmation and performs a soft delete.
Soft-deleted users can be restored by administrators.
Booking Rules
Dashboard and frontend booking follow the same rules:
- Appointment times are limited to 9:00 AM – 4:00 PM
- Past dates cannot be selected
- Past times for the current day are blocked
- Weekend restrictions are enforced
- Closed dates are blocked
- Doctors cannot be double-booked
Calendar Rescheduling
Drag-and-drop calendar rescheduling:
- Preserves the original appointment time
- Changes only the appointment date
If the time slot is unavailable on the new date, the appointment is not moved and the user receives an availability warning.
Multi-Lingual Support
The platform supports:
- English
- Hebrew
- Arabic
- Russian
RTL Support
Hebrew and Arabic use RTL (Right-to-Left) layouts.
Administrators should complete all language fields whenever possible.
Email & Queue System
The system uses queued email processing for:
- Appointment notifications
- Contact messages
- Comments
- System notifications
Production Recommendation
Production servers should:
- Configure valid mail settings
- Run queue workers continuously
SEO & Social Sharing
Global SEO Settings
Configured through Site Settings.
Record-Level SEO
Pages, services, projects, blog posts, departments, and other records support custom SEO metadata.
Open Graph Support
Open Graph metadata improves social media sharing previews.
Information
- Categories: Web
- Laravel 13, React 19, Bootstrap 5
- Project URL: https://demo-doctor.code-factory.in
- Admin dashboard URL: https://demo-doctor.code-factory.in/admin/dashboard