diff --git a/assets/database/donateease.sql b/assets/database/donateease.sql new file mode 100644 index 0000000..bf35aed --- /dev/null +++ b/assets/database/donateease.sql @@ -0,0 +1,505 @@ +-- phpMyAdmin SQL Dump +-- version 5.2.1 +-- https://www.phpmyadmin.net/ +-- +-- Host: 127.0.0.1 +-- Generation Time: Jan 13, 2025 at 12:26 AM +-- Server version: 10.4.32-MariaDB +-- PHP Version: 8.2.12 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `donateease` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `appointments` +-- + +CREATE TABLE `appointments` ( + `id` int(11) NOT NULL, + `donor_id` int(11) DEFAULT NULL, + `hospital_name` varchar(255) DEFAULT NULL, + `appointment_date` datetime DEFAULT NULL, + `status` enum('Pending','Confirmed','Completed','Cancelled') DEFAULT 'Pending' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `audit_logs` +-- + +CREATE TABLE `audit_logs` ( + `id` int(11) NOT NULL, + `action` enum('login','signup','donation_created','donation_verified','donation_completed','user_updated') NOT NULL, + `user_id` int(11) DEFAULT NULL, + `action_time` timestamp NOT NULL DEFAULT current_timestamp(), + `details` text DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `blood_donation_schedules` +-- + +CREATE TABLE `blood_donation_schedules` ( + `id` int(11) NOT NULL, + `healthcare_partner_id` int(11) DEFAULT NULL, + `date` date DEFAULT NULL, + `time` time DEFAULT NULL, + `available_blood_types` text DEFAULT NULL, + `status` enum('scheduled','completed','cancelled') NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `blood_donors` +-- + +CREATE TABLE `blood_donors` ( + `id` int(11) NOT NULL, + `donor_id` int(11) DEFAULT NULL, + `blood_type` enum('A+','A-','B+','B-','O+','O-','AB+','AB-') NOT NULL, + `availability` text DEFAULT NULL, + `last_donation_date` date DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `blood_donors` +-- + +INSERT INTO `blood_donors` (`id`, `donor_id`, `blood_type`, `availability`, `last_donation_date`) VALUES +(1, 3, 'A+', 'sdd', '2025-01-10'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `blood_recipient_requests` +-- + +CREATE TABLE `blood_recipient_requests` ( + `id` int(11) NOT NULL, + `recipient_id` int(11) DEFAULT NULL, + `blood_type` enum('A+','A-','B+','B-','O+','O-','AB+','AB-') NOT NULL, + `urgency_level` enum('Low','Medium','High') NOT NULL, + `request_date` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `donations` +-- + +CREATE TABLE `donations` ( + `id` int(11) NOT NULL, + `donor_id` int(11) DEFAULT NULL, + `recipient_id` int(11) DEFAULT NULL, + `donation_type` enum('material','monetary','blood','organ') NOT NULL, + `item_description` text DEFAULT NULL, + `amount` decimal(10,2) DEFAULT NULL, + `blood_type` enum('A+','A-','B+','B-','O+','O-','AB+','AB-') DEFAULT NULL, + `organ_type` varchar(50) DEFAULT NULL, + `status` enum('pending','verified','disbursed','completed','rejected') NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `donation_items` +-- + +CREATE TABLE `donation_items` ( + `id` int(11) NOT NULL, + `donation_id` int(11) DEFAULT NULL, + `item_type` varchar(100) DEFAULT NULL, + `STARTS` enum('new','gently_used','used','damaged') DEFAULT NULL, + `quantity` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `healthcare_partners` +-- + +CREATE TABLE `healthcare_partners` ( + `id` int(11) NOT NULL, + `partner_name` varchar(255) NOT NULL, + `contact_person` varchar(100) DEFAULT NULL, + `contact_email` varchar(100) DEFAULT NULL, + `contact_phone` varchar(15) DEFAULT NULL, + `address` text DEFAULT NULL, + `type` enum('hospital','blood_bank') NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `impact_reports` +-- + +CREATE TABLE `impact_reports` ( + `id` int(11) NOT NULL, + `donation_id` int(11) DEFAULT NULL, + `report_description` text DEFAULT NULL, + `amount_spent` decimal(10,2) DEFAULT NULL, + `beneficiaries` int(11) DEFAULT NULL, + `report_date` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `material_donations` +-- + +CREATE TABLE `material_donations` ( + `id` int(11) NOT NULL, + `donor_id` int(11) NOT NULL, + `item_name` varchar(255) NOT NULL, + `conditions` varchar(100) NOT NULL, + `quantity` int(11) NOT NULL, + `status` enum('pending','approved','rejected') DEFAULT 'pending', + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `latitude` float DEFAULT NULL, + `longitude` float DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `material_donations` +-- + +INSERT INTO `material_donations` (`id`, `donor_id`, `item_name`, `conditions`, `quantity`, `status`, `created_at`, `updated_at`, `latitude`, `longitude`) VALUES +(1, 2, 'Clothes', 'Good', 10, 'approved', '2025-01-12 16:04:19', '2025-01-12 16:09:49', NULL, NULL), +(2, 2, 'Books', 'New', 5, 'approved', '2025-01-12 16:04:19', '2025-01-12 16:04:19', NULL, NULL), +(3, 2, '123', 'Good', 12, 'rejected', '2025-01-12 16:14:17', '2025-01-12 16:17:47', NULL, NULL), +(4, 2, 'Clothes', 'Good', 10, 'approved', '2025-01-12 16:23:59', '2025-01-12 16:24:50', 37.7749, -122.419); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `organ_donors` +-- + +CREATE TABLE `organ_donors` ( + `id` int(11) NOT NULL, + `user_id` int(11) DEFAULT NULL, + `organ_type` varchar(100) DEFAULT NULL, + `medical_history` text DEFAULT NULL, + `availability_status` enum('available','not_available','undergoing_surgery') NOT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `transactions` +-- + +CREATE TABLE `transactions` ( + `id` int(11) NOT NULL, + `donation_id` int(11) DEFAULT NULL, + `transaction_amount` decimal(10,2) DEFAULT NULL, + `transaction_status` enum('pending','completed','failed','refunded') NOT NULL, + `transaction_date` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `users` +-- + +CREATE TABLE `users` ( + `id` int(11) NOT NULL, + `email` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + `role` enum('donor','recipient','admin') NOT NULL, + `first_name` varchar(100) DEFAULT NULL, + `last_name` varchar(100) DEFAULT NULL, + `phone` varchar(15) DEFAULT NULL, + `created_at` timestamp NOT NULL DEFAULT current_timestamp(), + `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `users` +-- + +INSERT INTO `users` (`id`, `email`, `password`, `role`, `first_name`, `last_name`, `phone`, `created_at`, `updated_at`) VALUES +(1, 'ashok.sedhain08@gmail.com', '$2y$10$zsvk.IN3PR7CQcmx7q83LO664x43eqpi6SE/AJDadLGFos3vpDKv2', 'admin', 'Ashok', 'Sedhain', '9840200020', '2025-01-12 11:04:39', '2025-01-12 11:04:39'), +(2, 'rabinrasedhain@gmail.com', '$2y$10$91cocZE1mnHhs5uNFaz8LOcnY6uMKk.sLLWZ3PgSNvc4zvoHezAeq', 'donor', 'Rabin', 'Sedhain', '9840200020', '2025-01-12 11:09:06', '2025-01-12 11:09:06'), +(3, 'aa@gmail.com', '$2y$10$KhWwaHR7SNmylj/0Jke9TO5vfvmm91S5tuIQNsw2GCTKGva2LxW9i', 'donor', 'aa', 'a', '9840200020', '2025-01-12 17:31:39', '2025-01-12 17:31:39'); + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `appointments` +-- +ALTER TABLE `appointments` + ADD PRIMARY KEY (`id`), + ADD KEY `donor_id` (`donor_id`); + +-- +-- Indexes for table `audit_logs` +-- +ALTER TABLE `audit_logs` + ADD PRIMARY KEY (`id`), + ADD KEY `user_id` (`user_id`); + +-- +-- Indexes for table `blood_donation_schedules` +-- +ALTER TABLE `blood_donation_schedules` + ADD PRIMARY KEY (`id`), + ADD KEY `healthcare_partner_id` (`healthcare_partner_id`); + +-- +-- Indexes for table `blood_donors` +-- +ALTER TABLE `blood_donors` + ADD PRIMARY KEY (`id`), + ADD KEY `donor_id` (`donor_id`); + +-- +-- Indexes for table `blood_recipient_requests` +-- +ALTER TABLE `blood_recipient_requests` + ADD PRIMARY KEY (`id`), + ADD KEY `recipient_id` (`recipient_id`); + +-- +-- Indexes for table `donations` +-- +ALTER TABLE `donations` + ADD PRIMARY KEY (`id`), + ADD KEY `donor_id` (`donor_id`), + ADD KEY `recipient_id` (`recipient_id`); + +-- +-- Indexes for table `donation_items` +-- +ALTER TABLE `donation_items` + ADD PRIMARY KEY (`id`), + ADD KEY `donation_id` (`donation_id`); + +-- +-- Indexes for table `healthcare_partners` +-- +ALTER TABLE `healthcare_partners` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `impact_reports` +-- +ALTER TABLE `impact_reports` + ADD PRIMARY KEY (`id`), + ADD KEY `donation_id` (`donation_id`); + +-- +-- Indexes for table `material_donations` +-- +ALTER TABLE `material_donations` + ADD PRIMARY KEY (`id`), + ADD KEY `donor_id` (`donor_id`); + +-- +-- Indexes for table `organ_donors` +-- +ALTER TABLE `organ_donors` + ADD PRIMARY KEY (`id`), + ADD KEY `user_id` (`user_id`); + +-- +-- Indexes for table `transactions` +-- +ALTER TABLE `transactions` + ADD PRIMARY KEY (`id`), + ADD KEY `donation_id` (`donation_id`); + +-- +-- Indexes for table `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `email` (`email`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `appointments` +-- +ALTER TABLE `appointments` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `audit_logs` +-- +ALTER TABLE `audit_logs` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `blood_donation_schedules` +-- +ALTER TABLE `blood_donation_schedules` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `blood_donors` +-- +ALTER TABLE `blood_donors` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `blood_recipient_requests` +-- +ALTER TABLE `blood_recipient_requests` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `donations` +-- +ALTER TABLE `donations` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `donation_items` +-- +ALTER TABLE `donation_items` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `healthcare_partners` +-- +ALTER TABLE `healthcare_partners` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `impact_reports` +-- +ALTER TABLE `impact_reports` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `material_donations` +-- +ALTER TABLE `material_donations` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; + +-- +-- AUTO_INCREMENT for table `organ_donors` +-- +ALTER TABLE `organ_donors` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `transactions` +-- +ALTER TABLE `transactions` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `users` +-- +ALTER TABLE `users` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `appointments` +-- +ALTER TABLE `appointments` + ADD CONSTRAINT `appointments_ibfk_1` FOREIGN KEY (`donor_id`) REFERENCES `blood_donors` (`id`); + +-- +-- Constraints for table `audit_logs` +-- +ALTER TABLE `audit_logs` + ADD CONSTRAINT `audit_logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `blood_donation_schedules` +-- +ALTER TABLE `blood_donation_schedules` + ADD CONSTRAINT `blood_donation_schedules_ibfk_1` FOREIGN KEY (`healthcare_partner_id`) REFERENCES `healthcare_partners` (`id`); + +-- +-- Constraints for table `blood_donors` +-- +ALTER TABLE `blood_donors` + ADD CONSTRAINT `blood_donors_ibfk_1` FOREIGN KEY (`donor_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `blood_recipient_requests` +-- +ALTER TABLE `blood_recipient_requests` + ADD CONSTRAINT `blood_recipient_requests_ibfk_1` FOREIGN KEY (`recipient_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `donations` +-- +ALTER TABLE `donations` + ADD CONSTRAINT `donations_ibfk_1` FOREIGN KEY (`donor_id`) REFERENCES `users` (`id`), + ADD CONSTRAINT `donations_ibfk_2` FOREIGN KEY (`recipient_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `donation_items` +-- +ALTER TABLE `donation_items` + ADD CONSTRAINT `donation_items_ibfk_1` FOREIGN KEY (`donation_id`) REFERENCES `donations` (`id`); + +-- +-- Constraints for table `impact_reports` +-- +ALTER TABLE `impact_reports` + ADD CONSTRAINT `impact_reports_ibfk_1` FOREIGN KEY (`donation_id`) REFERENCES `donations` (`id`); + +-- +-- Constraints for table `material_donations` +-- +ALTER TABLE `material_donations` + ADD CONSTRAINT `material_donations_ibfk_1` FOREIGN KEY (`donor_id`) REFERENCES `users` (`id`) ON DELETE CASCADE; + +-- +-- Constraints for table `organ_donors` +-- +ALTER TABLE `organ_donors` + ADD CONSTRAINT `organ_donors_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `transactions` +-- +ALTER TABLE `transactions` + ADD CONSTRAINT `transactions_ibfk_1` FOREIGN KEY (`donation_id`) REFERENCES `donations` (`id`); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;