DENTAL CLINIC PROJECT - UPDATED BUILD
====================================

Is build mein:
- Full-width responsive homepage banner slider.
- Admin ke active banners homepage par display hote hain; multiple banners ke liye arrows/dots aur auto-slide.
- Clinic logo, clinic name, tagline, contact details, About image/text, homepage section headings aur footer text Website Settings se update hote hain.
- Active Doctors, Services aur Gallery items homepage par database se display hote hain.
- Doctor ke active timetable ke hours doctor card par dikhte hain.
- Book Appointment button working booking form kholta hai.
- Appointment requests database mein Pending status ke saath save hoti hain.
- Selected doctor/date ke liye timetable se 30-minute slots load hote hain; pending/confirmed booking ka same slot dobara show nahi hota.
- Admin panel mein Appointments page hai jahan status Pending/Confirmed/Completed/Cancelled update kar sakte hain aur internal notes rakh sakte hain.
- Existing database reset karne wala migrate:fresh command use nahi hota.

IMPORTANT BACKUP
----------------
1. Existing dental-clinic-v8 folder ka backup bana lein.
2. Apni existing .env file ko overwrite/delete na karein. Is ZIP mein .env jaanbujhkar include nahi ki gayi hai.
3. Agar ZIP ko existing project ke upar copy kar rahe hain, pehle backup ke baad files merge/replace karein.

LOCAL XAMPP SETUP
-----------------
1. Project folder mein CMD kholein.
2. Agar .env file nahi hai, to:
   copy .env.example .env
3. .env mein apne local MySQL database ka naam, username aur password set karein.
4. APP_KEY generate karein (sirf agar .env mein APP_KEY khaali ho):
   php artisan key:generate
5. Pending database migration chalayein:
   php artisan migrate
   Is build mein naya appointments table migration hai. Existing data ko reset nahi kiya jata.
6. Uploaded banner/logo/doctor/gallery images ke liye storage link banayein:
   php artisan storage:link
7. Cache clear karein:
   php artisan optimize:clear
8. Local server start karein:
   php artisan serve
9. Website: http://127.0.0.1:8000/
   Appointment form: http://127.0.0.1:8000/book-appointment
   Login: http://127.0.0.1:8000/login

ADMIN LOGIN
-----------
Agar users table mein koi user nahi hai, login pehle se kaam nahi karega. Local setup mein /register par account create karke login karein. Production par public registration ko admin account banane ke baad disable/restrict karein.
Admin dashboard ke andar:
- Homepage Banners: image, heading, subtitle, button text, active status, order
- Website Settings: logo, favicon, contact details, About section, homepage headings, footer
- Doctors / Doctor Timetables
- Services
- Gallery
- Appointments: booking requests aur status

BOOKING BEHAVIOUR
-----------------
- Public user appointment request submit karta hai; status Pending hota hai.
- Doctor choose karne par us doctor ki available weekly timetable se slots load hote hain.
- Booking submit hone par same doctor/date/time ka pending ya confirmed slot dobara allow nahi hota.
- Admin appointment ko confirm, complete ya cancel kar sakta hai.
- Appointment automatically confirm nahi hota; clinic ko admin panel se confirm karna hota hai.

CHECKING / LIMITATIONS
---------------------
- Routes register aur Blade templates compile/PHP syntax check kiye gaye.
- Is runtime mein PHPUnit tests run nahi ho sake kyunki PHP DOM, mbstring aur xmlwriter extensions available nahi the.
- Database se end-to-end booking test aapke XAMPP MySQL database par migration chalne ke baad karein.
- External fallback banner image ke liye internet connection chahiye; admin-uploaded banner use karne ke liye image upload karein aur Show on homepage enable rakhein.
