Misbah Khan commited on
Commit
822f3a3
·
2 Parent(s): 83fbf42632173a

Merge branch 'main' into HF

Browse files
assets/data/doctors.json ADDED
@@ -0,0 +1,244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "doctors": [
3
+ {
4
+ "id": "DOC001",
5
+ "name": "Dr. Md. Kamal Hossain",
6
+ "department": "Cardiology",
7
+ "designation": "Senior Consultant",
8
+ "degrees": "MBBS, MD, DM (Cardiology)",
9
+ "roomNumber": "301",
10
+ "consultationFee": 1500,
11
+ "consultationDays": ["Monday", "Tuesday", "Wednesday", "Thursday", "Saturday"],
12
+ "consultationTimes": "09:00 AM - 01:00 PM, 03:00 PM - 06:00 PM",
13
+ "password": "Kamal@1234"
14
+ },
15
+ {
16
+ "id": "DOC002",
17
+ "name": "Dr. Farhana Rahman",
18
+ "department": "Neurology",
19
+ "designation": "Chief Neurologist",
20
+ "degrees": "MBBS, MD, DM (Neurology)",
21
+ "roomNumber": "405",
22
+ "consultationFee": 1800,
23
+ "consultationDays": ["Sunday", "Monday", "Wednesday", "Thursday"],
24
+ "consultationTimes": "10:00 AM - 02:00 PM, 04:00 PM - 07:00 PM",
25
+ "password": "Farhana@1234"
26
+ },
27
+ {
28
+ "id": "DOC003",
29
+ "name": "Dr. Sharmin Akter",
30
+ "department": "Pediatrics",
31
+ "designation": "Consultant Pediatrician",
32
+ "degrees": "MBBS, MD (Pediatrics)",
33
+ "roomNumber": "201",
34
+ "consultationFee": 1000,
35
+ "consultationDays": ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday"],
36
+ "consultationTimes": "08:00 AM - 12:00 PM, 02:00 PM - 05:00 PM",
37
+ "password": "Sharmin@1234"
38
+ },
39
+ {
40
+ "id": "DOC004",
41
+ "name": "Dr. Rafiqul Islam",
42
+ "department": "Orthopedics",
43
+ "designation": "Senior Orthopedic Surgeon",
44
+ "degrees": "MBBS, MS (Orthopedics)",
45
+ "roomNumber": "502",
46
+ "consultationFee": 1200,
47
+ "consultationDays": ["Sunday", "Tuesday", "Wednesday", "Friday"],
48
+ "consultationTimes": "09:00 AM - 01:00 PM",
49
+ "password": "Rafiqul@1234"
50
+ },
51
+ {
52
+ "id": "DOC005",
53
+ "name": "Dr. Nasrin Sultana",
54
+ "department": "Dermatology",
55
+ "designation": "Consultant Dermatologist",
56
+ "degrees": "MBBS, MD (Dermatology)",
57
+ "roomNumber": "103",
58
+ "consultationFee": 900,
59
+ "consultationDays": ["Monday", "Tuesday", "Thursday", "Friday", "Saturday"],
60
+ "consultationTimes": "10:00 AM - 01:00 PM, 03:00 PM - 06:00 PM",
61
+ "password": "Nasrin@1234"
62
+ },
63
+ {
64
+ "id": "DOC006",
65
+ "name": "Dr. Abdul Latif Chowdhury",
66
+ "department": "General Surgery",
67
+ "designation": "Chief Surgeon",
68
+ "degrees": "MBBS, MS, FRCS",
69
+ "roomNumber": "601",
70
+ "consultationFee": 2000,
71
+ "consultationDays": ["Sunday", "Monday", "Tuesday", "Thursday"],
72
+ "consultationTimes": "09:00 AM - 12:00 PM",
73
+ "password": "Abdul@1234"
74
+ },
75
+ {
76
+ "id": "DOC007",
77
+ "name": "Dr. Tahmina Begum",
78
+ "department": "Gynecology",
79
+ "designation": "Senior Gynecologist",
80
+ "degrees": "MBBS, MD (Obs & Gyn)",
81
+ "roomNumber": "304",
82
+ "consultationFee": 1300,
83
+ "consultationDays": ["Saturday", "Sunday", "Tuesday", "Wednesday", "Thursday"],
84
+ "consultationTimes": "10:00 AM - 02:00 PM, 04:00 PM - 06:00 PM",
85
+ "password": "Tahmina@1234"
86
+ },
87
+ {
88
+ "id": "DOC008",
89
+ "name": "Dr. Anwar Hossain",
90
+ "department": "Ophthalmology",
91
+ "designation": "Eye Specialist",
92
+ "degrees": "MBBS, MS (Ophthalmology)",
93
+ "roomNumber": "206",
94
+ "consultationFee": 800,
95
+ "consultationDays": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
96
+ "consultationTimes": "09:00 AM - 01:00 PM, 02:00 PM - 05:00 PM",
97
+ "password": "Anwar@1234"
98
+ },
99
+ {
100
+ "id": "DOC009",
101
+ "name": "Dr. Ayesha Siddiqua",
102
+ "department": "Psychiatry",
103
+ "designation": "Consultant Psychiatrist",
104
+ "degrees": "MBBS, MD (Psychiatry)",
105
+ "roomNumber": "701",
106
+ "consultationFee": 1100,
107
+ "consultationDays": ["Sunday", "Monday", "Wednesday", "Friday"],
108
+ "consultationTimes": "11:00 AM - 03:00 PM, 05:00 PM - 08:00 PM",
109
+ "password": "Ayesha@1234"
110
+ },
111
+ {
112
+ "id": "DOC010",
113
+ "name": "Dr. Mohammad Ali Khan",
114
+ "department": "Cardiology",
115
+ "designation": "Cardiac Surgeon",
116
+ "degrees": "MBBS, MS, MCh (Cardiac Surgery)",
117
+ "roomNumber": "302",
118
+ "consultationFee": 2500,
119
+ "consultationDays": ["Sunday", "Tuesday", "Thursday"],
120
+ "consultationTimes": "08:00 AM - 12:00 PM",
121
+ "password": "MohAli@1234"
122
+ },
123
+ {
124
+ "id": "DOC011",
125
+ "name": "Dr. Razia Khatun",
126
+ "department": "Endocrinology",
127
+ "designation": "Senior Endocrinologist",
128
+ "degrees": "MBBS, MD, DM (Endocrinology)",
129
+ "roomNumber": "408",
130
+ "consultationFee": 1400,
131
+ "consultationDays": ["Monday", "Wednesday", "Thursday", "Saturday"],
132
+ "consultationTimes": "09:00 AM - 01:00 PM, 03:00 PM - 06:00 PM",
133
+ "password": "Razia@1234"
134
+ },
135
+ {
136
+ "id": "DOC012",
137
+ "name": "Dr. Shahidul Alam",
138
+ "department": "Urology",
139
+ "designation": "Consultant Urologist",
140
+ "degrees": "MBBS, MS (Urology)",
141
+ "roomNumber": "505",
142
+ "consultationFee": 1200,
143
+ "consultationDays": ["Sunday", "Monday", "Tuesday", "Friday", "Saturday"],
144
+ "consultationTimes": "10:00 AM - 01:00 PM, 04:00 PM - 07:00 PM",
145
+ "password": "Shahidul@1234"
146
+ },
147
+ {
148
+ "id": "DOC013",
149
+ "name": "Dr. Nusrat Jahan",
150
+ "department": "Pediatrics",
151
+ "designation": "Pediatric Surgeon",
152
+ "degrees": "MBBS, MS, MCh (Pediatric Surgery)",
153
+ "roomNumber": "202",
154
+ "consultationFee": 1600,
155
+ "consultationDays": ["Sunday", "Tuesday", "Wednesday", "Thursday"],
156
+ "consultationTimes": "08:00 AM - 12:00 PM, 02:00 PM - 04:00 PM",
157
+ "password": "Nusrat@1234"
158
+ },
159
+ {
160
+ "id": "DOC014",
161
+ "name": "Dr. Mizanur Rahman",
162
+ "department": "Neurology",
163
+ "designation": "Neurosurgeon",
164
+ "degrees": "MBBS, MS, MCh (Neurosurgery)",
165
+ "roomNumber": "406",
166
+ "consultationFee": 2200,
167
+ "consultationDays": ["Monday", "Wednesday", "Thursday", "Friday"],
168
+ "consultationTimes": "10:00 AM - 01:00 PM",
169
+ "password": "Mizan@1234"
170
+ },
171
+ {
172
+ "id": "DOC015",
173
+ "name": "Dr. Sultana Parvin",
174
+ "department": "ENT",
175
+ "designation": "ENT Specialist",
176
+ "degrees": "MBBS, MS (ENT)",
177
+ "roomNumber": "305",
178
+ "consultationFee": 950,
179
+ "consultationDays": ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Friday"],
180
+ "consultationTimes": "09:00 AM - 01:00 PM, 03:00 PM - 06:00 PM",
181
+ "password": "Sultana@1234"
182
+ },
183
+ {
184
+ "id": "DOC016",
185
+ "name": "Dr. Jahangir Alam",
186
+ "department": "Gastroenterology",
187
+ "designation": "Senior Gastroenterologist",
188
+ "degrees": "MBBS, MD, DM (Gastroenterology)",
189
+ "roomNumber": "409",
190
+ "consultationFee": 1500,
191
+ "consultationDays": ["Sunday", "Tuesday", "Wednesday", "Thursday"],
192
+ "consultationTimes": "09:00 AM - 12:00 PM, 04:00 PM - 07:00 PM",
193
+ "password": "Jahangir@1234"
194
+ },
195
+ {
196
+ "id": "DOC017",
197
+ "name": "Dr. Mahbuba Khanam",
198
+ "department": "Rheumatology",
199
+ "designation": "Consultant Rheumatologist",
200
+ "degrees": "MBBS, MD (Rheumatology)",
201
+ "roomNumber": "308",
202
+ "consultationFee": 1300,
203
+ "consultationDays": ["Monday", "Tuesday", "Thursday", "Saturday"],
204
+ "consultationTimes": "10:00 AM - 02:00 PM, 03:00 PM - 05:00 PM",
205
+ "password": "Mahbuba@1234"
206
+ },
207
+ {
208
+ "id": "DOC018",
209
+ "name": "Dr. Habibur Rahman",
210
+ "department": "Pulmonology",
211
+ "designation": "Chest Specialist",
212
+ "degrees": "MBBS, MD (Pulmonology)",
213
+ "roomNumber": "410",
214
+ "consultationFee": 1200,
215
+ "consultationDays": ["Sunday", "Monday", "Wednesday", "Friday", "Saturday"],
216
+ "consultationTimes": "09:00 AM - 01:00 PM, 02:00 PM - 05:00 PM",
217
+ "password": "Habibur@1234"
218
+ },
219
+ {
220
+ "id": "DOC019",
221
+ "name": "Dr. Shirina Akhter",
222
+ "department": "Nephrology",
223
+ "designation": "Kidney Specialist",
224
+ "degrees": "MBBS, MD, DM (Nephrology)",
225
+ "roomNumber": "411",
226
+ "consultationFee": 1400,
227
+ "consultationDays": ["Sunday", "Tuesday", "Wednesday", "Thursday", "Saturday"],
228
+ "consultationTimes": "10:00 AM - 02:00 PM, 04:00 PM - 06:00 PM",
229
+ "password": "Shirina@1234"
230
+ },
231
+ {
232
+ "id": "DOC020",
233
+ "name": "Dr. Alamgir Hossain",
234
+ "department": "Oncology",
235
+ "designation": "Cancer Specialist",
236
+ "degrees": "MBBS, MD, DM (Medical Oncology)",
237
+ "roomNumber": "702",
238
+ "consultationFee": 2000,
239
+ "consultationDays": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
240
+ "consultationTimes": "09:00 AM - 12:00 PM, 03:00 PM - 06:00 PM",
241
+ "password": "Alamgir@1234"
242
+ }
243
+ ]
244
+ }
database/seed_doctors.js CHANGED
@@ -10,7 +10,6 @@ async function seedDoctors() {
10
  const sourcePath = path.resolve(
11
  __dirname,
12
  '..',
13
- '..',
14
  'assets',
15
  'data',
16
  'doctors.json',
 
10
  const sourcePath = path.resolve(
11
  __dirname,
12
  '..',
 
13
  'assets',
14
  'data',
15
  'doctors.json',
scripts/send_test_notification.js ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Quick script to send a test push notification directly via Firebase Admin SDK.
3
+ *
4
+ * Usage:
5
+ * 1. Set FIREBASE_SERVICE_ACCOUNT_PATH or FIREBASE_SERVICE_ACCOUNT_JSON in your .env
6
+ * (or export GOOGLE_APPLICATION_CREDENTIALS=/path/to/serviceAccount.json)
7
+ * 2. Run:
8
+ * node backend/scripts/send_test_notification.js <FCM_TOKEN> "Title" "Body"
9
+ *
10
+ * Example:
11
+ * node backend/scripts/send_test_notification.js "eA1b2c3..." "Hello" "Push is working!"
12
+ */
13
+
14
+ const path = require('path');
15
+ const admin = require('firebase-admin');
16
+ const dotenv = require('dotenv');
17
+
18
+ dotenv.config({ path: path.resolve(__dirname, '..', '.env') });
19
+
20
+ const token = process.argv[2];
21
+ const title = process.argv[3] || 'Care People';
22
+ const body = process.argv[4] || 'Push notification is working!';
23
+
24
+ if (!token) {
25
+ console.error('Usage: node send_test_notification.js <FCM_TOKEN> [title] [body]');
26
+ process.exit(1);
27
+ }
28
+
29
+ function initFirebase() {
30
+ if (process.env.FIREBASE_SERVICE_ACCOUNT_JSON) {
31
+ const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT_JSON);
32
+ admin.initializeApp({ credential: admin.credential.cert(serviceAccount) });
33
+ return;
34
+ }
35
+
36
+ if (process.env.FIREBASE_SERVICE_ACCOUNT_PATH) {
37
+ const fullPath = path.resolve(__dirname, '..', process.env.FIREBASE_SERVICE_ACCOUNT_PATH);
38
+ const serviceAccount = require(fullPath);
39
+ admin.initializeApp({ credential: admin.credential.cert(serviceAccount) });
40
+ return;
41
+ }
42
+
43
+ // Falls back to GOOGLE_APPLICATION_CREDENTIALS env var
44
+ admin.initializeApp({ credential: admin.credential.applicationDefault() });
45
+ }
46
+
47
+ async function sendNotification() {
48
+ initFirebase();
49
+
50
+ const message = {
51
+ token,
52
+ notification: { title, body },
53
+ android: {
54
+ priority: 'high',
55
+ notification: {
56
+ channelId: 'care_people_general',
57
+ clickAction: 'FLUTTER_NOTIFICATION_CLICK',
58
+ },
59
+ },
60
+ };
61
+
62
+ try {
63
+ const response = await admin.messaging().send(message);
64
+ console.log('✅ Notification sent successfully!');
65
+ console.log('Message ID:', response);
66
+ } catch (err) {
67
+ console.error('❌ Failed to send notification:', err.message);
68
+ process.exit(1);
69
+ }
70
+ }
71
+
72
+ sendNotification();