From c4ad8eeb30954a9c74bd34c217a95a742b1880db Mon Sep 17 00:00:00 2001 From: Kanishka Gunawardana Date: Tue, 23 Jan 2024 22:32:17 +0530 Subject: [PATCH 01/57] led charging --- .../impax-buddy-firmware/include/util.h | 31 +++--- .../impax-buddy-firmware/src/define.h | 2 +- .../impax-buddy-firmware/src/main.cpp | 10 +- .../impax-buddy-firmware/src/utils/util.cpp | 94 ++++++++++++++++++- 4 files changed, 119 insertions(+), 18 deletions(-) diff --git a/code/buddy-firmware/impax-buddy-firmware/include/util.h b/code/buddy-firmware/impax-buddy-firmware/include/util.h index 26781270..8cb5dc51 100644 --- a/code/buddy-firmware/impax-buddy-firmware/include/util.h +++ b/code/buddy-firmware/impax-buddy-firmware/include/util.h @@ -7,32 +7,41 @@ // Define LED pins and blink interval #define LED_BLINK_DELAY 100 +#define LED_FADE_DELAY 2 #define LED_BATTERY_LOW 5 #define LED_ON 2 #define LED_ON_PIN 2 #define LED_WIFI_PIN 0 +#define LED_CHARGIN 7 #define LED_BLINK 1 #define LED_OFF 0 #define MOVING_AVERAGE_SIZE 6 -#define VOLTAGE_UPPER_LIMIT 4.19 -#define VOLTAGE_LOWER_LIMIT 3.50 +#define VOLTAGE_UPPER_LIMIT 4.05 +#define VOLTAGE_LOWER_LIMIT 3.4 // Define battery-related constants #define BATTERY_READ 33 const float Vref = 3.3; +// Define a global variable to store the previous percentage value +static int prevPercentage = 0; +#define CHARGIN_STATE 200 +#define BATTERY_LIMIT 10 // Function declarations -void initLED(); // Initialize LED pins -void onLedOn(); // Turn on the ON LED -void offLedOn(); // Turn off the ON LED -void onLedWifi(); // Turn on the WiFi LED -void offLedWifi(); // Turn off the WiFi LED -void blinkLedWifi(); // Blink the WiFi LED -void blinkLedOn(); // Blink the ON LED -int getBatteryStatus(); // Get battery status based on voltage -float getBatteryVoltage(); // Get the voltage of the battery +void initLED(); // Initialize LED pins +void onLedOn(); // Turn on the ON LED +void offLedOn(); // Turn off the ON LED +void onLedWifi(); // Turn on the WiFi LED +void offLedWifi(); // Turn off the WiFi LED +void blinkLedWifi(); // Blink the WiFi LED +void blinkLedOn(); // Blink the ON LED +int getBatteryStatus(); // Get battery status based on voltage +float getBatteryVoltage(float *readings); // Get the voltage of the battery +float getBatteryVoltage(); // Get the voltage of the battery void batteryInit(); void led(int); +bool batteryIsCharging(float *readings, int size); // Is the battery charging +void fadeLedOn(); int wakeup_reason(); diff --git a/code/buddy-firmware/impax-buddy-firmware/src/define.h b/code/buddy-firmware/impax-buddy-firmware/src/define.h index a8546d7f..06c897bc 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/define.h +++ b/code/buddy-firmware/impax-buddy-firmware/src/define.h @@ -49,7 +49,7 @@ const int mqtt_port = 1883; unsigned long batteryStatusTimer = 0; unsigned long measuringTimer = 0; -#define BATTERY_LIMIT 30 + String CA_cert = "-----BEGIN CERTIFICATE-----\n" diff --git a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp index 435e48fb..f15a3814 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp @@ -118,9 +118,6 @@ void process() int batteryStatus = getBatteryStatus(); buddyMQTT.publish(buddyMQTT.topics.BATTERY.c_str(), batteryStatus); - float vol = getBatteryVoltage(); - buddyMQTT.publish(buddyMQTT.topics.TEST.c_str(), vol); - if (batteryStatus < BATTERY_LIMIT) { ledStatus = LED_BATTERY_LOW; @@ -130,6 +127,11 @@ void process() ledStatus = LED_ON; } + if (batteryStatus == CHARGIN_STATE) + { + ledStatus = LED_CHARGIN; + } + batteryStatusTimer = millis(); } @@ -143,6 +145,8 @@ void process() void buddyInit() { // leds + ledStatus = LED_OFF; + led(ledStatus); ledStatus = LED_BLINK; led(ledStatus); diff --git a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp index b981a4e0..d9b1b6aa 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp @@ -33,11 +33,21 @@ int getBatteryStatus() { float voltage = getBatteryVoltage(); - int percentage = 2808.3808 * pow(voltage, 4) - 43560.9157 * pow(voltage, 3) + 252848.5888 * pow(voltage, 2) - 650767.4615 * voltage + 626532.5703; if (voltage > VOLTAGE_UPPER_LIMIT) - percentage = 100; + return 100; else if (voltage <= VOLTAGE_LOWER_LIMIT) - percentage = 0; + return 0; + + int percentage = 2808.3808 * pow(voltage, 4) - 43560.9157 * pow(voltage, 3) + 252848.5888 * pow(voltage, 2) - 650767.4615 * voltage + 626532.5703; + + // Check if the percentage is increasing + bool isIncreasingPercentage = (percentage > prevPercentage); + + if (isIncreasingPercentage) + return CHARGIN_STATE; + + // Update the previous percentage value + prevPercentage = percentage; return percentage; } @@ -51,6 +61,57 @@ void batteryInit() } } +bool batteryIsCharging(float *readings, int size) +{ + for (int i = 1; i < size; i++) + { + if (readings[i] > readings[i - 1]) + { + return false; // If any element is less than or equal to the previous one, the array is not strictly increasing + } + } + return true; // If all elements are strictly increasing +} + +float getBatteryVoltage(float *readings) +{ + static int index = 0; + static float sum = 0; + + // Read the raw value + int rawValue = analogRead(BATTERY_READ); + + // Convert the raw value to voltage (assuming a voltage divider) + float voltage = rawValue * (Vref / 4095.0); // Adjust 3.3 to your actual reference voltage + + // Assuming a voltage divider with equal resistors, adjust the divisor accordingly + voltage = voltage * 2.0; + + // Update the sum with the new reading and subtract the oldest reading + sum = sum - readings[index] + voltage; + + // Store the new reading in the array + readings[index] = voltage; + + // Move to the next index + index = (index + 1) % MOVING_AVERAGE_SIZE; + + // Calculate the moving average + float movingAverage = sum / MOVING_AVERAGE_SIZE; + + // Serial.print(voltage); + // Serial.print(" - "); + + // for (int i = 0; i < MOVING_AVERAGE_SIZE; i++) + // { + // Serial.print(readings[i]); + // Serial.print(", "); + // } + // Serial.println(movingAverage); + + return movingAverage; +} + float getBatteryVoltage() { static float readings[MOVING_AVERAGE_SIZE]; @@ -104,6 +165,28 @@ void blinkLedWifi() } } +void fadeLedOn() +{ + static unsigned long lastTime = 0; + static int brightness = 0; + static int fadeDirection = 1; // 1 for increasing brightness, -1 for decreasing + + if (millis() - lastTime > LED_FADE_DELAY) + { + lastTime = millis(); + + brightness += fadeDirection; + + // Change fade direction when reaching brightness limits + if (brightness <= 0 || brightness >= 255) + { + fadeDirection = -fadeDirection; + } + + analogWrite(LED_ON_PIN, brightness); + } +} + void blinkLedOn() { static unsigned long lastTime = 0; @@ -139,6 +222,11 @@ void led(int LED_STATE) blinkLedOn(); onLedWifi(); } + else if (LED_STATE == LED_CHARGIN) + { + fadeLedOn(); + onLedWifi(); + } } int wakeup_reason() From dec9926a93d23545f68cffff4cc49447a071455f Mon Sep 17 00:00:00 2001 From: Kanishka Gunawardana Date: Wed, 24 Jan 2024 00:17:18 +0530 Subject: [PATCH 02/57] led fix --- code/buddy-firmware/impax-buddy-firmware/src/main.cpp | 11 +++++------ .../impax-buddy-firmware/src/utils/util.cpp | 5 ++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp index f15a3814..0d32f4e5 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp @@ -118,7 +118,11 @@ void process() int batteryStatus = getBatteryStatus(); buddyMQTT.publish(buddyMQTT.topics.BATTERY.c_str(), batteryStatus); - if (batteryStatus < BATTERY_LIMIT) + if (batteryStatus == CHARGIN_STATE) + { + ledStatus = LED_CHARGIN; + } + else if (batteryStatus < BATTERY_LIMIT) { ledStatus = LED_BATTERY_LOW; } @@ -127,11 +131,6 @@ void process() ledStatus = LED_ON; } - if (batteryStatus == CHARGIN_STATE) - { - ledStatus = LED_CHARGIN; - } - batteryStatusTimer = millis(); } diff --git a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp index d9b1b6aa..bf0a08dd 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp @@ -42,13 +42,12 @@ int getBatteryStatus() // Check if the percentage is increasing bool isIncreasingPercentage = (percentage > prevPercentage); + // Update the previous percentage value + prevPercentage = percentage; if (isIncreasingPercentage) return CHARGIN_STATE; - // Update the previous percentage value - prevPercentage = percentage; - return percentage; } From 49fd383d30b2083be56f9eafc517b19839c36378 Mon Sep 17 00:00:00 2001 From: Kanishka Gunawardana Date: Thu, 25 Jan 2024 07:30:34 +0530 Subject: [PATCH 03/57] Update Wi-Fi and MQTT configurations --- .../impax-buddy-firmware/src/define.h | 26 +++++++++---------- code/hub-firmware/led-battery/led..txt | 11 ++++++++ .../mqtt-broker-config/ca_authentication.txt | 24 +++++++++++++++++ 3 files changed, 47 insertions(+), 14 deletions(-) create mode 100644 code/hub-firmware/led-battery/led..txt diff --git a/code/buddy-firmware/impax-buddy-firmware/src/define.h b/code/buddy-firmware/impax-buddy-firmware/src/define.h index 06c897bc..cd529f6b 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/define.h +++ b/code/buddy-firmware/impax-buddy-firmware/src/define.h @@ -23,25 +23,25 @@ int ledStatus; // String ssid = ""; // String password = ""; -// String ssid = "Dialog 4G 629"; -// String password = "189FFF07"; -String ssid = "impax"; -String password = "impax12345678"; +String ssid = "Dialog 4G 629"; +String password = "189FFF07"; +// String ssid = "impax"; +// String password = "impax12345678"; // {Dialog 4G 629,189FFF07,emqx,public} // {WIFI_SSID,WIFI_PASSWORD,MQTT_USERNAME,MQTT_PASSWORD} // {impax,impax12345678,impax,impax} // MQTT Broker -const char *mqtt_broker = "192.168.4.1"; -String mqtt_username = "impax"; -String mqtt_password = "impax"; -const int mqtt_port = 1883; - -// const char *mqtt_broker = "broker.emqx.io"; -// String mqtt_username = "emqx"; -// String mqtt_password = "public"; +// const char *mqtt_broker = "192.168.4.1"; +// String mqtt_username = "impax"; +// String mqtt_password = "impax"; // const int mqtt_port = 1883; +const char *mqtt_broker = "broker.emqx.io"; +String mqtt_username = "emqx"; +String mqtt_password = "public"; +const int mqtt_port = 1883; + #define BATTER_STATUS_DELAY 10000 #define MEASURE_DELAY 50 #define CLK_SPEED 5 @@ -49,8 +49,6 @@ const int mqtt_port = 1883; unsigned long batteryStatusTimer = 0; unsigned long measuringTimer = 0; - - String CA_cert = "-----BEGIN CERTIFICATE-----\n" "MIIDJzCCAg+gAwIBAgIUPKKmid6OdQ5kxFZQxDI0tTTMOwgwDQYJKoZIhvcNAQEL\n" diff --git a/code/hub-firmware/led-battery/led..txt b/code/hub-firmware/led-battery/led..txt new file mode 100644 index 00000000..f364966d --- /dev/null +++ b/code/hub-firmware/led-battery/led..txt @@ -0,0 +1,11 @@ +sudo systemctl daemon-reload + +sudo systemctl enable led +sudo systemctl start led + +sudo systemctl status led + +sudo systemctl restart hubService + +sudo nano /etc/systemd/system/hubService.service + diff --git a/code/hub-firmware/mqtt-broker-config/ca_authentication.txt b/code/hub-firmware/mqtt-broker-config/ca_authentication.txt index 8b169a0d..9c9c5434 100644 --- a/code/hub-firmware/mqtt-broker-config/ca_authentication.txt +++ b/code/hub-firmware/mqtt-broker-config/ca_authentication.txt @@ -30,4 +30,28 @@ keyfile /etc/mosquitto/certs/server.key certfile /etc/mosquitto/certs/server.crt tls_version tlsv1.2 +-----BEGIN CERTIFICATE----- +MIIECTCCAvGgAwIBAgIUGEzPoz/1G3v0vKcmPSoTCv0YGC4wDQYJKoZIhvcNAQEL +BQAwgZMxCzAJBgNVBAYTAkxLMRMwEQYDVQQIDApTaHJvcHNoaXJlMRMwEQYDVQQH +DApJcm9uYnJpZGdlMREwDwYDVQQKDAhDQW1hc3RlcjENMAsGA1UECwwEVEVTVDEU +MBIGA1UEAwwLcmFzcGJlcnJ5cGkxIjAgBgkqhkiG9w0BCQEWE3N0ZXZlQHRlc3Rl +bWFpbC5jb20wHhcNMjQwMTIyMjIwNDMxWhcNMjkwMTIxMjIwNDMxWjCBkzELMAkG +A1UEBhMCTEsxEzARBgNVBAgMClNocm9wc2hpcmUxEzARBgNVBAcMCklyb25icmlk +Z2UxETAPBgNVBAoMCENBbWFzdGVyMQ0wCwYDVQQLDARURVNUMRQwEgYDVQQDDAty +YXNwYmVycnlwaTEiMCAGCSqGSIb3DQEJARYTc3RldmVAdGVzdGVtYWlsLmNvbTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMMxRH2QvAvSk86xdbN+lIiE +VFzxSoudqZjIEXOGCoRlxXyWMG8T3CIp0vQScSSBoIJvCYppz1JhfnIUM3rFdnI1 +NVjVZULqzQ3PxWrevbPtGOYp8AINGOa40Pv6LChV0HkRJOSpGvZvGgw0Fw65xuUM +I7tlWctnL3v8aouuIcCNKpNCBqwmEAChDNOOxzepydL3PhnU1cXIdRcKWd7/wDP9 +m9q2PNfZXJXg+J5LInJ4ZITva7jKMrdbTwYDz/4XUWdK9YfSiV+iIO4IBKFUVPk7 +AzMAn6O0Y+ccViWmSzub56VPXrkdy8GuOjquDEW2HZHeopIAyK/8Yrk5ckMN8VkC +AwEAAaNTMFEwHQYDVR0OBBYEFE7sOLSLZ+3+eli63fFq/G7Un7BPMB8GA1UdIwQY +MBaAFE7sOLSLZ+3+eli63fFq/G7Un7BPMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAD/E3X1OyPOqrrosu1MTbz4eUtMNyq3VUuxtJ4QBNlRdIo+e +yW1+ncTWBUWa3Iqy5++0qhneOe83GZe1twZm7GLV/Zm3TC8vsXrIaESQpSlXVyBA +W21km+MY4IFQZMvOmcWBRi6ZQ7J4sIF0sFk8zlChcUE7AGlSW71OsKRbmgyekuAi +yYyfayanB9Fy50tYQ2Jo8a07VdBn4kMARsJ/0F4WU30qjllSg/jXNtR0Idt4n6Qn +EKHPYrWypCDOgDSz4Pmi6STbJltQbFRIWtUjQiJsItBOlfanKdwgnbUfwRJR3/Yj +hnrgltMV/x5Xa1zhrZ6mXBm3jDSVaFf8yiMp+8o= +-----END CERTIFICATE----- From cb531c316c4d291f98266dd5798af264e422f4fc Mon Sep 17 00:00:00 2001 From: Kanishka Gunawardana Date: Thu, 25 Jan 2024 20:05:31 +0530 Subject: [PATCH 04/57] config --- .../impax-buddy-firmware/src/define.h | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/buddy-firmware/impax-buddy-firmware/src/define.h b/code/buddy-firmware/impax-buddy-firmware/src/define.h index cd529f6b..5abc9d24 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/define.h +++ b/code/buddy-firmware/impax-buddy-firmware/src/define.h @@ -23,25 +23,25 @@ int ledStatus; // String ssid = ""; // String password = ""; -String ssid = "Dialog 4G 629"; -String password = "189FFF07"; -// String ssid = "impax"; -// String password = "impax12345678"; +// String ssid = "Dialog 4G 629"; +// String password = "189FFF07"; +String ssid = "impax"; +String password = "impax12345678"; // {Dialog 4G 629,189FFF07,emqx,public} // {WIFI_SSID,WIFI_PASSWORD,MQTT_USERNAME,MQTT_PASSWORD} // {impax,impax12345678,impax,impax} // MQTT Broker -// const char *mqtt_broker = "192.168.4.1"; -// String mqtt_username = "impax"; -// String mqtt_password = "impax"; -// const int mqtt_port = 1883; - -const char *mqtt_broker = "broker.emqx.io"; -String mqtt_username = "emqx"; -String mqtt_password = "public"; +const char *mqtt_broker = "192.168.4.1"; +String mqtt_username = "impax"; +String mqtt_password = "impax"; const int mqtt_port = 1883; +// const char *mqtt_broker = "broker.emqx.io"; +// String mqtt_username = "emqx"; +// String mqtt_password = "public"; +// const int mqtt_port = 1883; + #define BATTER_STATUS_DELAY 10000 #define MEASURE_DELAY 50 #define CLK_SPEED 5 From cff59e17ebe7c537996d4a595194d27704fbaeda Mon Sep 17 00:00:00 2001 From: hirushig Date: Thu, 25 Jan 2024 20:38:03 +0530 Subject: [PATCH 05/57] Add team analytics summary endpoint and related schema --- code/backend/swagger.json | 151 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/code/backend/swagger.json b/code/backend/swagger.json index 3826bd89..ed138ab9 100644 --- a/code/backend/swagger.json +++ b/code/backend/swagger.json @@ -265,6 +265,44 @@ } }, + "/team/analytics-summary/{duration}": { + "get": { + "tags": ["TeamEndpoints"], + "summary": "Get analytics summary for a specific duration - Access Token required (Only accessible by manager)", + "parameters": [ + { + "name": "duration", + "in": "path", + "description": "Duration for analytics summary (e.g., 'Last Week' , 'Last Month' , 'All Time')", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "$ref": "#/components/schemas/AnalyticsSummaryTeam" + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "example": { + "message": "Bad Request" + } + } + } + } + } + } + }, + @@ -867,6 +905,117 @@ } }, + "AnalyticsSummaryTeam": { + "type": "object", + "properties": { + "summaryData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "value": { + "anyOf": [ + { "type": "string" }, + { "type": "number" } + ] + }, + "trend": { + "anyOf": [ + { "type": "string" }, + { "type": "number" } + ] + } + } + } + }, + "tableData": { + "type": "object", + "properties": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "impactsRecorded": { + "type": "number" + }, + "cumulativeImpact": { + "type": "number" + }, + "highestImpact": { + "type": "number" + }, + "averageImpact": { + "type": "number" + }, + "dominantDirection": { + "type": "number" + }, + "concussions": { + "type": "number" + } + } + + + } + } + }, + "example": { + "summaryData": [ + { + "title": "Session Count", + "value": 15, + "trend": -20 + }, + { + "title": "Impacts Recorded", + "value": 124, + "trend": 20 + }, + { + "title": "Average Impact", + "value": "43 g", + "trend": 40 + }, + { + "title": "Contributing Players", + "value": 4, + "trend": 10 + }, + { + "title": "Highest Contributor", + "value": "Angelo Mathews", + "trend": "Kusal Mendis" + } + ], + "tableData": { + "69": { + "name": "Angelo Mathews", + "impactsRecorded": 50, + "cumulativeImpact": 850, + "highestImpact": 25, + "averageImpact": 20, + "dominantDirection": "Left", + "concussions": 2 + }, + "55": { + "name": "Kusal Perera", + "impactsRecorded": 50, + "cumulativeImpact": 850, + "highestImpact": 25, + "averageImpact": 20, + "dominantDirection": "Left", + "concussions": 2 + } + + } + + } + }, + "SessionRequest": { "type": "object", @@ -1484,6 +1633,8 @@ } }, + + "SessionDetailsResponse": { From 6d8fc76bdfb23024f34c6a8c19e0ffd0781e24de Mon Sep 17 00:00:00 2001 From: Kanishka Gunawardana Date: Thu, 25 Jan 2024 21:13:34 +0530 Subject: [PATCH 06/57] buddy led --- code/buddy-firmware/impax-buddy-firmware/src/main.cpp | 5 +++++ .../impax-buddy-firmware/src/utils/util.cpp | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp index 0d32f4e5..c9e314a7 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp @@ -32,6 +32,9 @@ void buddyCheckTurnOffHandle() buddyState = BUDDY_OFF; ledStatus = LED_OFF; led(ledStatus); + gpio_set_level(GPIO_NUM_0, 0); + gpio_pullup_dis(GPIO_NUM_0); + delay(1000); // Go to sleep now Serial.println("Going to sleep now"); @@ -131,6 +134,8 @@ void process() ledStatus = LED_ON; } + Serial.println(batteryStatus); + batteryStatusTimer = millis(); } diff --git a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp index bf0a08dd..0279d66d 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp @@ -33,10 +33,7 @@ int getBatteryStatus() { float voltage = getBatteryVoltage(); - if (voltage > VOLTAGE_UPPER_LIMIT) - return 100; - else if (voltage <= VOLTAGE_LOWER_LIMIT) - return 0; + Serial.println(voltage); int percentage = 2808.3808 * pow(voltage, 4) - 43560.9157 * pow(voltage, 3) + 252848.5888 * pow(voltage, 2) - 650767.4615 * voltage + 626532.5703; @@ -48,6 +45,11 @@ int getBatteryStatus() if (isIncreasingPercentage) return CHARGIN_STATE; + if (voltage > VOLTAGE_UPPER_LIMIT) + return 100; + else if (voltage <= VOLTAGE_LOWER_LIMIT) + return 0; + return percentage; } From 24318524393c90eaab43e13066f112f0117cbb51 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:52:54 +0530 Subject: [PATCH 07/57] Fix issue with PlayerActions component --- .../PlayersTable/PlayerActions/PlayerActions.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx b/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx index 903fcc6c..33ce3ee1 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx @@ -18,6 +18,7 @@ const PlayerActions: React.FC<{ jerseyId: number }> = ({ jerseyId }) => { // localStorage.setItem("playerDetails", JSON.stringify(players)); setOpenEdit(false); + // editPlayer(jerseyId, data.name, data.email); // setPlayerDetails({ // ...playerDetails, From a20dea8965af982bfaf77d3b08448b89590aea0b Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:05 +0530 Subject: [PATCH 08/57] Add BASE_URL constant for backend URL --- code/client/impax/src/components/Profile/JoinTeam.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/JoinTeam.tsx b/code/client/impax/src/components/Profile/JoinTeam.tsx index 481d95d5..29c08527 100644 --- a/code/client/impax/src/components/Profile/JoinTeam.tsx +++ b/code/client/impax/src/components/Profile/JoinTeam.tsx @@ -3,6 +3,7 @@ import { useSignupState } from "../../states/formState"; import Hero from "./Hero"; import { FieldValues, useForm } from "react-hook-form"; import { useNavigate } from "react-router-dom"; +import { BASE_URL } from "../../config/config"; const JoinTeam = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -29,7 +30,7 @@ const JoinTeam = () => { // console.log(data); console.log(request); // TODO: Change the URL to the backend - const response = await fetch("http://16.170.235.219:5000/%%%%%", { + const response = await fetch(`${BASE_URL}/%%%%%`, { method: "POST", body: JSON.stringify(request), headers: { From c77aab30f0a674a21f51a17955e46189ef2976df Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:11 +0530 Subject: [PATCH 09/57] Add BASE_URL constant for API endpoint --- code/client/impax/src/components/Profile/LoginManager.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/client/impax/src/components/Profile/LoginManager.tsx b/code/client/impax/src/components/Profile/LoginManager.tsx index 7e53d3bb..2412bb5d 100644 --- a/code/client/impax/src/components/Profile/LoginManager.tsx +++ b/code/client/impax/src/components/Profile/LoginManager.tsx @@ -6,6 +6,7 @@ import { useLoginState } from "../../states/profileState"; import { getAccessTokenFromRefreshToken } from "../../services/authService"; import { useAppState } from "../../states/appState"; import { getPlayers } from "../../services/httpClient"; +import { BASE_URL } from "../../config/config"; const LoginManager = () => { const setPlayerDetails = useAppState((state) => state.setPlayerDetails); @@ -24,7 +25,7 @@ const LoginManager = () => { } = useForm(); const getTeamInfo = async (teamId: string, token: string) => { try { - const response = await fetch(`http://13.235.86.11:5000/team/${teamId}`, { + const response = await fetch(`${BASE_URL}/team/${teamId}`, { // Use the constructed URL with query params method: "GET", // Change the method to GET headers: { @@ -41,7 +42,7 @@ const LoginManager = () => { const onSubmit = async (data: FieldValues) => { const { teamId, email, password } = data; - const response = await fetch("http://13.235.86.11:5000/login/manager", { + const response = await fetch(`${BASE_URL}/login/manager`, { method: "POST", body: JSON.stringify({ teamId: teamId, From 4753c43cd92567f8ef011fbbbe6ea54d75a87d6f Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:17 +0530 Subject: [PATCH 10/57] Add BASE_URL constant for API endpoint --- code/client/impax/src/components/Profile/LoginPlayer.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/LoginPlayer.tsx b/code/client/impax/src/components/Profile/LoginPlayer.tsx index b240851a..7434ae4d 100644 --- a/code/client/impax/src/components/Profile/LoginPlayer.tsx +++ b/code/client/impax/src/components/Profile/LoginPlayer.tsx @@ -3,6 +3,7 @@ import { FieldValues, useForm } from "react-hook-form"; import { useLoginState } from "../../states/profileState"; import { useSignupState } from "../../states/formState"; import { useNavigate } from "react-router-dom"; +import { BASE_URL } from "../../config/config"; const LoginPlayer = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -21,7 +22,7 @@ const LoginPlayer = () => { const onSubmit = async (data: FieldValues) => { const { email, password } = data; - const response = await fetch("http://13.235.86.11:5000/login/player", { + const response = await fetch(`${BASE_URL}/login/player`, { method: "POST", body: JSON.stringify({ userName: email, From b2e7e2d14fbe4d2e187321dc3a1ffb4169ea5f92 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:21 +0530 Subject: [PATCH 11/57] Add BASE_URL constant to SignupManager --- code/client/impax/src/components/Profile/SignupManager.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/SignupManager.tsx b/code/client/impax/src/components/Profile/SignupManager.tsx index c434d56a..7bdca820 100644 --- a/code/client/impax/src/components/Profile/SignupManager.tsx +++ b/code/client/impax/src/components/Profile/SignupManager.tsx @@ -2,6 +2,7 @@ import styles from "./SignUp.module.scss"; import { useSignupState } from "../../states/formState"; import { useForm, type FieldValues } from "react-hook-form"; import { useNavigate } from "react-router-dom"; +import { BASE_URL } from "../../config/config"; const SignupManager = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -18,7 +19,7 @@ const SignupManager = () => { const { teamId, email } = data; setSignupInfo({ teamId, email }); - const url = new URL("http://16.170.235.219:5000/team/exists"); // Create a URL object for flexible query param handling + const url = new URL(`${BASE_URL}/team/exists`); // Create a URL object for flexible query param handling url.searchParams.set("teamId", teamId); // Add teamId as a query parameter url.searchParams.set("email", email); const response = await fetch(url.toString(), { From 6dbe87860b5d380438c8108192e027c6c4c55d3c Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:27 +0530 Subject: [PATCH 12/57] Add BASE_URL constant for API endpoint --- code/client/impax/src/components/Profile/SignupPlayer.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/SignupPlayer.tsx b/code/client/impax/src/components/Profile/SignupPlayer.tsx index 704c4bc8..72a1f975 100644 --- a/code/client/impax/src/components/Profile/SignupPlayer.tsx +++ b/code/client/impax/src/components/Profile/SignupPlayer.tsx @@ -2,6 +2,7 @@ import styles from "./SignUp.module.scss"; import { useSignupState } from "../../states/formState"; import { useForm, type FieldValues } from "react-hook-form"; import { useNavigate } from "react-router-dom"; +import { BASE_URL } from "../../config/config"; const SignupPlayer = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -20,7 +21,7 @@ const SignupPlayer = () => { const { password, email } = data; const request = { email, password }; // console.log(data); - const response = await fetch("http://13.235.86.11:5000/player", { + const response = await fetch(`${BASE_URL}/player`, { method: "POST", body: JSON.stringify(request), headers: { From 2b640c542c9639fceb103c19c5dec2d8e06932b0 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:31 +0530 Subject: [PATCH 13/57] Add BASE_URL constant for API endpoint --- code/client/impax/src/components/Profile/TeamCreation.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/TeamCreation.tsx b/code/client/impax/src/components/Profile/TeamCreation.tsx index df767c6a..9c52ec26 100644 --- a/code/client/impax/src/components/Profile/TeamCreation.tsx +++ b/code/client/impax/src/components/Profile/TeamCreation.tsx @@ -3,6 +3,7 @@ import { useSignupState } from "../../states/formState"; import Hero from "./Hero"; import { FieldValues, useForm } from "react-hook-form"; import { useNavigate } from "react-router-dom"; +import { BASE_URL } from "../../config/config"; const TeamCreation = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -29,7 +30,7 @@ const TeamCreation = () => { }; // console.log(data); console.log(request); - const response = await fetch("http://13.235.86.11:5000/team/manager", { + const response = await fetch(`${BASE_URL}/team/manager`, { method: "POST", body: JSON.stringify(request), headers: { From 99626ee52877f9ae66ab70eb409fb0c310dbb0bb Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:35 +0530 Subject: [PATCH 14/57] Add BASE_URL constant to config.ts --- code/client/impax/src/config/config.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 code/client/impax/src/config/config.ts diff --git a/code/client/impax/src/config/config.ts b/code/client/impax/src/config/config.ts new file mode 100644 index 00000000..e91f8fd7 --- /dev/null +++ b/code/client/impax/src/config/config.ts @@ -0,0 +1 @@ +export const BASE_URL = 'http://16.170.235.219:5000'; \ No newline at end of file From 14aa907d29950aaaf16e917ef01554fd388b545f Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:53:40 +0530 Subject: [PATCH 15/57] Add BASE_URL constant for API endpoint --- code/client/impax/src/services/httpClient.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index 3484669f..31276294 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -1,5 +1,6 @@ import { updatePlayersDetails } from "../states/updateAppStates"; import { Players, SessionToBeUploaded } from "../types"; +import { BASE_URL } from "../config/config"; export const uploadSession = async () => { if (localStorage.getItem("sessionDetails") === null) return; @@ -38,7 +39,7 @@ function sendToServer(object: SessionToBeUploaded) { export const getPlayers = async () => { const token = localStorage.getItem("accessToken"); try { - const playersResponse = await fetch("http://13.235.86.11:5000/manager/getTeamPlayers",{ + const playersResponse = await fetch(`${BASE_URL}/manager/getTeamPlayers`,{ method: "GET", headers: { "Content-Type": "application/json", @@ -46,7 +47,7 @@ export const getPlayers = async () => { }, }); const playersData: Players = await playersResponse.json(); - + console.log(playersData); updatePlayersDetails(playersData); } catch (error) { console.log(error); From 3aecf42d24b2677d5303ef39442b91a080dbcb9f Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:57:31 +0530 Subject: [PATCH 16/57] Refactor LoginManager component --- code/client/impax/src/components/Profile/LoginManager.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/client/impax/src/components/Profile/LoginManager.tsx b/code/client/impax/src/components/Profile/LoginManager.tsx index 2412bb5d..ee65a419 100644 --- a/code/client/impax/src/components/Profile/LoginManager.tsx +++ b/code/client/impax/src/components/Profile/LoginManager.tsx @@ -3,13 +3,10 @@ import { useSignupState } from "../../states/formState"; import { FieldValues, useForm } from "react-hook-form"; import { useNavigate } from "react-router-dom"; import { useLoginState } from "../../states/profileState"; -import { getAccessTokenFromRefreshToken } from "../../services/authService"; -import { useAppState } from "../../states/appState"; import { getPlayers } from "../../services/httpClient"; import { BASE_URL } from "../../config/config"; const LoginManager = () => { - const setPlayerDetails = useAppState((state) => state.setPlayerDetails); const setIsSignup = useSignupState((state) => state.setIsSignup); const setIsLoggedInManager = useSignupState( (state) => state.setIsLoggedInManager From 2f3ef19cba0d6e4a104dc320459edc69eef5baef Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 22:57:37 +0530 Subject: [PATCH 17/57] Remove unused code in SignupPlayer component --- code/client/impax/src/components/Profile/SignupPlayer.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/client/impax/src/components/Profile/SignupPlayer.tsx b/code/client/impax/src/components/Profile/SignupPlayer.tsx index 72a1f975..10e1605b 100644 --- a/code/client/impax/src/components/Profile/SignupPlayer.tsx +++ b/code/client/impax/src/components/Profile/SignupPlayer.tsx @@ -6,14 +6,12 @@ import { BASE_URL } from "../../config/config"; const SignupPlayer = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); - const setSignupInfo = useSignupState((state) => state.setSignupInfo); const navigate = useNavigate(); const { register, handleSubmit, formState: { errors, isSubmitting }, reset, - setError, getValues, } = useForm(); From 92f0395e23b8f1680e8bf8ebbd6920c3329765aa Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 23:46:04 +0530 Subject: [PATCH 18/57] Add useAppState import and comment out console.log statement --- code/client/impax/src/services/httpClient.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index 31276294..178efd87 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -1,6 +1,7 @@ import { updatePlayersDetails } from "../states/updateAppStates"; import { Players, SessionToBeUploaded } from "../types"; import { BASE_URL } from "../config/config"; +import { useAppState } from "../states/appState"; export const uploadSession = async () => { if (localStorage.getItem("sessionDetails") === null) return; @@ -47,8 +48,9 @@ export const getPlayers = async () => { }, }); const playersData: Players = await playersResponse.json(); - console.log(playersData); + updatePlayersDetails(playersData); + // useAppState.setState({ playerDetails: playersData }); } catch (error) { console.log(error); } From d48f5a1e40febdef52e5317f93d31b597a8e607a Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 23:46:09 +0530 Subject: [PATCH 19/57] Add console.log statements for debugging --- code/client/impax/src/states/appState.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/client/impax/src/states/appState.ts b/code/client/impax/src/states/appState.ts index 80262ec5..965818ae 100644 --- a/code/client/impax/src/states/appState.ts +++ b/code/client/impax/src/states/appState.ts @@ -111,7 +111,9 @@ export const useAppState = create()((set) => ({ localStorage.setItem("players", JSON.stringify(playersWithTimestamp)); }, removePlayer: (player_id: number) => { + set((prevState) => { + console.log("REMOVE - ",prevState.playerDetails); const playerDetails = { ...prevState.playerDetails }; delete playerDetails[player_id]; @@ -131,6 +133,8 @@ export const useAppState = create()((set) => ({ player_email: string ) => set((prevState) => { + console.log(prevState.playerDetails); + const playerDetails = { ...prevState.playerDetails, [jersey_number]: { From 888b920378b72ced406a85197375bda48e434cd9 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 23:46:14 +0530 Subject: [PATCH 20/57] Update isLoggedInPlayer and isLoggedInManager values --- code/client/impax/src/states/formState.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/client/impax/src/states/formState.ts b/code/client/impax/src/states/formState.ts index 817f19cf..d277a217 100644 --- a/code/client/impax/src/states/formState.ts +++ b/code/client/impax/src/states/formState.ts @@ -41,12 +41,16 @@ export const useSignupState = create()((set) => ({ setIsTeamExist: (isTeamExist) => set({ isTeamExist: isTeamExist }), signupInfo: { teamId: "", email: "" }, setSignupInfo: (signupInfo) => set({ signupInfo: signupInfo }), - isLoggedInPlayer: localStorage.getItem("isLoggedInPlayer") === "true", + isLoggedInPlayer: false, + + // isLoggedInPlayer: localStorage.getItem("isLoggedInPlayer") === "true", setIsLoggedInPlayer: (isLoggedInPlayer) => { set({ isLoggedInPlayer: isLoggedInPlayer }); localStorage.setItem("isLoggedInPlayer", isLoggedInPlayer.toString()); }, - isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", + isLoggedInManager: false, + + // isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", setIsLoggedInManager: (isLoggedInManager) => { set({ isLoggedInManager: isLoggedInManager }), localStorage.setItem("isLoggedInManager", isLoggedInManager.toString()); From 5036459a809000889ba7c6f4c4c85507001771de Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 23:47:04 +0530 Subject: [PATCH 21/57] Remove unused import and commented code in httpClient.ts --- code/client/impax/src/services/httpClient.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index 178efd87..018de3e7 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -1,7 +1,6 @@ import { updatePlayersDetails } from "../states/updateAppStates"; import { Players, SessionToBeUploaded } from "../types"; import { BASE_URL } from "../config/config"; -import { useAppState } from "../states/appState"; export const uploadSession = async () => { if (localStorage.getItem("sessionDetails") === null) return; @@ -50,7 +49,6 @@ export const getPlayers = async () => { const playersData: Players = await playersResponse.json(); updatePlayersDetails(playersData); - // useAppState.setState({ playerDetails: playersData }); } catch (error) { console.log(error); } From 33018962480872dd8bc578208f371dae13919487 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Thu, 25 Jan 2024 23:50:47 +0530 Subject: [PATCH 22/57] Remove console.log statements from appState.ts --- code/client/impax/src/states/appState.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/client/impax/src/states/appState.ts b/code/client/impax/src/states/appState.ts index 965818ae..194105f5 100644 --- a/code/client/impax/src/states/appState.ts +++ b/code/client/impax/src/states/appState.ts @@ -113,7 +113,6 @@ export const useAppState = create()((set) => ({ removePlayer: (player_id: number) => { set((prevState) => { - console.log("REMOVE - ",prevState.playerDetails); const playerDetails = { ...prevState.playerDetails }; delete playerDetails[player_id]; @@ -133,7 +132,6 @@ export const useAppState = create()((set) => ({ player_email: string ) => set((prevState) => { - console.log(prevState.playerDetails); const playerDetails = { ...prevState.playerDetails, From 4d80fb52fbf1df2b52518966317ca25358fb320b Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 00:09:53 +0530 Subject: [PATCH 23/57] Remove unnecessary code for setting access and refresh tokens --- code/client/impax/src/components/Profile/LoginManager.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/client/impax/src/components/Profile/LoginManager.tsx b/code/client/impax/src/components/Profile/LoginManager.tsx index ee65a419..96b7bb9f 100644 --- a/code/client/impax/src/components/Profile/LoginManager.tsx +++ b/code/client/impax/src/components/Profile/LoginManager.tsx @@ -53,8 +53,6 @@ const LoginManager = () => { const responseData = await response.json(); if (response.ok) { setIsLoggedInManager(true); - localStorage.setItem("refreshToken", responseData.refreshToken); - localStorage.setItem("accessToken", responseData.accessToken); setTokens({ accessToken: responseData.accessToken, refreshToken: responseData.refreshToken, From 23c7c8cf267890d65555fede72ecf6a91d608576 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 00:09:58 +0530 Subject: [PATCH 24/57] Refactor setTokens function in profileState.ts --- code/client/impax/src/states/profileState.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/client/impax/src/states/profileState.ts b/code/client/impax/src/states/profileState.ts index f88f17e1..8c6eb968 100644 --- a/code/client/impax/src/states/profileState.ts +++ b/code/client/impax/src/states/profileState.ts @@ -29,10 +29,9 @@ export const useLoginState = create()((set) => ({ loginInfo: {teamId: "", teamName: "", email: ""}, setLoginInfo: (loginInfo) => set({ loginInfo: loginInfo}), tokens: {accessToken: "", refreshToken: ""}, - setTokens: (tokens) => set((prevState)=>{ prevState.tokens = tokens; - localStorage.setItem('accessToken', tokens.accessToken); - localStorage.setItem('refreshToken', tokens.refreshToken); - return prevState;}) + setTokens: (tokens) => {set({tokens: tokens}); + localStorage.setItem("accessToken", tokens.accessToken); + localStorage.setItem("refreshToken", tokens.refreshToken);} , From 46d64b9574013175c23c7dedd7aafc373d7b4995 Mon Sep 17 00:00:00 2001 From: Sanduni Ubayasiri <115542118+SanduniU@users.noreply.github.com> Date: Fri, 26 Jan 2024 00:39:46 +0530 Subject: [PATCH 25/57] polling buddy status added --- .../hub-client/hub_mqtt_client.py | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/code/hub-firmware/hub-client/hub_mqtt_client.py b/code/hub-firmware/hub-client/hub_mqtt_client.py index e8891086..b656b61a 100644 --- a/code/hub-firmware/hub-client/hub_mqtt_client.py +++ b/code/hub-firmware/hub-client/hub_mqtt_client.py @@ -4,6 +4,7 @@ import json import re import os +import threading # MQTT broker settings broker_address = "127.0.0.1" @@ -75,6 +76,20 @@ def publish_old_session_data(): except Exception as e: print(f"Error publishing old session data: {str(e)}") +def timer_function(): + global active_buddies + while True: + # Check for inactive buddies + current_time = time.time() + + for active_device_id in active_buddies: + if current_time - active_buddies[active_device_id] > 60: + # Publish zero battery status for inactive buddy + print(f"Buddy {active_device_id} is not active.") + client.publish(buddy_status_topic,0) + print("Buddy status sent") + time.sleep(60) + def on_connect(client, userdata, flags, rc): global broker_connected try: @@ -85,6 +100,7 @@ def on_connect(client, userdata, flags, rc): if os.path.exists(session_file_path): file_handle = open(session_file_path, "r") publish_old_session_data() + os.remove(session_file_path) else: raise Exception(f"Connection failed with result code {rc}") except Exception as e: @@ -105,15 +121,6 @@ def on_message(client, userdata, msg): device_id = msg.topic.split("/")[1] current_time = time.time() active_buddies[device_id] = current_time - - # Check for inactive buddies - for active_device_id in active_buddies: - if current_time - active_buddies[active_device_id] > 60: - # Publish zero battery status for inactive buddy - print(f"Buddy {active_device_id} is not active.") - client.publish(buddy_status_topic,0) - else: - client.publish(buddy_status_topic, data) elif msg.topic == mapping_topic: @@ -240,10 +247,17 @@ def end_session(): # Start the MQTT loop client.loop_start() +# Create a separate thread for the timer function +timer_thread = threading.Thread(target=timer_function) + +# Start the timer thread +timer_thread.start() + try: while True: pass except KeyboardInterrupt: # Gracefully disconnect on keyboard interrupt + timer_thread.join() client.disconnect() client.loop_stop() From 08fea26271fc8dbfb6a691b7a20b6837d3258eae Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 00:54:51 +0530 Subject: [PATCH 26/57] Add player API integration --- .../PlayerManagement/PlayerManagement.tsx | 43 ++++++++----------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx index a5d5c71c..1b8e4740 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx @@ -24,6 +24,7 @@ import PlayersTable from "./PlayersTable/PlayersTable"; import NoInternetConnection from "../StatusScreens/NoInternetConnection"; import { useAppState } from "../../states/appState"; import DialogModal from "../Modal/DialogModal"; +import { BASE_URL } from "../../config/config"; export type Player = { jerseyId: number; @@ -151,32 +152,24 @@ const PlayerManagement = () => { const onSubmit = async (data: FieldValues) => { setAddPlayerOpen(false); - addPlayer(data.jersey_number, data.name, data.email); - // setPlayerDetails({ - // ...playerDetails, - // [data.jersey_number]: { - // name: data.name, - // email: data.email, - // verification: "pending", - // }, - // }); - // const { teamId, email, password } = data; - // const response = await fetch("http://13.235.86.11:5000/exampleURL", { - // method: "POST", - // body: JSON.stringify({ - // teamId: teamId, - // password: password, - // userName: email, - // }), - // headers: { - // "Content-Type": "application/json", - // }, - // }); - // const responseData = await response.json(); - // if (response.ok) { - // // do something - // } + const response = await fetch(`${BASE_URL}/player/add`, { + method: "POST", + body: JSON.stringify({ + jerseyId: data.jersey_number, + fullName: data.name, + playerEmail: data.email, + }), + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${localStorage.getItem("accessToken")}`, + }, + }); + const responseData = await response.json(); + if (response.ok) { + console.log("response OK", responseData); + addPlayer(data.jersey_number, data.name, data.email); + } reset(); }; From efc74b6eecf1c0d69c4db80096da0cc640c8a330 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 00:54:55 +0530 Subject: [PATCH 27/57] Refactor player actions and update API calls --- .../PlayerActions/PlayerActions.tsx | 69 +++++++++++-------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx b/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx index 33ce3ee1..1aff8454 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx @@ -7,6 +7,8 @@ import DialogModal from "../../../Modal/DialogModal"; import { FaCheck } from "react-icons/fa6"; import { useAppState } from "../../../../states/appState"; import { FieldValues, useForm } from "react-hook-form"; +import { BASE_URL } from "../../../../config/config"; +import { deletePlayerHTTP } from "../../../../services/httpClient"; const PlayerActions: React.FC<{ jerseyId: number }> = ({ jerseyId }) => { const playerDetails = useAppState((state) => state.playerDetails); const removePlayer = useAppState((state) => state.removePlayer); @@ -18,31 +20,26 @@ const PlayerActions: React.FC<{ jerseyId: number }> = ({ jerseyId }) => { // localStorage.setItem("playerDetails", JSON.stringify(players)); setOpenEdit(false); - // - editPlayer(jerseyId, data.name, data.email); - // setPlayerDetails({ - // ...playerDetails, - // [jerseyId]: { - // name: data.name, - // email: data.email, - // verification: playerDetails[jerseyId]?.verification, - // }, - // }); - // const response = await fetch("http://13.235.86.11:5000/exampleURL", { - // method: "POST", - // body: JSON.stringify({ - // // teamId: teamId, - // // password: password, - // // userName: email, - // }), - // headers: { - // "Content-Type": "application/json", - // }, - // }); - // const responseData = await response.json(); - // if (response.ok) { - // // do something - // } + + const response = await fetch(`${BASE_URL}/player/update`, { + method: "PUT", + body: JSON.stringify({ + fullName: data.name, + playerEmail: data.email, + jerseyId: jerseyId, + }), + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${localStorage.getItem("accessToken")}`, + }, + }); + const responseData = await response.json(); + if (response.ok) { + // for debugging + // TODO:Test this + console.log("response OK", responseData); + editPlayer(jerseyId, data.name, data.email); + } reset(); }; @@ -129,8 +126,26 @@ const PlayerActions: React.FC<{ jerseyId: number }> = ({ jerseyId }) => { } action={ { - removePlayer(jerseyId); + onClick={async () => { + const response = await fetch(`${BASE_URL}/player/remove`, { + method: "DELETE", + body: JSON.stringify({ + jerseyId: jerseyId, + }), + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${localStorage.getItem( + "accessToken" + )}`, + }, + }); + const responseData = await response.json(); + if (response.ok) { + // for debugging + // TODO:Test this + console.log("response OK", responseData); + removePlayer(jerseyId); + } }} bgColor="transparent" buttonStyle="secondary" From e7f2454a0bffb628e3870f46d8e32700d78fdb79 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 00:55:00 +0530 Subject: [PATCH 28/57] Fix import statement in httpClient.ts --- code/client/impax/src/services/httpClient.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index 018de3e7..0da2e691 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -1,6 +1,7 @@ import { updatePlayersDetails } from "../states/updateAppStates"; import { Players, SessionToBeUploaded } from "../types"; -import { BASE_URL } from "../config/config"; +import { BASE_URL} from "../config/config"; +import { FieldValues } from "react-hook-form"; export const uploadSession = async () => { if (localStorage.getItem("sessionDetails") === null) return; From 18c0ffad5489b56243a0e91818582fda11922dd2 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 00:55:19 +0530 Subject: [PATCH 29/57] Remove unused import in httpClient.ts --- code/client/impax/src/services/httpClient.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index 0da2e691..ec310be7 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -1,7 +1,6 @@ import { updatePlayersDetails } from "../states/updateAppStates"; import { Players, SessionToBeUploaded } from "../types"; import { BASE_URL} from "../config/config"; -import { FieldValues } from "react-hook-form"; export const uploadSession = async () => { if (localStorage.getItem("sessionDetails") === null) return; From 00eb9992c608fe92f6aaebe99b9fab649aa75192 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 01:03:29 +0530 Subject: [PATCH 30/57] Remove unused import and commented code in PlayerActions.tsx --- .../PlayersTable/PlayerActions/PlayerActions.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx b/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx index 1aff8454..d93b71f3 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayersTable/PlayerActions/PlayerActions.tsx @@ -8,7 +8,6 @@ import { FaCheck } from "react-icons/fa6"; import { useAppState } from "../../../../states/appState"; import { FieldValues, useForm } from "react-hook-form"; import { BASE_URL } from "../../../../config/config"; -import { deletePlayerHTTP } from "../../../../services/httpClient"; const PlayerActions: React.FC<{ jerseyId: number }> = ({ jerseyId }) => { const playerDetails = useAppState((state) => state.playerDetails); const removePlayer = useAppState((state) => state.removePlayer); @@ -142,7 +141,6 @@ const PlayerActions: React.FC<{ jerseyId: number }> = ({ jerseyId }) => { const responseData = await response.json(); if (response.ok) { // for debugging - // TODO:Test this console.log("response OK", responseData); removePlayer(jerseyId); } From 52e97e2968f0a07195dd79ee7d61802d21831664 Mon Sep 17 00:00:00 2001 From: kaushithamsilva Date: Fri, 26 Jan 2024 01:06:48 +0530 Subject: [PATCH 31/57] loggenIn status and route configuration --- code/client/impax/src/routes/routeConfig.ts | 15 +++++++++++---- code/client/impax/src/states/appState.ts | 9 ++++++--- code/client/impax/src/states/formState.ts | 13 ++++++++----- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/code/client/impax/src/routes/routeConfig.ts b/code/client/impax/src/routes/routeConfig.ts index d7d8e4e0..d65b0459 100644 --- a/code/client/impax/src/routes/routeConfig.ts +++ b/code/client/impax/src/routes/routeConfig.ts @@ -12,6 +12,7 @@ import TeamCreation from "../components/Profile/TeamCreation"; import JoinTeam from "../components/Profile/JoinTeam"; import TeamAnalytics from "../components/Analytics/TeamAnalytics/TeamAnalytics"; import SignupSuccess from "../components/StatusScreens/SignupSuccess"; +import { useSignupState } from "../states/formState"; interface RouteConfig { path: string; component: React.ComponentType; @@ -21,6 +22,14 @@ interface RouteConfig { const routes: RouteConfig[] = [ { path: "/", + component: useSignupState.getState().isLoggedInManager + ? Live + : useSignupState.getState().isLoggedInPlayer + ? PlayerAnalytics + : SignUp, + }, + { + path: "/SignUp", component: SignUp, }, { @@ -78,8 +87,7 @@ const routes: RouteConfig[] = [ component: SignupSuccess, props: { title: "Signup", - description: - "Please Verify your email address.", + description: "Please Verify your email address.", }, }, { @@ -87,8 +95,7 @@ const routes: RouteConfig[] = [ component: SignupSuccess, props: { title: "Signup", - description: - "Please Verify your email address.", + description: "Please Verify your email address.", }, }, { diff --git a/code/client/impax/src/states/appState.ts b/code/client/impax/src/states/appState.ts index 194105f5..55fa688b 100644 --- a/code/client/impax/src/states/appState.ts +++ b/code/client/impax/src/states/appState.ts @@ -70,7 +70,12 @@ interface AppState { export const useAppState = create()((set) => ({ //For the sidebar menu item selected, and render main content - activePage: "profile", + activePage: + localStorage.getItem("isLoggedInManager") === "true" + ? "live" + : localStorage.getItem("isLoggedInPlayer") === "true" + ? "player-analytics" + : "profile", setActivePage: (page) => set({ activePage: page }), //For the mqtt connection status @@ -111,7 +116,6 @@ export const useAppState = create()((set) => ({ localStorage.setItem("players", JSON.stringify(playersWithTimestamp)); }, removePlayer: (player_id: number) => { - set((prevState) => { const playerDetails = { ...prevState.playerDetails }; delete playerDetails[player_id]; @@ -132,7 +136,6 @@ export const useAppState = create()((set) => ({ player_email: string ) => set((prevState) => { - const playerDetails = { ...prevState.playerDetails, [jersey_number]: { diff --git a/code/client/impax/src/states/formState.ts b/code/client/impax/src/states/formState.ts index d277a217..977f0992 100644 --- a/code/client/impax/src/states/formState.ts +++ b/code/client/impax/src/states/formState.ts @@ -1,5 +1,6 @@ import { create } from "zustand"; import { Role } from "../types"; +import { useNavigate } from "react-router-dom"; interface RoleState { role: Role; @@ -41,18 +42,20 @@ export const useSignupState = create()((set) => ({ setIsTeamExist: (isTeamExist) => set({ isTeamExist: isTeamExist }), signupInfo: { teamId: "", email: "" }, setSignupInfo: (signupInfo) => set({ signupInfo: signupInfo }), - isLoggedInPlayer: false, - - // isLoggedInPlayer: localStorage.getItem("isLoggedInPlayer") === "true", + + isLoggedInPlayer: localStorage.getItem("isLoggedInPlayer") === "true", setIsLoggedInPlayer: (isLoggedInPlayer) => { set({ isLoggedInPlayer: isLoggedInPlayer }); localStorage.setItem("isLoggedInPlayer", isLoggedInPlayer.toString()); + if (!isLoggedInPlayer) localStorage.clear(); + useNavigate()("/SignUp"); }, - isLoggedInManager: false, - // isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", + isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", setIsLoggedInManager: (isLoggedInManager) => { set({ isLoggedInManager: isLoggedInManager }), localStorage.setItem("isLoggedInManager", isLoggedInManager.toString()); + if (!isLoggedInManager) localStorage.clear(); + useNavigate()("/SignUp"); }, })); From 7278d1425ccec6990b43fde60918bf722e701a8c Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 01:16:20 +0530 Subject: [PATCH 32/57] Fix last name splitting in JoinTeam component --- code/client/impax/src/components/Profile/JoinTeam.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/JoinTeam.tsx b/code/client/impax/src/components/Profile/JoinTeam.tsx index 29c08527..e8c718e1 100644 --- a/code/client/impax/src/components/Profile/JoinTeam.tsx +++ b/code/client/impax/src/components/Profile/JoinTeam.tsx @@ -24,7 +24,7 @@ const JoinTeam = () => { teamId: signupInfo.teamId, email: signupInfo.email, firstName: data.yourName.split(" ")[0], - lastName: data.yourName.split(" ")[1], + lastName: data.yourName.split(" ")[1] || "", password: data.password, }; // console.log(data); From dd4f4f7566455dc6299d54761338dbe5505f0cfa Mon Sep 17 00:00:00 2001 From: kaushithamsilva Date: Fri, 26 Jan 2024 01:55:10 +0530 Subject: [PATCH 33/57] found error in log in with invalid credentials --- .../impax/src/components/Profile/LoginManager.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/client/impax/src/components/Profile/LoginManager.tsx b/code/client/impax/src/components/Profile/LoginManager.tsx index 96b7bb9f..521234d3 100644 --- a/code/client/impax/src/components/Profile/LoginManager.tsx +++ b/code/client/impax/src/components/Profile/LoginManager.tsx @@ -18,6 +18,7 @@ const LoginManager = () => { register, handleSubmit, formState: { errors, isSubmitting }, + setError, reset, } = useForm(); const getTeamInfo = async (teamId: string, token: string) => { @@ -38,6 +39,7 @@ const LoginManager = () => { }; const onSubmit = async (data: FieldValues) => { + console.log("I'm hereee!!"); const { teamId, email, password } = data; const response = await fetch(`${BASE_URL}/login/manager`, { method: "POST", @@ -66,6 +68,12 @@ const LoginManager = () => { await getPlayers(); navigate("/login/manager"); + } else { + //TODO1: Error message resets + setError("invalid", { + type: "custom", + message: "Invalid Credentials: Please try again", + }); } reset(); @@ -74,6 +82,9 @@ const LoginManager = () => { return ( <>
+ {errors["invalid"] && ( +

{`${errors["invalid"].message}`}

+ )}
{errors.teamId &&

{`${errors.teamId.message}`}

} From 561f28a18285126631de468370fb29b841ef8cfa Mon Sep 17 00:00:00 2001 From: kaushithamsilva Date: Fri, 26 Jan 2024 01:56:15 +0530 Subject: [PATCH 34/57] logout clear state and storage --- .../components/Profile/ManagerProfile/ManagerProfile.tsx | 3 +++ .../src/components/Profile/PlayerProfile/PlayerProfile.tsx | 4 +++- .../client/impax/src/components/Profile/SignUp.module.scss | 7 ++++++- code/client/impax/src/states/formState.ts | 3 --- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/client/impax/src/components/Profile/ManagerProfile/ManagerProfile.tsx b/code/client/impax/src/components/Profile/ManagerProfile/ManagerProfile.tsx index b0d2919f..c04908ae 100644 --- a/code/client/impax/src/components/Profile/ManagerProfile/ManagerProfile.tsx +++ b/code/client/impax/src/components/Profile/ManagerProfile/ManagerProfile.tsx @@ -9,6 +9,7 @@ import ManagersTable from "./../ManagerProfile/ManagersTable"; import DialogModal from "../../Modal/DialogModal"; import { FaPlus } from "react-icons/fa6"; import { useState } from "react"; +import { useNavigate } from "react-router-dom"; const ManagerProfile = () => { // Get team-id @@ -20,6 +21,7 @@ const ManagerProfile = () => { const loginInfo = useLoginState((state) => state.loginInfo); const setLoginInfo = useLoginState((state) => state.setLoginInfo); + const navigate = useNavigate(); const [addManagerOpen, setAddManagerOpen] = useState(false); // TODO: Stay logged in for 90 days and so much more return ( @@ -43,6 +45,7 @@ const ManagerProfile = () => { teamName: "", email: "", }); + navigate("/SignUp"); }} > Log Out diff --git a/code/client/impax/src/components/Profile/PlayerProfile/PlayerProfile.tsx b/code/client/impax/src/components/Profile/PlayerProfile/PlayerProfile.tsx index 322a5efe..bf84611e 100644 --- a/code/client/impax/src/components/Profile/PlayerProfile/PlayerProfile.tsx +++ b/code/client/impax/src/components/Profile/PlayerProfile/PlayerProfile.tsx @@ -6,6 +6,7 @@ import { FaRegUserCircle } from "react-icons/fa"; import { useLoginState } from "../../../states/profileState"; import { useSignupState } from "../../../states/formState"; import MyTeamsTable from "./MyTeamsTable"; +import { useNavigate } from "react-router-dom"; const PlayerProfile = () => { // Get team-id @@ -16,7 +17,7 @@ const PlayerProfile = () => { ); const loginInfo = useLoginState((state) => state.loginInfo); const setLoginInfo = useLoginState((state) => state.setLoginInfo); - + const navigate = useNavigate(); // TODO: Stay logged in for 90 days and so much more return (
@@ -37,6 +38,7 @@ const PlayerProfile = () => { teamName: "", email: "", }); + navigate("/SignUp"); }} > Log Out diff --git a/code/client/impax/src/components/Profile/SignUp.module.scss b/code/client/impax/src/components/Profile/SignUp.module.scss index 0f72fe95..2fb73ec6 100644 --- a/code/client/impax/src/components/Profile/SignUp.module.scss +++ b/code/client/impax/src/components/Profile/SignUp.module.scss @@ -33,6 +33,11 @@ } form { + .invalid { + color: lighten($color: $secondary-red, $amount: 15); + text-align: center; + font-weight: 600; + } display: flex; flex-direction: column; gap: 1em; @@ -42,7 +47,7 @@ form { left: 0.6em; font-size: 0.9em; margin-bottom: 0.3em; - color: red; + color: $primary-red; } label { display: block; diff --git a/code/client/impax/src/states/formState.ts b/code/client/impax/src/states/formState.ts index 977f0992..dfb34163 100644 --- a/code/client/impax/src/states/formState.ts +++ b/code/client/impax/src/states/formState.ts @@ -1,6 +1,5 @@ import { create } from "zustand"; import { Role } from "../types"; -import { useNavigate } from "react-router-dom"; interface RoleState { role: Role; @@ -48,7 +47,6 @@ export const useSignupState = create()((set) => ({ set({ isLoggedInPlayer: isLoggedInPlayer }); localStorage.setItem("isLoggedInPlayer", isLoggedInPlayer.toString()); if (!isLoggedInPlayer) localStorage.clear(); - useNavigate()("/SignUp"); }, isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", @@ -56,6 +54,5 @@ export const useSignupState = create()((set) => ({ set({ isLoggedInManager: isLoggedInManager }), localStorage.setItem("isLoggedInManager", isLoggedInManager.toString()); if (!isLoggedInManager) localStorage.clear(); - useNavigate()("/SignUp"); }, })); From 1d4ac2b8197f6ca7c6e694a6054b1397fefd4123 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 02:38:27 +0530 Subject: [PATCH 35/57] Add isVerified parameter to addPlayer function --- .../src/components/PlayerManagement/PlayerManagement.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx index 1b8e4740..f049141b 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx @@ -168,7 +168,12 @@ const PlayerManagement = () => { const responseData = await response.json(); if (response.ok) { console.log("response OK", responseData); - addPlayer(data.jersey_number, data.name, data.email); + addPlayer( + data.jersey_number, + data.name, + data.email, + responseData.isVerified + ); } reset(); From e84c7adb9101bf8d873d7b652264c7ae58d41467 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 02:38:33 +0530 Subject: [PATCH 36/57] Add console.log to display playersData --- code/client/impax/src/services/httpClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index ec310be7..2b5a3079 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -47,7 +47,7 @@ export const getPlayers = async () => { }, }); const playersData: Players = await playersResponse.json(); - + console.log(playersData); updatePlayersDetails(playersData); } catch (error) { console.log(error); From a3c6106ae610318e1fedb1fd3b3ec8cfb6d5bc28 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 02:38:39 +0530 Subject: [PATCH 37/57] Add Verification component to appState --- code/client/impax/src/states/appState.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/code/client/impax/src/states/appState.ts b/code/client/impax/src/states/appState.ts index 55fa688b..b40d5989 100644 --- a/code/client/impax/src/states/appState.ts +++ b/code/client/impax/src/states/appState.ts @@ -15,6 +15,7 @@ import { import { players } from "../data/players"; import { deleteByValue } from "../utils/utils"; import MqttClient from "../services/mqttClient"; +import { Verification, Verification } from "../components/PlayerManagement/PlayersTable/Verification/Verification"; interface AppState { activePage: activePage; @@ -42,7 +43,8 @@ interface AppState { addPlayer: ( jersey_number: number, player_name: string, - player_email: string + player_email: string, + Verification:Verification ) => void; removePlayer: (player_id: number) => void; editPlayer: ( @@ -105,7 +107,7 @@ export const useAppState = create()((set) => ({ playersImpactHistory: {} as PlayerImpactHistory, //TODO: Clashing of players with other dashbaords - playerDetails: players, + playerDetails: {} as Players, setPlayerDetails: (players: Players) => { set({ playerDetails: players }); const timestamp = new Date().getTime(); @@ -156,7 +158,8 @@ export const useAppState = create()((set) => ({ addPlayer: ( jersey_number: number, player_name: string, - player_email: string + player_email: string, + verification:Verification ) => set((prevState) => { const playerDetails = { @@ -164,7 +167,7 @@ export const useAppState = create()((set) => ({ [jersey_number]: { name: player_name, email: player_email, - verification: "pending" as Verification, + verification: verification, }, }; From bc83be6de751a839bb759c8d68e4b92e64905fe0 Mon Sep 17 00:00:00 2001 From: kaushithamsilva Date: Fri, 26 Jan 2024 03:27:35 +0530 Subject: [PATCH 38/57] files for build, unused variables --- .../assets/fonts/Made Outer Sans Bold.OTF | Bin 0 -> 101396 bytes .../fonts/Raleway-VariableFont_wght.ttf | Bin 0 -> 311856 bytes .../impax/public/assets/images/cover-min.jpg | Bin 0 -> 262859 bytes .../impax/public/assets/logos/Icon-Dark.svg | 1 + .../client/impax/public/assets/logos/Icon.svg | 1 + .../public/assets/logos/Logo-Impax-Dark.svg | 1 + .../impax/public/assets/logos/Logo-Impax.png | Bin 0 -> 9953 bytes .../impax/public/assets/logos/Logo-Impax.svg | 1 + code/client/impax/public/assets/react.svg | 1 + .../src/components/Live/ActiveSession.tsx | 3 +- .../Live/Card/MonitoringElements.tsx | 2 +- .../PlayerManagement/PlayerManagement.tsx | 5 + .../src/components/Profile/LoginManager.tsx | 14 +- .../src/components/Profile/LoginPlayer.tsx | 3 +- .../Profile/ManagerProfile/ManagerActions.tsx | 11 +- .../Profile/PlayerProfile/TeamsActions.tsx | 4 +- code/client/impax/src/index.scss | 4 +- code/client/impax/src/utils/serialCom.ts | 157 +++++++++--------- 18 files changed, 108 insertions(+), 100 deletions(-) create mode 100644 code/client/impax/public/assets/fonts/Made Outer Sans Bold.OTF create mode 100644 code/client/impax/public/assets/fonts/Raleway-VariableFont_wght.ttf create mode 100644 code/client/impax/public/assets/images/cover-min.jpg create mode 100644 code/client/impax/public/assets/logos/Icon-Dark.svg create mode 100644 code/client/impax/public/assets/logos/Icon.svg create mode 100644 code/client/impax/public/assets/logos/Logo-Impax-Dark.svg create mode 100644 code/client/impax/public/assets/logos/Logo-Impax.png create mode 100644 code/client/impax/public/assets/logos/Logo-Impax.svg create mode 100644 code/client/impax/public/assets/react.svg diff --git a/code/client/impax/public/assets/fonts/Made Outer Sans Bold.OTF b/code/client/impax/public/assets/fonts/Made Outer Sans Bold.OTF new file mode 100644 index 0000000000000000000000000000000000000000..e0cd5cf5f56e607880906249fce82a10c9e1f07b GIT binary patch literal 101396 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 literal 0 HcmV?d00001 diff --git a/code/client/impax/public/assets/fonts/Raleway-VariableFont_wght.ttf b/code/client/impax/public/assets/fonts/Raleway-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..109884dc81e636e147e91d586e1b56c200c9ccc3 GIT binary patch literal 311856 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

JC;1M$-F8CD} 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 p4RnjM3+dC1 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%0D>NG2vFnM!4cpGDgS3k)Mdg3R)UEtYY-PK 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%0Da)g_@-)>*I}xi`v5SCl49otIAVBQVsGeTqG0D2| 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 literal 0 HcmV?d00001 diff --git a/code/client/impax/public/assets/logos/Icon-Dark.svg b/code/client/impax/public/assets/logos/Icon-Dark.svg new file mode 100644 index 00000000..2e43c4cf --- /dev/null +++ b/code/client/impax/public/assets/logos/Icon-Dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/code/client/impax/public/assets/logos/Icon.svg b/code/client/impax/public/assets/logos/Icon.svg new file mode 100644 index 00000000..52c5f6cf --- /dev/null +++ b/code/client/impax/public/assets/logos/Icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/code/client/impax/public/assets/logos/Logo-Impax-Dark.svg b/code/client/impax/public/assets/logos/Logo-Impax-Dark.svg new file mode 100644 index 00000000..27d9a4a7 --- /dev/null +++ b/code/client/impax/public/assets/logos/Logo-Impax-Dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/code/client/impax/public/assets/logos/Logo-Impax.png b/code/client/impax/public/assets/logos/Logo-Impax.png new file mode 100644 index 0000000000000000000000000000000000000000..aef7996172828643655cb85d39f5c27ff9edadee GIT binary patch literal 9953 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 literal 0 HcmV?d00001 diff --git a/code/client/impax/public/assets/logos/Logo-Impax.svg b/code/client/impax/public/assets/logos/Logo-Impax.svg new file mode 100644 index 00000000..1dadb4ee --- /dev/null +++ b/code/client/impax/public/assets/logos/Logo-Impax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/code/client/impax/public/assets/react.svg b/code/client/impax/public/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/code/client/impax/public/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/code/client/impax/src/components/Live/ActiveSession.tsx b/code/client/impax/src/components/Live/ActiveSession.tsx index 9c3ba8f4..727f32d4 100644 --- a/code/client/impax/src/components/Live/ActiveSession.tsx +++ b/code/client/impax/src/components/Live/ActiveSession.tsx @@ -1,10 +1,9 @@ import styles from "./ActiveSession.module.scss"; -import { FaCheck, FaEdit, FaTimes, FaTrash } from "react-icons/fa"; +import { FaCheck, FaEdit, FaTrash } from "react-icons/fa"; import { IoMdExit } from "react-icons/io"; import Btn from "../Buttons/Btn"; import MonitoringCard from "./Card/MonitoringCard"; import ActiveCard from "./Card/ActiveCard"; -import AlertModal from "../Modal/AlertModal"; import { useAppState } from "../../states/appState"; import DialogModal from "../Modal/DialogModal"; import { useState } from "react"; diff --git a/code/client/impax/src/components/Live/Card/MonitoringElements.tsx b/code/client/impax/src/components/Live/Card/MonitoringElements.tsx index c3b2a445..9e343ef0 100644 --- a/code/client/impax/src/components/Live/Card/MonitoringElements.tsx +++ b/code/client/impax/src/components/Live/Card/MonitoringElements.tsx @@ -19,7 +19,7 @@ const MonitoringElements: React.FC<{ metrics?: metrics; playerId: number; latestImpact?: Impact; -}> = ({ metrics, latestImpact, playerId }) => { +}> = ({ latestImpact, playerId }) => { const timeDiff = latestImpact ? Date.now() - latestImpact.timestamp : 0; // Convert the time difference to minutes diff --git a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx index 1b8e4740..e1aad2e0 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx @@ -153,6 +153,11 @@ const PlayerManagement = () => { const onSubmit = async (data: FieldValues) => { setAddPlayerOpen(false); + //TODO: player with same id exists, show error to user and return + if (data.jersey_number in playerDetails) { + alert("Player already exists"); + return; + } const response = await fetch(`${BASE_URL}/player/add`, { method: "POST", body: JSON.stringify({ diff --git a/code/client/impax/src/components/Profile/LoginManager.tsx b/code/client/impax/src/components/Profile/LoginManager.tsx index 521234d3..0a0a2474 100644 --- a/code/client/impax/src/components/Profile/LoginManager.tsx +++ b/code/client/impax/src/components/Profile/LoginManager.tsx @@ -18,7 +18,6 @@ const LoginManager = () => { register, handleSubmit, formState: { errors, isSubmitting }, - setError, reset, } = useForm(); const getTeamInfo = async (teamId: string, token: string) => { @@ -70,10 +69,11 @@ const LoginManager = () => { navigate("/login/manager"); } else { //TODO1: Error message resets - setError("invalid", { - type: "custom", - message: "Invalid Credentials: Please try again", - }); + // setError("invalid", { + // type: "custom", + // message: "Invalid Credentials: Please try again", + // }); + alert("Invalid Credentials: Please try again"); } reset(); @@ -82,9 +82,9 @@ const LoginManager = () => { return ( <> - {errors["invalid"] && ( + {/* {errors["invalid"] && (

{`${errors["invalid"].message}`}

- )} + )} */}
{errors.teamId &&

{`${errors.teamId.message}`}

} diff --git a/code/client/impax/src/components/Profile/LoginPlayer.tsx b/code/client/impax/src/components/Profile/LoginPlayer.tsx index 7434ae4d..a1329a3f 100644 --- a/code/client/impax/src/components/Profile/LoginPlayer.tsx +++ b/code/client/impax/src/components/Profile/LoginPlayer.tsx @@ -42,10 +42,11 @@ const LoginPlayer = () => { accessToken: responseData.accessToken, refreshToken: responseData.refreshToken, }); - // TODO: Pass the teamInfo the to the profile page setLoginInfo({ teamId: "", teamName: "", email }); navigate("/login/player"); + } else { + alert("Invalid credentials"); } reset(); diff --git a/code/client/impax/src/components/Profile/ManagerProfile/ManagerActions.tsx b/code/client/impax/src/components/Profile/ManagerProfile/ManagerActions.tsx index 8228af73..45bb3c81 100644 --- a/code/client/impax/src/components/Profile/ManagerProfile/ManagerActions.tsx +++ b/code/client/impax/src/components/Profile/ManagerProfile/ManagerActions.tsx @@ -1,16 +1,15 @@ -import React, { useState } from "react"; -import { FaEdit, FaTimes, FaTrash } from "react-icons/fa"; +import React from "react"; +import { FaTimes, FaTrash } from "react-icons/fa"; import styles from "./ManagerActions.module.scss"; -import { FaCheck } from "react-icons/fa6"; -import DialogModal from "../../Modal/DialogModal"; + import Btn from "../../Buttons/Btn"; import AlertModal from "../../Modal/AlertModal"; const ManagerActions: React.FC<{ name: string; email: string }> = ({ - name, + // name, email, }) => { - const [openEdit, setOpenEdit] = useState(false); + // const [openEdit, setOpenEdit] = useState(false); return (
{/* = ({ - team_id, + // team_id, team_name, verification, }) => { diff --git a/code/client/impax/src/index.scss b/code/client/impax/src/index.scss index 47939629..f7804c13 100644 --- a/code/client/impax/src/index.scss +++ b/code/client/impax/src/index.scss @@ -11,11 +11,11 @@ @font-face { font-family: "Raleway"; - src: url("./assets/fonts/Raleway-VariableFont_wght.ttf"); + src: url("/assets/fonts/Raleway-VariableFont_wght.ttf"); } @font-face { font-family: "MADE Outer Sans"; - src: url("./assets/fonts/Made\ Outer\ Sans\ Bold.OTF"); + src: url("/assets/fonts/Made\ Outer\ Sans\ Bold.OTF"); } body { diff --git a/code/client/impax/src/utils/serialCom.ts b/code/client/impax/src/utils/serialCom.ts index d35608a6..33efff75 100644 --- a/code/client/impax/src/utils/serialCom.ts +++ b/code/client/impax/src/utils/serialCom.ts @@ -1,94 +1,93 @@ /* eslint-disable no-constant-condition */ export async function sendData( - message: string, - port: SerialPort, - encoder: TextEncoder - ) { - const writer = port.writable?.getWriter(); - try { - await writer?.write(encoder.encode(message + "\n")); // Add newline for clarity - console.log(`Message sent: ${message}`); - } catch (error) { - console.error("Error writing message:", error); - } finally { - writer?.releaseLock(); - } + message: string, + port: SerialPort, + encoder: TextEncoder +) { + const writer = port.writable?.getWriter(); + try { + await writer?.write(encoder.encode(message + "\n")); // Add newline for clarity + console.log(`Message sent: ${message}`); + } catch (error) { + console.error("Error writing message:", error); + } finally { + writer?.releaseLock(); } - +} + export async function readData(port: SerialPort, decoder: TextDecoder) { - let message = ""; - while (port.readable) { - const reader = port.readable.getReader(); - try { - while (true) { - const { value, done } = await reader.read(); - if (done) { - // |reader| has been canceled. - break; - } - message += decoder.decode(value.buffer); - // console.log(message); - return message.trim(); - // console.log(decoder.decode(value.buffer)); - // Do something with |value|... + let message = ""; + while (port.readable) { + const reader = port.readable.getReader(); + try { + while (true) { + const { value, done } = await reader.read(); + if (done) { + // |reader| has been canceled. + break; } - } catch (error) { - // Handle |error|... - } finally { - reader.releaseLock(); + message += decoder.decode(value.buffer); + // console.log(message); + return message.trim(); + // console.log(decoder.decode(value.buffer)); + // Do something with |value|... } - } // Remove potential trailing newline - return message; - } - - export const syncDevice = async (ssid:string,password:string) => { - const decoder = new TextDecoder(); - const encoder = new TextEncoder(); - const filters = [ - { usbVendorId: 0x2341, usbProductId: 0x0043 }, - { usbVendorId: 0x2341, usbProductId: 0x0001 }, - ]; - const filtersESP = [{ usbVendorId: 0x1a86, usbProductId: 0x7523 }]; - if ("serial" in navigator) { - console.log("Yahooo Serial is supported"); - const port = await (navigator.serial as Serial).requestPort({ - filters: filters, - }); - console.log(port); - await port.open({ baudRate: 9600 }); + } catch (error) { + // Handle |error|... + } finally { + reader.releaseLock(); + } + } // Remove potential trailing newline + return message; +} - await new Promise((resolve) => setTimeout(resolve, 3000)); - // const reqMessage = "{impax,impax12345678,impax,impax}"; - const reqMessage = `{${ssid},${password},impax,impax}`; +export const syncDevice = async (ssid: string, password: string) => { + const decoder = new TextDecoder(); + const encoder = new TextEncoder(); + const filters = [ + { usbVendorId: 0x2341, usbProductId: 0x0043 }, + { usbVendorId: 0x2341, usbProductId: 0x0001 }, + ]; + // const filtersESP = [{ usbVendorId: 0x1a86, usbProductId: 0x7523 }]; + if ("serial" in navigator) { + console.log("Yahooo Serial is supported"); + const port = await (navigator.serial as Serial).requestPort({ + filters: filters, + }); + console.log(port); + await port.open({ baudRate: 9600 }); + await new Promise((resolve) => setTimeout(resolve, 3000)); + // const reqMessage = "{impax,impax12345678,impax,impax}"; + const reqMessage = `{${ssid},${password},impax,impax}`; - try { - await sendData("request", port, encoder); + try { + await sendData("request", port, encoder); + await new Promise((resolve) => setTimeout(resolve, 3000)); + const ackMessage = await readData(port, decoder); + console.log("First Reply" + ackMessage); + if (ackMessage === "ack") { + await new Promise((resolve) => setTimeout(resolve, 3000)); + await sendData(reqMessage, port, encoder); await new Promise((resolve) => setTimeout(resolve, 3000)); - const ackMessage = await readData(port, decoder); - console.log("First Reply" + ackMessage); - if (ackMessage === "ack") { - await new Promise((resolve) => setTimeout(resolve, 3000)); - await sendData(reqMessage, port, encoder); - await new Promise((resolve) => setTimeout(resolve, 3000)); - const secondreply = await readData(port, decoder); - console.log("Second reply " + secondreply); - if (secondreply === "ack") { - console.log("Configuration sent successfully"); - } else { - console.log("Configuration Not Sent!!"); - } + const secondreply = await readData(port, decoder); + console.log("Second reply " + secondreply); + if (secondreply === "ack") { + console.log("Configuration sent successfully"); } else { - console.error("Handshake failed: ACK not received"); + console.log("Configuration Not Sent!!"); } - } catch (error) { - console.error("Error:", error); - } finally { - await port.close(); - console.log("Port closed"); + } else { + console.error("Handshake failed: ACK not received"); } - } else { - console.log("its not"); + } catch (error) { + console.error("Error:", error); + } finally { + await port.close(); + console.log("Port closed"); } - }; \ No newline at end of file + } else { + console.log("its not"); + } +}; From df0fe78b38e696c55afcfb5d6b06cdf041d6f041 Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 06:30:24 +0530 Subject: [PATCH 39/57] Change analytics endpoint from team to manager --- code/backend/swagger.json | 75 ++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/code/backend/swagger.json b/code/backend/swagger.json index ed138ab9..202ed19f 100644 --- a/code/backend/swagger.json +++ b/code/backend/swagger.json @@ -455,6 +455,43 @@ } } }, + "/manager/analytics-summary/{duration}": { + "get": { + "tags": ["ManagerEndpoints"], + "summary": "Get analytics summary for a specific duration", + "parameters": [ + { + "name": "duration", + "in": "path", + "description": "Duration for analytics summary (e.g., 'Last Week' , 'Last Month' , 'All Time')", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "$ref": "#/components/schemas/AnalyticsSummary" + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "example": { + "message": "Bad Request" + } + } + } + } + } + } + }, @@ -542,43 +579,7 @@ } }, - "/player/analytics-summary/{duration}": { - "get": { - "tags": ["PlayerEndpoints"], - "summary": "Get analytics summary for a specific duration", - "parameters": [ - { - "name": "duration", - "in": "path", - "description": "Duration for analytics summary (e.g., 'Last Week' , 'Last Month' , 'All Time')", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "$ref": "#/components/schemas/AnalyticsSummary" - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "example": { - "message": "Bad Request" - } - } - } - } - } - } - }, + "/player/add": { "post": { From 148891cd256c7ba944411cd1c8420eea96656280 Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 06:30:52 +0530 Subject: [PATCH 40/57] Add 'none' as an option for ImpactDirection --- code/backend/src/types/types.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/code/backend/src/types/types.ts b/code/backend/src/types/types.ts index 9f5c7271..2f7a2798 100644 --- a/code/backend/src/types/types.ts +++ b/code/backend/src/types/types.ts @@ -19,7 +19,7 @@ export type AnalyticsSummary = { }>; }; -export type ImpactDirection = 'left' | 'right' | 'front' | 'back'; +export type ImpactDirection = 'left' | 'right' | 'front' | 'back'| 'none'; export type SessionAnalytics = { sessionName: string; @@ -48,4 +48,24 @@ export type TeamPlayerResponse = { verification: string; }; +export type AnalyticsSummaryTeam = { + summaryData: Array<{ + title: string; + value: string | number; + trend?: string | number; + }>; + tableData: { + [jerseyId: number]: { + playerName: string; + impactsRecorded: number; + cumulativeImpact: number; + averageImpact: number; + largestImpact: number; + dominantDirection: string; + concussions: number; + }; + }; +}; + + \ No newline at end of file From a990379e431505bb83b75449acd4ff0e6e52ec09 Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 06:31:18 +0530 Subject: [PATCH 41/57] Add team analytics endpoint and controller method --- .../src/controllers/manager.controller.ts | 24 +- .../src/controllers/team.controller.ts | 26 ++ code/backend/src/exceptions/http.codes.mgs.ts | 1 + code/backend/src/routes/manager.route.ts | 41 +++ code/backend/src/routes/team.route.ts | 1 + .../src/services/managers.in.team.service.ts | 299 +++++++++++++++++- code/backend/src/services/team.service.ts | 209 +++++++++++- 7 files changed, 598 insertions(+), 3 deletions(-) diff --git a/code/backend/src/controllers/manager.controller.ts b/code/backend/src/controllers/manager.controller.ts index 04264066..f8f07480 100644 --- a/code/backend/src/controllers/manager.controller.ts +++ b/code/backend/src/controllers/manager.controller.ts @@ -5,7 +5,7 @@ import managersInTeamService from "../services/managers.in.team.service"; import { sendVerificationEmail } from "../email/managerVerifyEmail"; import { sendInvitationEmail } from "../email/managerInviteEmail"; import { v4 as uuidv4 } from "uuid"; -import { TeamPlayerResponse } from "../types/types"; +import { AnalyticsSummaryTeam, TeamPlayerResponse } from "../types/types"; class ManagerController { async createManager( @@ -178,6 +178,28 @@ class ManagerController { } } + + //get Team Analytics + async getTeamAnalytics(teamId: string, duration:string): Promise { + + // 'Last Week' , 'Last Month' , 'All Time' + let durationNumber: number = 0; + + if (duration == "All Time"){ + durationNumber = Date.now(); + } else if (duration == "Last Month"){ + durationNumber = 30 * 24 * 60 * 60 * 1000; + } else if (duration == "Last Week"){ + durationNumber = 7 * 24 * 60 * 60 * 1000; + } + try { + const response = await managersInTeamService.getTeamAnalytics(teamId, durationNumber); + return response; + } catch (error) { + console.error(error); + throw error; + } + } } function generateInvitationToken(): string { diff --git a/code/backend/src/controllers/team.controller.ts b/code/backend/src/controllers/team.controller.ts index d906108e..d3606359 100644 --- a/code/backend/src/controllers/team.controller.ts +++ b/code/backend/src/controllers/team.controller.ts @@ -116,6 +116,32 @@ class TeamController { } return false; } + + async getAnalyticsSummary( + teamId: string, + duration: string + ): Promise{ + // 'Last Week' , 'Last Month' , 'All Time' + let durationNumber: number = 0; + + if (duration == "All Time"){ + durationNumber = Date.now(); + } else if (duration == "Last Month"){ + durationNumber = 30 * 24 * 60 * 60 * 1000; + } else if (duration == "Last Week"){ + durationNumber = 7 * 24 * 60 * 60 * 1000; + } + // console.log(durationNumber); + + try { + const analyticsSummary = await teamService.getAnalyticsSummary(teamId, durationNumber); + // return analyticsSummary; + } catch (error) { + console.error(error); + throw new Error("Error in player service"); + } + + } } export default new TeamController(); diff --git a/code/backend/src/exceptions/http.codes.mgs.ts b/code/backend/src/exceptions/http.codes.mgs.ts index 44551117..0fb7b6ab 100644 --- a/code/backend/src/exceptions/http.codes.mgs.ts +++ b/code/backend/src/exceptions/http.codes.mgs.ts @@ -27,6 +27,7 @@ enum HttpMsg { MANAGER_LOGIN_FAILED = "Login failed", MANAGER_ADD_SUCCESS = "Manager added successfully", MANAGER_ADD_FAILED = "Manager added failed", + MANAGER_NOT_FOUND = "Manager not found", TEAM_NOT_FOUND = "Team not found", MANAGER_DEOS_NOT_EXIST = "Manager does not exist", PLAYER_EXIT_ERROR = "Player exited error", diff --git a/code/backend/src/routes/manager.route.ts b/code/backend/src/routes/manager.route.ts index f2f241be..cbf86ba0 100644 --- a/code/backend/src/routes/manager.route.ts +++ b/code/backend/src/routes/manager.route.ts @@ -255,6 +255,47 @@ router.get("/getTeamPlayers",async (req:Request, res: Response) => { } }); +// Endpoint to get Team Analytics +router.get("/analytics-summary/:duration", async (req: Request, res: Response) => { + const managerEmail = req.body.userName; + const teamId = req.body.teamId; + // check the request comes from the manager + if (req.body.role != ROLES.MANAGER) { + console.log(HttpMsg.UNAUTHORIZED); + res.status(HttpCode.UNAUTHORIZED).send({ message: HttpMsg.BAD_REQUEST }); + return; + } + + if (!managerEmail) { + console.log(HttpMsg.BAD_REQUEST); + res.status(HttpCode.BAD_REQUEST).send({ message: HttpMsg.BAD_REQUEST }); + return; + } + + try { + const managerExists = await managerController.checkManagerExistsInTeam( + managerEmail, + teamId + ); + + if (managerExists) { + const teamAnalyticsResponse = + await managerController.getTeamAnalytics(teamId, req.params.duration); + res.send(teamAnalyticsResponse); + } else { + throw new Error(HttpMsg.MANAGER_DEOS_NOT_EXIST); + } + } catch (err) { + if (err instanceof Error) { + // If 'err' is an instance of Error, send the error message + res.status(HttpCode.BAD_REQUEST).send({ message: err.message }); + } else { + // If 'err' is of unknown type, send a generic error message + res.status(HttpCode.BAD_REQUEST).send({ message: HttpMsg.BAD_REQUEST }); + } + } +}); + // Endpoint Accept Invitation router.get("/accept-invitation/token/:token", async (req, res) => { const token = req.params.token; diff --git a/code/backend/src/routes/team.route.ts b/code/backend/src/routes/team.route.ts index a287e630..45972730 100644 --- a/code/backend/src/routes/team.route.ts +++ b/code/backend/src/routes/team.route.ts @@ -277,5 +277,6 @@ router.get("/:id", async (req: Request, res: Response) => { } }); + // Export the router for use in other files export default router; diff --git a/code/backend/src/services/managers.in.team.service.ts b/code/backend/src/services/managers.in.team.service.ts index a40ef411..e67f295f 100644 --- a/code/backend/src/services/managers.in.team.service.ts +++ b/code/backend/src/services/managers.in.team.service.ts @@ -1,6 +1,8 @@ import ManagerTeamModel from "../db/managers.in.team.schema"; import PlayerTeamModel from "../db/players.in.team.schema"; -import { TeamPlayerResponse } from "../types/types"; +import SessionModel from "../db/session.schema"; +import { Impact, SessionResponse } from "../models/session.model"; +import { AnalyticsSummaryTeam, ImpactStats, TeamPlayerResponse, ImpactDirection } from "../types/types"; class ManagersInTeamService { // create team manager instance @@ -89,6 +91,7 @@ class ManagersInTeamService { return false; } + //{ [jerseyId: number]: TeamPlayerResponse } // get the players in the team async getPlayersInTeam(teamId: string):Promise<{ [jerseyId: number]: TeamPlayerResponse }>{ @@ -121,5 +124,299 @@ class ManagersInTeamService { } } + + //get the team analytics + async getTeamAnalytics(teamId: string, duration: number): Promise { + + // Initialize variable to store data + let analyticsSummary: AnalyticsSummaryTeam = { + summaryData: [ + { + title: "Sessions", + value: 0, + trend: 0, + }, + { + title: "Impacts Recorded", + value: 0, + trend: 0, + }, + { + title: "Contributing Players", + value: 0, + trend: 0, + }, + { + title: "Highest Contributor", + value: 0 + } + ], + tableData: {} + }; + + try { + // Find the all the sessions for the team + const sessions = await SessionModel.find({ teamId: teamId }); + // console.log(sessions); + + //get all the playrs of the team (players in team) + const teamPlayers = await this.getPlayersInTeam(teamId); + // list of jersyIds + const jerseyIds: number[] = Object.keys(teamPlayers).map(Number); + + // For calculations of trends (previous) + let tableDataPrev = {} as AnalyticsSummaryTeam["tableData"]; + + + // Table data with player name + jerseyIds.forEach((jerseyId) => { + analyticsSummary.tableData[jerseyId] = { + playerName: teamPlayers[jerseyId].name, + impactsRecorded: 0, + cumulativeImpact: 0, + averageImpact: 0, + largestImpact: 0, + dominantDirection: "", + concussions: 0 + }; + }); + + jerseyIds.forEach((jerseyId) => { + tableDataPrev[jerseyId] = { + playerName: teamPlayers[jerseyId].name, + impactsRecorded: 0, + cumulativeImpact: 0, + averageImpact: 0, + largestImpact: 0, + dominantDirection: "", + concussions: 0 + }; + }); + + + // Get Time period need to be get analytics + const now = Date.now(); + const previous= now - (2 * duration); // timestamp of 2 * duration ago + const current= now - (duration); // timestamp of 2 * duration ago + + // In previous time period, no of sessions + let prevSessions : number= 0; + let filteredSessionsPrevious: SessionResponse[] = []; + + // Sessions in previous time period + if (previous>=0){ + filteredSessionsPrevious = sessions.filter(session => { + const createdAt = new Date(session.createdAt).getTime(); + return createdAt >= previous && createdAt <= current; + }); + // console.log(filteredSessionsPrevious); + await this.calculationForSessions(filteredSessionsPrevious, tableDataPrev); + + // Get the number of sessions + prevSessions = filteredSessionsPrevious.length + } + + + // Sessions in cuurent period + const filteredSessionsCurrent = sessions.filter(session => { + const createdAt = new Date(session.createdAt).getTime(); + return createdAt >= current && createdAt <= now; + }); + + // Get the number of sessions + const numberOfSessions = filteredSessionsCurrent.length + analyticsSummary.summaryData[0].value = numberOfSessions; + analyticsSummary.summaryData[0].trend = Math.round(((numberOfSessions - prevSessions)*100/prevSessions)); + + + // Fill up table data + await this.calculationForSessions(filteredSessionsCurrent, analyticsSummary.tableData); + await this.calculationForSessions(filteredSessionsPrevious, tableDataPrev); + + // console.log("analyticsSummary.tableData:"); + // console.log(analyticsSummary.tableData); + // console.log("tableDataPrev:"); + // console.log(tableDataPrev); + // console.log(filteredSessionsCurrent); + + await this.calculationSummaryData(tableDataPrev, analyticsSummary.tableData, analyticsSummary.summaryData, jerseyIds); + + + console.log("analyticsSummary:"); + console.log(analyticsSummary); + + return analyticsSummary; + } catch (error) { + console.error(error); + throw error; + } + } + + //Calculate the analytics for each sesseions + async calculationForSessions( + sessions: SessionResponse[], + tableData: AnalyticsSummaryTeam["tableData"] + ): Promise { + try{ + + for (const jerseyId in tableData) { + // console.log(Number(jerseyId)); + let playerData = tableData[jerseyId]; + // if (jerseyId in tableData) { + // // The jerseyId exists in the tableData object, so you can use it + // playerData = tableData[jerseyId]; + // } else { + // continue; + // } + + // console.log(playerData); + + let directionCount: { + front: number, + back: number, + left: number, + right: number + } = { + front: 0, + back: 0, + left: 0, + right: 0 + }; + + // For each session + for (const session of sessions) { + // console.log("Session: " + session.sessionId); + // console.log(session.impactHistory); + for (const impactPlayer of session.impactHistory) { + // console.log(impactPlayer.jerseyId, Number(jerseyId)); + if (impactPlayer.jerseyId === Number(jerseyId) ){ + + // For each impact in the impact Player + for (const impact of impactPlayer.impact) { + playerData.impactsRecorded += 1; + playerData.cumulativeImpact += impact.magnitude; + if (playerData.largestImpact < impact.magnitude) { + playerData.largestImpact = impact.magnitude; + } + + playerData.averageImpact = playerData.cumulativeImpact / playerData.impactsRecorded; + directionCount[impact.direction as keyof typeof directionCount] += 1; + + // console.log(playerData) + // console.log(directionCount); + + if (impact.isConcussion) { + playerData.concussions += 1; + } + } + } + } + } + + // Round off the average impact + playerData.averageImpact = Math.round(playerData.averageImpact); + + if (playerData.impactsRecorded > 0) { + // Find the dominant direction + const maxValueCurr = Math.max(...Object.values(directionCount)); + const maxKeyCurr = Object.keys(directionCount).find(key => directionCount[key as keyof typeof directionCount] === maxValueCurr); + playerData.dominantDirection = maxKeyCurr as string; + } + + + // console.log(playerData); + } + }catch (error) { + console.error(error); + throw new Error("Error while fetching teams for player"); + } + } + + async calculationSummaryData( + tableDataPrev: AnalyticsSummaryTeam["tableData"], + tableData: AnalyticsSummaryTeam["tableData"], + summaryData: AnalyticsSummaryTeam["summaryData"], + jerseyIds: number[] + ): Promise { + try{ + + let highestImpactsRecorded = 0; + let playerNameWithHighestImpactsRecorded = ''; + let summaryDataPrev = [ + { + title: "Sessions", + value: 0, + trend: 0, + }, + { + title: "Impacts Recorded", + value: 0, + trend: 0, + }, + { + title: "Contributing Players", + value: 0, + trend: 0, + }, + { + title: "Highest Contributor", + value: 0 + } + ]; + + // Fill up values for summary data; + for (const jerseyId of jerseyIds) { + + const playerData = tableData[jerseyId]; + const playerDataPrev = tableDataPrev[jerseyId]; + + // Fill up summary data value ==> Sessions (already filled earlier) + // Fill up summary data value ==> Impacts Recorded + summaryData[1].value = Number(summaryData[1].value) + playerData.impactsRecorded; + summaryDataPrev[1].value = Number(summaryDataPrev[1].value) + playerDataPrev.impactsRecorded; + + + // Fill up summary data value ==> Contributors + if ((playerData.impactsRecorded) > 0) { + summaryData[2].value = Number(summaryData[2].value) + 1; + } + + if ((playerDataPrev.impactsRecorded) > 0) { + summaryDataPrev[2].value = Number(summaryDataPrev[2].value) + 1; + } + + // Fill up summary data value ==> Highest Contributor + if (playerData.impactsRecorded > highestImpactsRecorded) { + highestImpactsRecorded = playerData.impactsRecorded; + playerNameWithHighestImpactsRecorded = playerData.playerName; + } + summaryData[3].value = playerNameWithHighestImpactsRecorded; + + } + + + // Fill up trends + + // // Fill up summary data trend ==> Sessions + // if (summaryDataPrev[0].value > 0){ + // summaryData[0].trend = Math.round(((Number(summaryData[0].value) - summaryDataPrev[0].value)*100/summaryDataPrev[0].value)); + // } + + // Fill up summary data trend ==> Impacts Recorded + if (summaryDataPrev[1].value > 0){ + summaryData[1].trend = Math.round(((Number(summaryData[1].value) - summaryDataPrev[1].value)*100/summaryDataPrev[1].value)); + } + + // Fill up summary data trend ==> Contributors + if (summaryDataPrev[2].value > 0){ + summaryData[2].trend = Math.round(((Number(summaryData[2].value) - summaryDataPrev[2].value)*100/summaryDataPrev[2].value)); + } + + }catch (error) { + console.error(error); + throw new Error("Error while calculation summary data"); + } + } + } export default new ManagersInTeamService(); diff --git a/code/backend/src/services/team.service.ts b/code/backend/src/services/team.service.ts index 86c5c481..74c5af5e 100644 --- a/code/backend/src/services/team.service.ts +++ b/code/backend/src/services/team.service.ts @@ -8,6 +8,8 @@ Team; import TeamModel from "../db/team.schema"; import ManagerTeamModel from "../db/managers.in.team.schema"; import managersInTeamService from "./managers.in.team.service"; +import { AnalyticsSummaryTeam, ImpactStats, ImpactDirection } from "../types/types"; +import SessionModel from "../db/session.schema"; class TeamService { // delete team @@ -105,7 +107,19 @@ class TeamService { try { // Check if team exists - const team = await TeamModel.findOne({ teamId }); + // const team = await TeamModel.findOne({ teamId: teamId , managerEmail: email}); + // console.log(team, email, teamId); + + + const teams = await ManagerTeamModel.find({ managerEmail: email }); + + const team = teams.find(team => team.teamId === teamId); + + if (team) { + console.log(team); + } else { + console.log('Team not found'); + } if (team) { teamIdEmailExistsResponse.teamExists = true; @@ -145,5 +159,198 @@ class TeamService { return teamIdExistsResponse; } + + async getAnalyticsSummary(teamId: string, duration:number): Promise{ + + let analyticsSummary: AnalyticsSummaryTeam = { + summaryData: [ + { + title: "Session Count", + value: 0, + trend: 0, + }, + { + title: "Impacts Recorded", + value: 0, + trend: 0, + }, + { + title: "Average Impact", + value: 0, + trend: 0, + }, + { + title: "Contributing Players", + value: 0, + trend: 0, + }, + { + title: "Highest Contributor", + value: " " + } + ], + tableData: {} + }; + + try{ + + // Fetch sessions of the team + const sessions = await SessionModel.find({ teamId: teamId }); + console.log(sessions); + // if (playerTeams.length === 0) { + // // Should be change after finish this all + // // return []; + // console.log("No teams found for player"); + // } + + // const teamIds = playerTeams.map(playerTeam => playerTeam.teamId); + + // // Fetch teams from TeamModel + // const teams = await TeamModel.find({ teamId: { $in: teamIds } }, 'teamId jerseyId -_id'); + + // //Array of player's Team id and jerseyId in the team + // const teamResponsesWithJerseyId: Array = teams + // .map(team => { + // const matchingPlayerTeam = playerTeams.find(playerTeam => playerTeam.teamId === team.teamId); + // return matchingPlayerTeam + // ? new TeamResponseWithJerseyId(team.teamId, matchingPlayerTeam.jerseyId) + // : null; + // }) + // .filter((teamWithJerseyId): teamWithJerseyId is TeamResponseWithJerseyId => teamWithJerseyId !== null); + + // // console.log(teamResponsesWithJerseyId); + + // // Initialize To store Impact stats for previous and current duration + // let impactStatsPrev: ImpactStats = { + // impactsCumulative: 0, + // impactsRecorded: 0, + // highestImpact: 0, + // directionCount: { + // front: 0, + // back: 0, + // left: 0, + // right: 0 + // }, + // sessionAnalytics: [] + // }; + + // let impactStatsCurr: ImpactStats = { + // impactsCumulative: 0, + // impactsRecorded: 0, + // highestImpact: 0, + // directionCount: { + // front: 0, + // back: 0, + // left: 0, + // right: 0 + // }, + // sessionAnalytics: [] + // }; + + // // Get Time period need to be get analytics + // const now = Date.now(); + // const previous= now - (2 * duration); // timestamp of 2 * duration ago + // const current= now - (duration); // timestamp of 2 * duration ago + + // //get sessions by teamId in teamResponsesWithJerseyId + // for (const team of teamResponsesWithJerseyId) { + // // console.log(team.teamId); + // //Get all the sessions created in Team by teamId + // let sessions: Array = []; + // sessions = sessions.concat(await getSessionsForTeam(team.teamId)); + + + + // // console.log(previous); + + // if (previous>=0){ + // const filteredSessionsPrevious = sessions.filter(session => { + // const createdAt = new Date(session.createdAt).getTime(); + // return createdAt >= previous && createdAt <= current; + // }); + + // impactStatsPrev = await calculationForSessionsPrev(filteredSessionsPrevious, impactStatsPrev, team.jerseyId); + // }else{ + + // } + + // // console.log("Previous" + team.teamId ); + // // console.log(filteredSessionsPrevious); + + + // const filteredSessionsCurrent = sessions.filter(session => { + // const createdAt = new Date(session.createdAt).getTime(); + // return createdAt >= current && createdAt <= now; + // }); + // // console.log("Current" + team.teamId ); + // // console.log(filteredSessionsCurrent); + + + + // impactStatsCurr = await calculationForSessions( + // filteredSessionsCurrent, + // impactStatsCurr, + // team.jerseyId, + // analyticsSummary.histogramData, + // analyticsSummary.criticalSessions); + + + // } + + + // // console.log("impactStatsPrev:"); + // // console.log(impactStatsPrev); + // // console.log("impactStatsCurr:"); + // // console.log(impactStatsCurr); + + // // Fill up the analytics summary from impact stats ==> values + // analyticsSummary.summaryData[0].value = impactStatsCurr.impactsCumulative; + // analyticsSummary.summaryData[1].value = impactStatsCurr.impactsRecorded; + // analyticsSummary.summaryData[2].value = Math.round(impactStatsCurr.impactsCumulative / impactStatsCurr.impactsRecorded); + // analyticsSummary.summaryData[3].value = impactStatsCurr.highestImpact; + + // const maxValueCurr = Math.max(...Object.values(impactStatsCurr.directionCount)); + // const maxKeyCurr = Object.keys(impactStatsCurr.directionCount).find(key => impactStatsCurr.directionCount[key as keyof typeof impactStatsCurr.directionCount] === maxValueCurr); + // analyticsSummary.summaryData[4].value = maxKeyCurr as string; + // // console.log("maxKey:"); + // // console.log(maxKeyCurr, maxValueCurr); + + + // // All time no need of trend + // if (previous>=0){ + + + // // Fill up the analytics summary from impact stats ==> trends + // analyticsSummary.summaryData[0].trend = Math.round((impactStatsCurr.impactsCumulative - impactStatsPrev.impactsCumulative)*100/impactStatsPrev.impactsCumulative); + // analyticsSummary.summaryData[1].trend = Math.round((impactStatsCurr.impactsRecorded - impactStatsPrev.impactsRecorded)*100/impactStatsPrev.impactsRecorded); + + // const averageImpactPrev = impactStatsPrev.impactsCumulative / impactStatsPrev.impactsRecorded; + // const averageImpactCurr = impactStatsCurr.impactsCumulative / impactStatsCurr.impactsRecorded; + // analyticsSummary.summaryData[2].trend = Math.round((averageImpactCurr - averageImpactPrev)*100/averageImpactPrev); + // analyticsSummary.summaryData[3].trend = Math.round((impactStatsCurr.highestImpact - impactStatsPrev.highestImpact)*100/impactStatsPrev.highestImpact); + + // const maxValuePrev = Math.max(...Object.values(impactStatsPrev.directionCount)); + // const maxKeyPrev = Object.keys(impactStatsPrev.directionCount).find(key => impactStatsPrev.directionCount[key as keyof typeof impactStatsPrev.directionCount] === maxValuePrev); + // analyticsSummary.summaryData[4].trend = maxKeyPrev as ImpactDirection; + // // console.log("maxKey:"); + // // console.log(maxKeyPrev, maxValuePrev); + + // // Sort the critical sessions array by cumulative impact in descending order + // analyticsSummary["criticalSessions"].sort((a, b) => b.cumulativeImpact - a.cumulativeImpact); + // // console.log( analyticsSummary["criticalSessions"]); + + // // console.log("analyticsSummary:"); + // // console.log(analyticsSummary); + + + // } + + + // return analyticsSummary; +}catch (error) { + console.error(error); + throw new Error("Error while fetching teams for player"); + } + } } export default new TeamService(); From 4fe0a19668c277342e4cfe69020eb0f10dafaf95 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:39:39 +0530 Subject: [PATCH 42/57] Add sweetalert2 package dependency --- code/client/impax/package-lock.json | 10 ++++++++++ code/client/impax/package.json | 1 + 2 files changed, 11 insertions(+) diff --git a/code/client/impax/package-lock.json b/code/client/impax/package-lock.json index f64b1de0..70de60e6 100644 --- a/code/client/impax/package-lock.json +++ b/code/client/impax/package-lock.json @@ -27,6 +27,7 @@ "react-select": "^5.8.0", "sass": "^1.69.5", "serialport": "^12.0.0", + "sweetalert2": "^11.10.4", "zustand": "^4.4.7" }, "devDependencies": { @@ -8430,6 +8431,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sweetalert2": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.4.tgz", + "integrity": "sha512-MOVRuEW/yQsyzgkaiHqAJcYKxW3vhtE5o3Skp6vZdyJejCOWo4FOicbjRfvqHAXTyTMuwDHA+0lYbO6BiHl1Gw==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/limonte" + } + }, "node_modules/tar": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", diff --git a/code/client/impax/package.json b/code/client/impax/package.json index d7d66422..cc18fd43 100644 --- a/code/client/impax/package.json +++ b/code/client/impax/package.json @@ -28,6 +28,7 @@ "react-select": "^5.8.0", "sass": "^1.69.5", "serialport": "^12.0.0", + "sweetalert2": "^11.10.4", "zustand": "^4.4.7" }, "devDependencies": { From 19bcb31ab49ac0f39d411ad1979957ebda4a440d Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:39:45 +0530 Subject: [PATCH 43/57] Add error popup for invalid credentials --- code/client/impax/src/components/Profile/JoinTeam.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/client/impax/src/components/Profile/JoinTeam.tsx b/code/client/impax/src/components/Profile/JoinTeam.tsx index e8c718e1..2e080a9a 100644 --- a/code/client/impax/src/components/Profile/JoinTeam.tsx +++ b/code/client/impax/src/components/Profile/JoinTeam.tsx @@ -4,6 +4,7 @@ import Hero from "./Hero"; import { FieldValues, useForm } from "react-hook-form"; import { useNavigate } from "react-router-dom"; import { BASE_URL } from "../../config/config"; +import { showPopup } from "../../utils/errorPopup.ts"; const JoinTeam = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -41,6 +42,8 @@ const JoinTeam = () => { console.log(responseData); if (response.ok) { navigate("/signup/manager/success"); + } else { + await showPopup("Invalid Credentials", "Please Try Again"); } reset(); }; From 3a394fd6879b4409a0eb705a4a1feb86ee6446ce Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:39:49 +0530 Subject: [PATCH 44/57] Add error popup for invalid credentials --- .../impax/src/components/Profile/LoginManager.tsx | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/code/client/impax/src/components/Profile/LoginManager.tsx b/code/client/impax/src/components/Profile/LoginManager.tsx index 0a0a2474..cc03ca7c 100644 --- a/code/client/impax/src/components/Profile/LoginManager.tsx +++ b/code/client/impax/src/components/Profile/LoginManager.tsx @@ -5,6 +5,7 @@ import { useNavigate } from "react-router-dom"; import { useLoginState } from "../../states/profileState"; import { getPlayers } from "../../services/httpClient"; import { BASE_URL } from "../../config/config"; +import { showPopup } from "../../utils/errorPopup.ts"; const LoginManager = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -68,12 +69,7 @@ const LoginManager = () => { navigate("/login/manager"); } else { - //TODO1: Error message resets - // setError("invalid", { - // type: "custom", - // message: "Invalid Credentials: Please try again", - // }); - alert("Invalid Credentials: Please try again"); + await showPopup("Invalid Credentials", "Please Try Again"); } reset(); @@ -82,9 +78,6 @@ const LoginManager = () => { return ( <> - {/* {errors["invalid"] && ( -

{`${errors["invalid"].message}`}

- )} */}
{errors.teamId &&

{`${errors.teamId.message}`}

} From bfd8f1dbef36dcbb3c8e258d742a11859c2c22d9 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:39:53 +0530 Subject: [PATCH 45/57] Add error popup for invalid credentials --- code/client/impax/src/components/Profile/LoginPlayer.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/Profile/LoginPlayer.tsx b/code/client/impax/src/components/Profile/LoginPlayer.tsx index a1329a3f..b4e0e687 100644 --- a/code/client/impax/src/components/Profile/LoginPlayer.tsx +++ b/code/client/impax/src/components/Profile/LoginPlayer.tsx @@ -4,6 +4,7 @@ import { useLoginState } from "../../states/profileState"; import { useSignupState } from "../../states/formState"; import { useNavigate } from "react-router-dom"; import { BASE_URL } from "../../config/config"; +import { showPopup } from "../../utils/errorPopup.ts"; const LoginPlayer = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -46,7 +47,7 @@ const LoginPlayer = () => { navigate("/login/player"); } else { - alert("Invalid credentials"); + await showPopup("Invalid Credentials", "Please Try Again"); } reset(); From 1069e514377bdcb0c6fa22bb68748aeb0a245c6b Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:39:56 +0530 Subject: [PATCH 46/57] Add error popup for invalid credentials --- code/client/impax/src/components/Profile/SignupPlayer.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/client/impax/src/components/Profile/SignupPlayer.tsx b/code/client/impax/src/components/Profile/SignupPlayer.tsx index 10e1605b..c0fc3abe 100644 --- a/code/client/impax/src/components/Profile/SignupPlayer.tsx +++ b/code/client/impax/src/components/Profile/SignupPlayer.tsx @@ -3,6 +3,7 @@ import { useSignupState } from "../../states/formState"; import { useForm, type FieldValues } from "react-hook-form"; import { useNavigate } from "react-router-dom"; import { BASE_URL } from "../../config/config"; +import { showPopup } from "../../utils/errorPopup.ts"; const SignupPlayer = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -30,6 +31,8 @@ const SignupPlayer = () => { console.log(responseData); if (response.ok) { navigate("/signup/player/success"); + } else { + await showPopup("Invalid Credentials", "Please Try Again"); } reset(); // setSignupInfo({ teamId, email }); From dc0c01edc67ba9620e1dd133cd65c424c8e44b79 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:39:59 +0530 Subject: [PATCH 47/57] Add error popup for invalid credentials --- code/client/impax/src/components/Profile/TeamCreation.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/client/impax/src/components/Profile/TeamCreation.tsx b/code/client/impax/src/components/Profile/TeamCreation.tsx index 9c52ec26..7fc53bb1 100644 --- a/code/client/impax/src/components/Profile/TeamCreation.tsx +++ b/code/client/impax/src/components/Profile/TeamCreation.tsx @@ -4,6 +4,7 @@ import Hero from "./Hero"; import { FieldValues, useForm } from "react-hook-form"; import { useNavigate } from "react-router-dom"; import { BASE_URL } from "../../config/config"; +import { showPopup } from "../../utils/errorPopup.ts"; const TeamCreation = () => { const setIsSignup = useSignupState((state) => state.setIsSignup); @@ -41,6 +42,8 @@ const TeamCreation = () => { console.log(responseData); if (response.ok) { navigate("/signup/manager/success"); + } else { + await showPopup("Invalid Credentials", "Please Try Again"); } reset(); }; From 0dc959e5b633f91ec2ab4b33ddc7ebbe1d8befe7 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:40:02 +0530 Subject: [PATCH 48/57] Remove console.log statement in getPlayers function --- code/client/impax/src/services/httpClient.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/code/client/impax/src/services/httpClient.ts b/code/client/impax/src/services/httpClient.ts index 2b5a3079..723cd8a1 100644 --- a/code/client/impax/src/services/httpClient.ts +++ b/code/client/impax/src/services/httpClient.ts @@ -47,7 +47,6 @@ export const getPlayers = async () => { }, }); const playersData: Players = await playersResponse.json(); - console.log(playersData); updatePlayersDetails(playersData); } catch (error) { console.log(error); From f1808669745a606dea4b68ea3bed98943372909c Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:40:11 +0530 Subject: [PATCH 49/57] Update formState.ts to disable login for players and managers --- code/client/impax/src/states/formState.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/client/impax/src/states/formState.ts b/code/client/impax/src/states/formState.ts index dfb34163..eae202fe 100644 --- a/code/client/impax/src/states/formState.ts +++ b/code/client/impax/src/states/formState.ts @@ -42,14 +42,18 @@ export const useSignupState = create()((set) => ({ signupInfo: { teamId: "", email: "" }, setSignupInfo: (signupInfo) => set({ signupInfo: signupInfo }), - isLoggedInPlayer: localStorage.getItem("isLoggedInPlayer") === "true", + // isLoggedInPlayer: localStorage.getItem("isLoggedInPlayer") === "true", + isLoggedInPlayer: false, + setIsLoggedInPlayer: (isLoggedInPlayer) => { set({ isLoggedInPlayer: isLoggedInPlayer }); localStorage.setItem("isLoggedInPlayer", isLoggedInPlayer.toString()); if (!isLoggedInPlayer) localStorage.clear(); }, - isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", + // isLoggedInManager: localStorage.getItem("isLoggedInManager") === "true", + isLoggedInManager: false, + setIsLoggedInManager: (isLoggedInManager) => { set({ isLoggedInManager: isLoggedInManager }), localStorage.setItem("isLoggedInManager", isLoggedInManager.toString()); From 7a9588bc09f36a7ef9ed81ba04461135bc85821b Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:40:18 +0530 Subject: [PATCH 50/57] Add errorPopup utility function --- code/client/impax/src/utils/errorPopup.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 code/client/impax/src/utils/errorPopup.ts diff --git a/code/client/impax/src/utils/errorPopup.ts b/code/client/impax/src/utils/errorPopup.ts new file mode 100644 index 00000000..0a929202 --- /dev/null +++ b/code/client/impax/src/utils/errorPopup.ts @@ -0,0 +1,12 @@ +import Swal from "sweetalert2"; + +export const showPopup = async (title: string, text: string) => { + await Swal.fire({ + icon: "error", + title: title, + text: text, + background: "#000000", + iconColor: "#FF0000", + confirmButtonColor: "#FF0000", + }); +}; From 902ed38c95a4848c60ea49348abbbb543a680d43 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:44:40 +0530 Subject: [PATCH 51/57] Add error popup when player already exists --- .../src/components/PlayerManagement/PlayerManagement.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx index 7e3b9649..603d45a3 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx @@ -25,6 +25,7 @@ import NoInternetConnection from "../StatusScreens/NoInternetConnection"; import { useAppState } from "../../states/appState"; import DialogModal from "../Modal/DialogModal"; import { BASE_URL } from "../../config/config"; +import { showPopup } from "../../utils/errorPopup"; export type Player = { jerseyId: number; @@ -155,7 +156,9 @@ const PlayerManagement = () => { //TODO: player with same id exists, show error to user and return if (data.jersey_number in playerDetails) { - alert("Player already exists"); + // alert("Player already exists"); + showPopup("Player already exists", "Try different data and try again"); + return; } const response = await fetch(`${BASE_URL}/player/add`, { From 0cfdb7c526d62fde9953eaa119d1807a4014c9f6 Mon Sep 17 00:00:00 2001 From: Mansitha Date: Fri, 26 Jan 2024 11:46:32 +0530 Subject: [PATCH 52/57] Fix error message in PlayerManagement component --- .../impax/src/components/PlayerManagement/PlayerManagement.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx index 603d45a3..b1f3de59 100644 --- a/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx +++ b/code/client/impax/src/components/PlayerManagement/PlayerManagement.tsx @@ -157,7 +157,7 @@ const PlayerManagement = () => { //TODO: player with same id exists, show error to user and return if (data.jersey_number in playerDetails) { // alert("Player already exists"); - showPopup("Player already exists", "Try different data and try again"); + showPopup("Player already exists", "Try with different jersey number"); return; } From ab623e9ccfad7ecd07b7ca4fb5eca7ed2cb13aee Mon Sep 17 00:00:00 2001 From: Kanishka Gunawardana Date: Fri, 26 Jan 2024 20:42:04 +0530 Subject: [PATCH 53/57] battery and led bugs --- .../impax-buddy-firmware/include/util.h | 9 +-- .../impax-buddy-firmware/src/define.h | 2 +- .../impax-buddy-firmware/src/main.cpp | 20 +++--- .../impax-buddy-firmware/src/utils/eeprom.cpp | 1 + .../impax-buddy-firmware/src/utils/util.cpp | 62 +++++++++++++++---- code/client/impax/src/services/mqttClient.ts | 6 +- 6 files changed, 72 insertions(+), 28 deletions(-) diff --git a/code/buddy-firmware/impax-buddy-firmware/include/util.h b/code/buddy-firmware/impax-buddy-firmware/include/util.h index 8cb5dc51..2034beba 100644 --- a/code/buddy-firmware/impax-buddy-firmware/include/util.h +++ b/code/buddy-firmware/impax-buddy-firmware/include/util.h @@ -7,7 +7,7 @@ // Define LED pins and blink interval #define LED_BLINK_DELAY 100 -#define LED_FADE_DELAY 2 +#define LED_FADE_DELAY 1 #define LED_BATTERY_LOW 5 #define LED_ON 2 #define LED_ON_PIN 2 @@ -15,8 +15,9 @@ #define LED_CHARGIN 7 #define LED_BLINK 1 #define LED_OFF 0 -#define MOVING_AVERAGE_SIZE 6 -#define VOLTAGE_UPPER_LIMIT 4.05 +#define MOVING_AVERAGE_SIZE 12 +#define MOVING_PERCENTAGE_SIZE 6 +#define VOLTAGE_UPPER_LIMIT 4.04 #define VOLTAGE_LOWER_LIMIT 3.4 // Define battery-related constants @@ -42,7 +43,7 @@ void batteryInit(); void led(int); bool batteryIsCharging(float *readings, int size); // Is the battery charging void fadeLedOn(); - +bool isIncreasing(float arr[], int size); int wakeup_reason(); #endif diff --git a/code/buddy-firmware/impax-buddy-firmware/src/define.h b/code/buddy-firmware/impax-buddy-firmware/src/define.h index 5abc9d24..d77bd087 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/define.h +++ b/code/buddy-firmware/impax-buddy-firmware/src/define.h @@ -15,7 +15,7 @@ RTC_DATA_ATTR int buddyState = BUDDY_OFF; RTC_DATA_ATTR int bootCount = 0; #define BAUD_RATE 9600 -#define ID 1 +#define ID 2 String BUDDY_ID = "buddy/"; int ledStatus; diff --git a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp index c9e314a7..c35c9eb3 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/main.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/main.cpp @@ -32,9 +32,10 @@ void buddyCheckTurnOffHandle() buddyState = BUDDY_OFF; ledStatus = LED_OFF; led(ledStatus); - gpio_set_level(GPIO_NUM_0, 0); - gpio_pullup_dis(GPIO_NUM_0); + delay(1000); + gpio_hold_en(GPIO_NUM_0); + gpio_hold_en(GPIO_NUM_2); // Go to sleep now Serial.println("Going to sleep now"); @@ -134,7 +135,7 @@ void process() ledStatus = LED_ON; } - Serial.println(batteryStatus); + // Serial.println(batteryStatus); batteryStatusTimer = millis(); } @@ -148,15 +149,17 @@ void process() void buddyInit() { + gpio_hold_dis(GPIO_NUM_0); + gpio_hold_dis(GPIO_NUM_2); + + initLED(); + // leds ledStatus = LED_OFF; led(ledStatus); ledStatus = LED_BLINK; led(ledStatus); - // battery status init - batteryInit(); - // EEPROM initEEPROM(ssid, password, mqtt_username, mqtt_password, BUDDY_ID, ID); @@ -184,6 +187,8 @@ void buddyInit() Serial.println("Setup done"); Serial.println(WiFi.SSID()); + batteryInit(); + ledStatus = LED_ON; } @@ -192,9 +197,6 @@ void setup() // serial monitor Serial.begin(BAUD_RATE); - initLED(); - ledStatus = LED_OFF; - led(ledStatus); // define off button pinMode(GPIO_NUM_32, INPUT); diff --git a/code/buddy-firmware/impax-buddy-firmware/src/utils/eeprom.cpp b/code/buddy-firmware/impax-buddy-firmware/src/utils/eeprom.cpp index 69d599f6..d13cadce 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/utils/eeprom.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/utils/eeprom.cpp @@ -6,6 +6,7 @@ void initEEPROM(String &ssid, String &password, String &mqtt_username, String &m // setBuddyIdEEPROM(ID); BUDDY_ID += EEPROM.read(EEPROM_ID_ADDRESS); + Serial.println(BUDDY_ID); setSSIDAndPasswordEEPROM(ssid, password); getSSIDAndPasswordEEPROM(ssid, password); diff --git a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp index 0279d66d..c74f4c40 100644 --- a/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp +++ b/code/buddy-firmware/impax-buddy-firmware/src/utils/util.cpp @@ -31,23 +31,45 @@ void offLedWifi() int getBatteryStatus() { + static float prevPercentage[MOVING_PERCENTAGE_SIZE]; + static int index = 0; + float voltage = getBatteryVoltage(); - Serial.println(voltage); + // Serial.println(voltage); int percentage = 2808.3808 * pow(voltage, 4) - 43560.9157 * pow(voltage, 3) + 252848.5888 * pow(voltage, 2) - 650767.4615 * voltage + 626532.5703; - // Check if the percentage is increasing - bool isIncreasingPercentage = (percentage > prevPercentage); - // Update the previous percentage value - prevPercentage = percentage; + // // Check if the percentage is increasing + // bool isIncreasingPercentage = (percentage > prevPercentage); + // // Update the previous percentage value + // prevPercentage = percentage; + + // if (isIncreasingPercentage) + // return CHARGIN_STATE; + + // Store the new reading in the array + prevPercentage[index] = percentage; + + // Move to the next index + index = (index + 1) % MOVING_PERCENTAGE_SIZE; + + // Serial.print(percentage); + // Serial.print(" - "); - if (isIncreasingPercentage) + // for (int i = 0; i < MOVING_PERCENTAGE_SIZE; i++) + // { + // Serial.print(prevPercentage[i]); + // Serial.print(", "); + // } + // Serial.println(""); + + if (isIncreasing(prevPercentage, MOVING_PERCENTAGE_SIZE)) return CHARGIN_STATE; - if (voltage > VOLTAGE_UPPER_LIMIT) + if (voltage > VOLTAGE_UPPER_LIMIT || percentage > 100) return 100; - else if (voltage <= VOLTAGE_LOWER_LIMIT) + else if (voltage <= VOLTAGE_LOWER_LIMIT || percentage <= 0) return 0; return percentage; @@ -55,10 +77,16 @@ int getBatteryStatus() void batteryInit() { + for (int i = 0; i < MOVING_PERCENTAGE_SIZE; i++) + { + getBatteryStatus(); + delay(10); + } + for (int i = 0; i < MOVING_AVERAGE_SIZE; i++) { getBatteryVoltage(); - delay(1); + delay(10); } } @@ -66,7 +94,7 @@ bool batteryIsCharging(float *readings, int size) { for (int i = 1; i < size; i++) { - if (readings[i] > readings[i - 1]) + if (readings[i] >= readings[i - 1]) { return false; // If any element is less than or equal to the previous one, the array is not strictly increasing } @@ -113,6 +141,18 @@ float getBatteryVoltage(float *readings) return movingAverage; } +bool isIncreasing(float arr[], int size) +{ + for (int i = 0; i < size - 1; i++) + { + if (arr[i] > arr[i + 1] || (arr[i] == 0.0 || arr[i + 1] == 0.0)) + { + return false; + } + } + return true; +} + float getBatteryVoltage() { static float readings[MOVING_AVERAGE_SIZE]; @@ -170,7 +210,7 @@ void fadeLedOn() { static unsigned long lastTime = 0; static int brightness = 0; - static int fadeDirection = 1; // 1 for increasing brightness, -1 for decreasing + static int fadeDirection = 5; // 1 for increasing brightness, -1 for decreasing if (millis() - lastTime > LED_FADE_DELAY) { diff --git a/code/client/impax/src/services/mqttClient.ts b/code/client/impax/src/services/mqttClient.ts index 3d2e8450..6f91ff67 100644 --- a/code/client/impax/src/services/mqttClient.ts +++ b/code/client/impax/src/services/mqttClient.ts @@ -19,12 +19,12 @@ class MqttClient { private topics: string[]; private constructor() { - this.client = mqtt.connect("ws://127.0.0.1:8080/", { + this.client = mqtt.connect("ws://192.168.4.1:8080/", { clientId: `impax-dashboard-${Date.now()}`, reconnectPeriod: 2000, keepalive: 60, - // username: "impax", - // password: "impax", + username: "impax", + password: "impax", }); this.topics = [ From 2dd2f4e6e27dc69e1c3c0a7787151c06dcfae27a Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 21:24:54 +0530 Subject: [PATCH 54/57] Update verification status to use string instead of boolean --- code/backend/src/db/manager.schema.ts | 9 +++++++-- code/backend/src/db/managers.in.team.schema.ts | 10 ++++++++-- code/backend/src/db/player.schema.ts | 8 +++++++- code/backend/src/db/players.in.team.schema.ts | 7 ++++++- code/backend/src/models/manager.model.ts | 10 +++++----- 5 files changed, 33 insertions(+), 11 deletions(-) diff --git a/code/backend/src/db/manager.schema.ts b/code/backend/src/db/manager.schema.ts index 61c00b80..f5b4fca4 100644 --- a/code/backend/src/db/manager.schema.ts +++ b/code/backend/src/db/manager.schema.ts @@ -6,8 +6,13 @@ interface ManagerDocument extends Document { lastName: string; email: string; invitationToken: string; - isVerified: boolean; + isVerified: string; } +const verificationStatusValidator = function(value: string) { + if (!['pending', 'verified', 'rejected'].includes(value)) { + throw new Error('Invalid verification status'); + } +}; const managerSchema = new Schema({ teamId: String, @@ -15,7 +20,7 @@ const managerSchema = new Schema({ lastName: String, email: String, invitationToken: String, - isVerified: Boolean, + isVerified: { type: String, validate: verificationStatusValidator }, }); const ManagerModel = mongoose.model("Manager", managerSchema); diff --git a/code/backend/src/db/managers.in.team.schema.ts b/code/backend/src/db/managers.in.team.schema.ts index acb8fd0f..703da4e0 100644 --- a/code/backend/src/db/managers.in.team.schema.ts +++ b/code/backend/src/db/managers.in.team.schema.ts @@ -3,13 +3,19 @@ import mongoose, { Document, Schema } from "mongoose"; interface ManagerTeamDocument extends Document { managerEmail: string; teamId: string; - accepted: boolean; + accepted: string; } +const verificationStatusValidator = function(value: string) { + if (!['pending', 'verified', 'rejected'].includes(value)) { + throw new Error('Invalid verification status'); + } +}; + const managerTeamSchema = new Schema({ managerEmail: String, teamId: String, - accepted: Boolean, + accepted: { type: String, validate: verificationStatusValidator }, }); const ManagerTeamModel = mongoose.model( diff --git a/code/backend/src/db/player.schema.ts b/code/backend/src/db/player.schema.ts index 52e80d6e..95c8a4b6 100644 --- a/code/backend/src/db/player.schema.ts +++ b/code/backend/src/db/player.schema.ts @@ -6,10 +6,16 @@ interface PlayerDocument extends Document { isVerified: string; } +const verificationStatusValidator = function(value: string) { + if (!['pending', 'verified', 'rejected'].includes(value)) { + throw new Error('Invalid verification status'); + } +}; + const playerSchema = new Schema({ email: String, invitationToken: String, - isVerified: String, + isVerified: { type: String, validate: verificationStatusValidator }, }); const PlayerModel = mongoose.model("Player", playerSchema); diff --git a/code/backend/src/db/players.in.team.schema.ts b/code/backend/src/db/players.in.team.schema.ts index aa92855a..93c852d7 100644 --- a/code/backend/src/db/players.in.team.schema.ts +++ b/code/backend/src/db/players.in.team.schema.ts @@ -9,13 +9,18 @@ interface PlayerTeamDocument extends Document { isVerified: string; } +const verificationStatusValidator = function(value: string) { + if (!['pending', 'verified', 'rejected'].includes(value)) { + throw new Error('Invalid verification status'); + } +}; const playerTeamSchema = new Schema({ playerEmail: String, teamId: String, jerseyId: Number, fullName: String, invitationToken: String, - isVerified: String, + isVerified: { type: String, validate: verificationStatusValidator }, }); diff --git a/code/backend/src/models/manager.model.ts b/code/backend/src/models/manager.model.ts index c790db90..7bc2524e 100644 --- a/code/backend/src/models/manager.model.ts +++ b/code/backend/src/models/manager.model.ts @@ -13,7 +13,7 @@ class Manager { public email: string; public password: string; public invitationToken: string; - public isVerified: boolean; + public isVerified: string; public constructor( teamId: string, @@ -22,7 +22,7 @@ class Manager { email: string, password: string, invitationToken: string, - isVerified: boolean + isVerified: string ) { this.teamId = teamId; this.firstName = firstName; @@ -39,7 +39,7 @@ class ManagerResponse { public firstName: string; public lastName: string; public email: string; - public isVerified: boolean; + public isVerified: string; public constructor(manager: ManagerResponse) { this.teamId = manager.teamId; @@ -57,7 +57,7 @@ class ManagerRequestBody { public email: string; public password: string; public invitationToken: string; - public isVerified: boolean; + public isVerified: string; public constructor( teamId: string, @@ -66,7 +66,7 @@ class ManagerRequestBody { email: string, password: string, invitationToken: string, - isVerified: boolean + isVerified: string ) { this.teamId = teamId; this.firstName = firstName; From 8a3dd3555808cb882e3a4352ddd6451318c89244 Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 21:25:29 +0530 Subject: [PATCH 55/57] Update manager and player verification status --- code/backend/src/controllers/manager.controller.ts | 2 +- code/backend/src/routes/manager.route.ts | 10 +++++----- code/backend/src/routes/team.route.ts | 2 +- code/backend/src/services/managers.in.team.service.ts | 6 +++--- code/backend/src/services/player.service.ts | 3 ++- code/backend/src/services/players.in.team.service.ts | 4 ++-- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/code/backend/src/controllers/manager.controller.ts b/code/backend/src/controllers/manager.controller.ts index f8f07480..35ca94a7 100644 --- a/code/backend/src/controllers/manager.controller.ts +++ b/code/backend/src/controllers/manager.controller.ts @@ -16,7 +16,7 @@ class ManagerController { // Create a manager with an invitation token const invitationToken = generateInvitationToken(); manager.invitationToken = invitationToken; - manager.isVerified = false; // Initially set to false + manager.isVerified = "pending"; // Initially set to pending // const teamName = teamResponse.teamName; diff --git a/code/backend/src/routes/manager.route.ts b/code/backend/src/routes/manager.route.ts index cbf86ba0..4853a07f 100644 --- a/code/backend/src/routes/manager.route.ts +++ b/code/backend/src/routes/manager.route.ts @@ -150,7 +150,7 @@ router.post("/", async (req: Request, res: Response) => { email, password, "", // Initially set to empty string - false // Initially set to false + "pending" // Initially set to pending ); // Create the manager and get the response @@ -301,14 +301,14 @@ router.get("/accept-invitation/token/:token", async (req, res) => { const token = req.params.token; const manager = await ManagerModel.findOne({ invitationToken: token }); const managerInTeam = await ManagerTeamModel.findOne({ invitationToken: token }); - if (manager && !manager.isVerified) { + if (manager && (manager.isVerified == "pending")) { // Update manager status - manager.isVerified = true; + manager.isVerified = "verified"; await manager.save(); res.send("Invitation accepted successfully!"); - } else if (managerInTeam && !managerInTeam.accepted){ + } else if (managerInTeam && (managerInTeam.accepted == "pending")){ // Update manager status - managerInTeam.accepted = true; + managerInTeam.accepted = "verified"; await managerInTeam.save(); } else{ res.status(400).send("Invalid or expired token."); diff --git a/code/backend/src/routes/team.route.ts b/code/backend/src/routes/team.route.ts index 45972730..513d6e27 100644 --- a/code/backend/src/routes/team.route.ts +++ b/code/backend/src/routes/team.route.ts @@ -191,7 +191,7 @@ router.post("/manager", async (req, res) => { email, password, "", - false + "pending" ); // Create the Team and get the response diff --git a/code/backend/src/services/managers.in.team.service.ts b/code/backend/src/services/managers.in.team.service.ts index e67f295f..da464ae7 100644 --- a/code/backend/src/services/managers.in.team.service.ts +++ b/code/backend/src/services/managers.in.team.service.ts @@ -2,7 +2,7 @@ import ManagerTeamModel from "../db/managers.in.team.schema"; import PlayerTeamModel from "../db/players.in.team.schema"; import SessionModel from "../db/session.schema"; import { Impact, SessionResponse } from "../models/session.model"; -import { AnalyticsSummaryTeam, ImpactStats, TeamPlayerResponse, ImpactDirection } from "../types/types"; +import { AnalyticsSummaryTeam, ImpactStats, TeamPlayerResponse, ImpactDirection} from "../types/types"; class ManagersInTeamService { // create team manager instance @@ -24,7 +24,7 @@ class ManagersInTeamService { const managerTeamInstance = new ManagerTeamModel({ managerEmail: managerEmail, teamId: teamId, - accepted: false, + accepted: "pending", }); // Save the manager to the database @@ -111,7 +111,7 @@ class ManagersInTeamService { teamPlayers[playerTeam.jerseyId] = { name: player.fullName, email: player.playerEmail, - verification: player.isVerified + verification: player.isVerified }; } } diff --git a/code/backend/src/services/player.service.ts b/code/backend/src/services/player.service.ts index a16425e7..07138ea8 100644 --- a/code/backend/src/services/player.service.ts +++ b/code/backend/src/services/player.service.ts @@ -37,6 +37,7 @@ class PlayerService { } } + // Is this use? async addPlayer( firstName: string, lastName: string, @@ -68,7 +69,7 @@ class PlayerService { const playerInstance = new PlayerModel({ email: email, invitationToken: invitationToken, - isVerified: "Pending", + isVerified: "pending", }); // Save the player to the database diff --git a/code/backend/src/services/players.in.team.service.ts b/code/backend/src/services/players.in.team.service.ts index 6152b95b..602261f6 100644 --- a/code/backend/src/services/players.in.team.service.ts +++ b/code/backend/src/services/players.in.team.service.ts @@ -29,7 +29,7 @@ class PlayerInTeamService { jerseyId: jerseyId, fullName: fullName, invitationToken: invitationToken, - isVerified: "Pending", + isVerified: "pending", }); @@ -40,7 +40,7 @@ class PlayerInTeamService { teamId, jerseyId, fullName, - "Pending", + "pending", ); return playerInTeamResponse; From c43ada033f2ecadd95b7a825f4b9c1c6f7371ba4 Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 21:25:56 +0530 Subject: [PATCH 56/57] Fix player update bug and update player verification status --- code/backend/src/routes/player.route.ts | 12 ++++++----- code/backend/src/test_inputs/sample_inputs | 25 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 code/backend/src/test_inputs/sample_inputs diff --git a/code/backend/src/routes/player.route.ts b/code/backend/src/routes/player.route.ts index 0d6607bd..b2d841ea 100644 --- a/code/backend/src/routes/player.route.ts +++ b/code/backend/src/routes/player.route.ts @@ -160,10 +160,12 @@ router.put("/update", async (req: Request, res: Response) => { } try { - const player = await PlayerTeamModel.findOne({ + const player = await PlayerTeamModel.find({ jesryId: jerseyId, teamId: teamId }); + console.log(player ); + const playerTeamRequest = new PlayerTeamRequest( newPlayerEmail, jerseyId, @@ -308,9 +310,9 @@ router.get("/accept-invitation/token/:token", async (req, res) => { const token = req.params.token; // const player = await PlayerModel.findOne({ invitationToken: token }); const playerInTeam = await PlayerTeamModel.findOne({ invitationToken: token }); - if (playerInTeam && playerInTeam.isVerified == "Pending") { + if (playerInTeam && playerInTeam.isVerified == "pending") { // Update player status - playerInTeam.isVerified = "Accepted"; + playerInTeam.isVerified = "verified"; await playerInTeam.save(); res.send("Invitation accepted successfully!"); } @@ -324,9 +326,9 @@ router.get("/verify-email/token/:token", async (req, res) => { const token = req.params.token; const player = await PlayerModel.findOne({ invitationToken: token }); // const playerInTeam = await PlayerTeamModel.findOne({ invitationToken: token }); - if (player && player.isVerified == "Pending") { + if (player && player.isVerified == "pending") { // Update player status - player.isVerified = "Accepted"; + player.isVerified = "verified"; await player.save(); res.send("Invitation accepted successfully!"); } diff --git a/code/backend/src/test_inputs/sample_inputs b/code/backend/src/test_inputs/sample_inputs new file mode 100644 index 00000000..264afdf8 --- /dev/null +++ b/code/backend/src/test_inputs/sample_inputs @@ -0,0 +1,25 @@ +{ + "14": { + "name": "M jayawardhane", + "email": "mj@example.com", + "verification": "Pending" + }, + "44": { + "name": "Hirushi Gunasekara", + "email": "hirushig1@gmail.com", + "verification": "verified" + }, + "50": { + "name": "Kumar Sanga", + "email": "ksanga@example.com", + "verification": "Pending" + }, + "60": { + "name": "John Doe", + "email": "jhondoe@example.com", + "verification": "Pending" + } +} + + + From 0263020efa663d879e9e88dd0f9eb81bb00bc8fe Mon Sep 17 00:00:00 2001 From: hirushig Date: Fri, 26 Jan 2024 21:39:00 +0530 Subject: [PATCH 57/57] Update email links to use production URL --- code/backend/src/email/managerInviteEmail.ts | 2 +- code/backend/src/email/managerVerifyEmail.ts | 4 ++-- code/backend/src/email/playerInviteEmail.ts | 4 ++-- code/backend/src/email/playerVerifyEmail.ts | 5 ++--- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/code/backend/src/email/managerInviteEmail.ts b/code/backend/src/email/managerInviteEmail.ts index aa72e206..3e4c30ea 100644 --- a/code/backend/src/email/managerInviteEmail.ts +++ b/code/backend/src/email/managerInviteEmail.ts @@ -27,7 +27,7 @@ export async function sendInvitationEmail(

Hello,

You've been invited to join the team ${teamName}! Click the following link to accept the invitation:

-
Accept Invitation

diff --git a/code/backend/src/email/managerVerifyEmail.ts b/code/backend/src/email/managerVerifyEmail.ts index 6d91f43d..de9a0977 100644 --- a/code/backend/src/email/managerVerifyEmail.ts +++ b/code/backend/src/email/managerVerifyEmail.ts @@ -23,9 +23,9 @@ export async function sendVerificationEmail( html: `

Hello,

-

You've been created the team ${teamName}! Click the following link to verify your email:

+

To confirm creation of the team ${teamName}, click the button and verify your email address

- Verify Email Here

diff --git a/code/backend/src/email/playerInviteEmail.ts b/code/backend/src/email/playerInviteEmail.ts index a29885e3..7d7bf975 100644 --- a/code/backend/src/email/playerInviteEmail.ts +++ b/code/backend/src/email/playerInviteEmail.ts @@ -24,9 +24,9 @@ export async function sendInvitationEmail( html: `

Hello ${fullName},

-

You've been invited to join the team ${teamName}!

+

You've been invited to join the team ${teamName}! Click the following link to accept the invitation:

- Accept Invitation

diff --git a/code/backend/src/email/playerVerifyEmail.ts b/code/backend/src/email/playerVerifyEmail.ts index 66341673..44c96bcb 100644 --- a/code/backend/src/email/playerVerifyEmail.ts +++ b/code/backend/src/email/playerVerifyEmail.ts @@ -22,10 +22,9 @@ export async function sendVerificationEmail( html: `

Hello,

-

Thank you for registering with Impax!

-

You've been created the account successfully!

+

Your account has been created successfully! To log in to account verify your email address

- Verify Email Here