diff --git a/database/mock-data-generation/generate_volunteer_data.py b/database/mock-data-generation/generate_volunteer_data.py new file mode 100644 index 0000000..1b7ca04 --- /dev/null +++ b/database/mock-data-generation/generate_volunteer_data.py @@ -0,0 +1,41 @@ +import pandas as pd +from faker import Faker +import random + +fake = Faker() + +NUM_ROWS = 100 + +request_ids = list(range(1, 101)) +user_ids = list(range(1, 101)) + +# volunteers_assigned +va_data = [] +used_requests = random.sample(request_ids, NUM_ROWS) +for i in range(NUM_ROWS): + va_data.append({ + "id": i + 1, + "request_id": random.choice(request_ids), + "volunteer_id": random.choice(user_ids), + "status": random.choice(["assigned", "completed", "pending"]), + "assigned_at": fake.date_time_this_year() + }) + +df_va = pd.DataFrame(va_data) + +# volunteer_details +vd_data = [] +for uid in user_ids: + vd_data.append({ + "user_id": uid, + "skills": random.choice(["medical", "delivery", "teaching", "cooking"]), + "availability": random.choice(["full-time", "part-time", "weekends"]), + "rating": round(random.uniform(3.0, 5.0), 1) + }) + +df_vd = pd.DataFrame(vd_data) + +df_va.to_csv("../mock_db/volunteers_assigned.csv", index=False) +df_vd.to_csv("../mock_db/volunteer_details.csv", index=False) + +print("Done ✅") \ No newline at end of file diff --git a/database/mock_db/volunteer_details.csv b/database/mock_db/volunteer_details.csv new file mode 100644 index 0000000..9521f3d --- /dev/null +++ b/database/mock_db/volunteer_details.csv @@ -0,0 +1,101 @@ +user_id,skills,availability,rating +1,cooking,weekends,3.0 +2,cooking,weekends,3.3 +3,cooking,full-time,3.2 +4,medical,part-time,3.5 +5,teaching,full-time,4.8 +6,delivery,weekends,4.4 +7,medical,weekends,3.5 +8,cooking,full-time,4.9 +9,cooking,part-time,4.9 +10,delivery,weekends,3.7 +11,medical,weekends,4.7 +12,teaching,part-time,3.9 +13,teaching,part-time,3.4 +14,cooking,full-time,4.0 +15,teaching,weekends,4.5 +16,medical,weekends,4.3 +17,delivery,full-time,4.5 +18,delivery,weekends,3.6 +19,medical,full-time,4.5 +20,cooking,full-time,4.0 +21,cooking,part-time,4.2 +22,medical,weekends,4.6 +23,delivery,full-time,3.4 +24,cooking,weekends,3.2 +25,medical,full-time,4.0 +26,delivery,full-time,4.6 +27,teaching,full-time,3.0 +28,cooking,weekends,3.5 +29,teaching,weekends,4.2 +30,cooking,part-time,5.0 +31,delivery,full-time,3.6 +32,medical,part-time,3.7 +33,medical,weekends,3.1 +34,teaching,weekends,4.2 +35,medical,full-time,3.6 +36,medical,full-time,3.3 +37,medical,part-time,4.4 +38,cooking,full-time,4.3 +39,medical,weekends,4.5 +40,cooking,full-time,4.8 +41,teaching,weekends,3.7 +42,cooking,weekends,3.8 +43,delivery,full-time,3.4 +44,delivery,full-time,3.7 +45,delivery,full-time,4.5 +46,cooking,part-time,4.7 +47,medical,full-time,4.5 +48,medical,full-time,5.0 +49,delivery,full-time,4.8 +50,delivery,full-time,3.7 +51,delivery,weekends,3.9 +52,cooking,full-time,3.9 +53,medical,weekends,4.2 +54,cooking,weekends,3.7 +55,medical,part-time,4.6 +56,medical,part-time,4.4 +57,cooking,weekends,4.9 +58,delivery,weekends,5.0 +59,medical,full-time,3.5 +60,medical,part-time,4.3 +61,delivery,part-time,4.6 +62,cooking,full-time,3.1 +63,teaching,weekends,4.3 +64,teaching,part-time,3.0 +65,delivery,part-time,4.9 +66,cooking,weekends,3.9 +67,delivery,part-time,3.8 +68,cooking,weekends,4.5 +69,medical,full-time,4.2 +70,teaching,full-time,4.4 +71,medical,full-time,3.6 +72,medical,full-time,3.7 +73,delivery,part-time,3.5 +74,cooking,full-time,4.2 +75,delivery,full-time,3.5 +76,cooking,weekends,4.7 +77,delivery,weekends,3.8 +78,teaching,full-time,3.6 +79,teaching,full-time,3.6 +80,delivery,weekends,4.2 +81,teaching,weekends,4.6 +82,teaching,full-time,4.1 +83,cooking,weekends,3.9 +84,cooking,part-time,5.0 +85,medical,weekends,3.4 +86,teaching,part-time,4.6 +87,teaching,weekends,3.2 +88,teaching,weekends,3.7 +89,medical,full-time,4.5 +90,delivery,part-time,4.0 +91,medical,weekends,4.3 +92,delivery,part-time,3.3 +93,teaching,part-time,3.8 +94,cooking,part-time,3.8 +95,cooking,full-time,4.4 +96,cooking,part-time,3.3 +97,teaching,weekends,3.3 +98,cooking,full-time,4.9 +99,medical,part-time,4.1 +100,delivery,full-time,3.4 diff --git a/database/mock_db/volunteers_assigned.csv b/database/mock_db/volunteers_assigned.csv new file mode 100644 index 0000000..a6fa776 --- /dev/null +++ b/database/mock_db/volunteers_assigned.csv @@ -0,0 +1,101 @@ +id,request_id,volunteer_id,status,assigned_at +1,36,39,pending,2026-03-02 13:01:21 +2,34,2,pending,2026-03-26 13:09:14 +3,93,18,pending,2026-01-13 21:25:58 +4,90,85,completed,2026-03-31 18:15:31 +5,25,41,completed,2026-03-31 19:01:54 +6,69,13,pending,2026-01-28 06:55:03 +7,47,48,assigned,2026-03-31 23:17:53 +8,17,54,pending,2026-04-09 07:39:39 +9,54,87,assigned,2026-02-22 05:37:06 +10,54,74,pending,2026-01-09 23:17:45 +11,22,64,completed,2026-03-16 04:19:05 +12,18,59,completed,2026-01-24 13:46:04 +13,44,37,completed,2026-01-24 05:18:51 +14,79,75,assigned,2026-04-20 09:12:54 +15,47,11,assigned,2026-01-09 16:25:24 +16,4,42,assigned,2026-02-11 10:32:11 +17,29,12,completed,2026-03-27 17:34:34 +18,15,36,completed,2026-01-17 06:46:10 +19,52,19,assigned,2026-01-13 08:28:19 +20,33,89,completed,2026-01-19 17:44:22 +21,17,50,pending,2026-01-16 00:22:19 +22,65,63,completed,2026-01-06 07:47:04 +23,15,6,completed,2026-03-02 07:34:35 +24,98,64,completed,2026-04-06 15:50:58 +25,66,34,completed,2026-04-04 14:15:22 +26,67,23,pending,2026-01-07 05:42:20 +27,83,52,completed,2026-04-14 03:57:19 +28,100,28,assigned,2026-03-01 04:53:52 +29,23,4,pending,2026-04-10 17:31:59 +30,69,91,completed,2026-01-25 00:18:30 +31,41,83,assigned,2026-03-13 22:59:32 +32,22,25,pending,2026-02-28 09:09:28 +33,19,89,completed,2026-01-11 14:30:05 +34,10,87,completed,2026-02-01 06:41:04 +35,99,81,assigned,2026-04-15 10:12:21 +36,30,40,assigned,2026-03-11 05:26:14 +37,44,16,assigned,2026-01-29 23:20:57 +38,53,47,assigned,2026-04-06 15:15:18 +39,23,9,pending,2026-01-14 09:44:46 +40,54,79,pending,2026-04-08 10:33:08 +41,21,7,assigned,2026-02-25 02:16:29 +42,3,58,assigned,2026-04-09 19:43:39 +43,21,7,assigned,2026-02-24 13:14:38 +44,43,67,pending,2026-01-01 08:48:04 +45,29,99,completed,2026-03-23 18:36:19 +46,17,47,completed,2026-01-21 16:21:44 +47,57,61,pending,2026-01-16 07:09:37 +48,75,14,assigned,2026-03-01 03:47:17 +49,68,72,completed,2026-02-13 17:42:20 +50,32,88,assigned,2026-04-02 06:22:19 +51,15,64,pending,2026-02-05 02:34:44 +52,96,80,pending,2026-02-01 08:34:26 +53,6,5,pending,2026-02-12 20:02:53 +54,100,97,assigned,2026-04-10 10:56:35 +55,83,8,completed,2026-02-27 02:37:39 +56,98,41,pending,2026-01-14 05:00:35 +57,71,42,completed,2026-01-03 21:52:46 +58,33,29,pending,2026-02-08 17:46:49 +59,47,42,completed,2026-02-18 05:27:53 +60,75,2,completed,2026-03-18 10:00:15 +61,44,38,pending,2026-02-24 03:28:05 +62,52,36,completed,2026-01-13 11:01:40 +63,73,55,pending,2026-03-13 03:38:26 +64,30,88,assigned,2026-04-05 00:51:41 +65,28,9,completed,2026-03-29 07:03:57 +66,25,85,completed,2026-01-20 23:32:51 +67,44,26,pending,2026-01-08 22:07:24 +68,74,63,assigned,2026-03-28 05:18:50 +69,71,97,pending,2026-03-02 15:43:35 +70,63,19,completed,2026-01-13 10:59:01 +71,8,4,assigned,2026-03-21 16:40:34 +72,87,73,pending,2026-02-14 07:27:38 +73,85,28,completed,2026-01-29 14:15:48 +74,5,85,completed,2026-01-19 01:16:49 +75,93,79,pending,2026-01-05 22:11:56 +76,10,46,assigned,2026-04-13 04:26:51 +77,85,71,pending,2026-04-04 15:00:00 +78,41,75,pending,2026-01-18 22:34:51 +79,2,3,assigned,2026-01-05 21:49:11 +80,57,92,assigned,2026-02-01 17:53:12 +81,64,89,assigned,2026-03-20 09:06:17 +82,98,52,completed,2026-04-19 06:49:07 +83,58,71,assigned,2026-03-06 12:34:39 +84,6,5,assigned,2026-01-09 09:14:05 +85,94,63,assigned,2026-03-06 19:56:12 +86,51,59,pending,2026-04-17 08:19:16 +87,66,39,pending,2026-01-06 14:44:55 +88,1,19,assigned,2026-03-09 05:20:31 +89,93,99,assigned,2026-01-15 07:21:11 +90,85,59,assigned,2026-02-22 17:43:08 +91,31,29,completed,2026-03-12 22:34:14 +92,78,81,pending,2026-02-23 02:43:04 +93,2,39,assigned,2026-03-05 18:50:30 +94,1,23,completed,2026-03-29 12:44:01 +95,86,42,completed,2026-03-20 20:47:17 +96,13,4,completed,2026-02-08 05:37:21 +97,87,8,assigned,2026-01-02 07:48:40 +98,57,100,pending,2026-02-11 15:43:14 +99,98,92,completed,2026-02-09 21:55:10 +100,8,96,completed,2026-02-11 21:32:42