Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions database/mock-data-generation/generate_volunteer_data.py
Original file line number Diff line number Diff line change
@@ -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 ✅")
101 changes: 101 additions & 0 deletions database/mock_db/volunteer_details.csv
Original file line number Diff line number Diff line change
@@ -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
101 changes: 101 additions & 0 deletions database/mock_db/volunteers_assigned.csv
Original file line number Diff line number Diff line change
@@ -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