This application facilitates the scheduling and management of medical appointments. It is designed to improve the efficiency and accessibility of medical services for both patients and healthcare providers.
- User Management: Separate panels for administrators, doctors, and patients.
- Appointment Scheduling: Easy scheduling, modification, and cancellation of appointments.
- Doctor and Patient Management: Manage doctors' and patients' profiles and their respective appointments.
- Specialty Management: Manage medical specialties and related doctors.
- Notifications: Send notifications to doctors and patients.
- Security: Protection against brute force attacks, XSS, SQL Injection, and CSRF attacks.
- Frontend: HTML, CSS, JavaScript, Tailwind CSS, Vite.js
- Backend: PHP, Laravel
- Libraries and Frameworks: jQuery, DataTable.js, DomPdf, Alpine.js, Chart.js, FontAwesome, Sweetalert2, jQuery UI, jQuery Migrate.js, Animate.css, UI Avatar, Laravel charts
- Database: MariaDB (managed through HeidiSQL)
- Development Tools: Visual Studio Code, XAMPP, Git, GitHub, Browser DevTools
Follow these steps to set up the project on your local machine.
- PHP (>= 7.3)
- Composer
- Node.js and npm
- XAMPP (or any other LAMP stack)
-
Clone the repository:
git clone https://github.com/YoussefSelk/YM-Medical-Appointment.git cd YM-Medical-Appointment
-
Install PHP dependencies:
composer install
-
Install JavaScript dependencies:
npm install
-
Set up the database:
- Create a database named
your_database_name
. - Update your
.env
file with your database credentials.
- Create a database named
-
Run migrations and seed the database:
php artisan migrate:fresh --seed
-
Create a symbolic link for storage:
php artisan storage:link
-
Clear route cache:
php artisan route:clear
-
Start the development server:
php artisan serve
-
Start the scheduler worker:
php artisan schedule:work
-
Compile the assets:
npm run dev
Your application should now be running at http://localhost:8000
.
The admin panel allows administrators to manage doctors, patients, appointments, schedules, and specialties.
Doctors can manage their appointments, schedules, patient profiles, and view evaluations.
Patients can schedule and manage their appointments, view doctor profiles, and read health-related articles.
This project is licensed under the MIT License. See the LICENSE file for details.