diff --git a/README.md b/README.md index b0549bd..830b7b5 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
-

HeartTrack

+

HeartTrack - Admin

@@ -9,17 +9,15 @@ --- -  ![PHP](https://img.shields.io/badge/Blazor-56478C?style=for-the-badge&logo=Blazor&logoColor=FFFFFF&labelColor=56478C) +  ![Blazor](https://img.shields.io/badge/Blazor-56478C?style=for-the-badge&logo=Blazor&logoColor=FFFFFF&labelColor=56478C)   ![CSS](https://img.shields.io/badge/CSS-000?style=for-the-badge&logo=css3&logoColor=white&color=darkblue) -  ![DOCKER](https://img.shields.io/badge/.NET-56478C?style=for-the-badge&logo=.NET&logoColor=FFFFFF&labelColor=56478C) -  ![PostgreSQL](https://img.shields.io/badge/Postgresql-000?style=for-the-badge&logo=postgresql&logoColor=white&color=blue) -  ![JAVASCRIPT](https://img.shields.io/badge/JavaScript-000?style=for-the-badge&logo=javascript&logoColor=white&color=yellow) +  ![.NET](https://img.shields.io/badge/.NET-56478C?style=for-the-badge&logo=.NET&logoColor=FFFFFF&labelColor=56478C)
# Table des matières -[Présentation](#présentation) | [Répartition du Git](#répartition-du-git) | [Documentation](#documentation) | [Prerequisites](#prerequisites) | [Getting Started](#getting-started) | [Features](#features) | [Ce que nous avons fait](#ce-que-nous-avons-fait) | [Fabriqué avec](#fabriqué-avec) | [Contributeurs](#contributeurs) | [Comment contribuer](#comment-contribuer) | [License](#license) | [Remerciements](#remerciements) +[Présentation](#présentation) | [Fonctionnalités principales](#fonctionnalités-principales) | [Répartition du Git](#répartition-du-git) | [Prerequis](#prérequis) | [Fabriqué avec](#fabriqué-avec) | [Contributeurs](#contributeurs) | [Comment contribuer](#comment-contribuer) | [License](#license) | [Remerciements](#remerciements) @@ -33,7 +31,17 @@ HeartTrack est une application web PHP et mobile Android destinée aux sportifs ### Récapitulatif du Projet -Le projet HeartTrack, avec son application HeartTrack, vise à offrir une solution Open Source d'analyse des données de fréquence cardiaque, en mettant l'accent sur les besoins des sportifs et des coachs. L'application sera capable de traiter et d'interpréter les données de manière intelligente, fournissant ainsi des informations précieuses pour optimiser les performances sportives et la santé. +Ce dépôt contient une application Blazor conçue pour faciliter l'administration des utilisateurs au sein de votre application. L'application utilise le framework Blazor, qui permet le développement d'applications web interactives avec .NET. + +## Fonctionnalités principales + +1. **Gestion des Utilisateurs**: Ajoutez, modifiez et supprimez des utilisateurs de manière simple et efficace. + +2. **Rôles Utilisateurs**: Attribuez des rôles à chaque utilisateur pour définir leurs permissions et accès. + +3. **Tableau de Bord Convivial**: Interface utilisateur intuitive pour une expérience d'administration agréable. + +4. **Sécurité Intégrée**: Utilisation des fonctionnalités de sécurité de Blazor pour protéger les données sensibles. ## Répartition du Git @@ -42,28 +50,55 @@ Le projet HeartTrack, avec son application HeartTrack, vise à offrir une soluti [**Documents**](Documents/README_DOCUMENTS.md) : **Documentation de l'application et diagrammes** - - --- Le projet HeartTrack utilise un modèle de flux de travail Git (Gitflow) pour organiser le développement. Voici une brève explication des principales branches : -- **branche prod** : Cette branche contient la version de production stable de l'application. Les modifications sur cette branche sont généralement destinées à des mises en production. +- **branche WORK-NAME** : Cette branche contient la version de travail des différents membres de l'équipe. Les modifications sur cette branche sont bien souvent réalisé par le nom du membre en question. -- **branche master** : La branche master est similaire à la branche de production, mais elle peut contenir des fonctionnalités en cours de développement qui sont presque prêtes pour une mise en production. +- **branche master** : La branche master est similaire à la branche de production, mais elle contient la version stable et final de notre application. -- **branche test** : Cette branche est utilisée pour permettre différents tests sur l'application. +### API PHP -- **branche issue** : Pour chaque problème (issue) que vous résolvez, vous devez créer une branche portant le nom de l'issue, par exemple, "issue_#32_nom" où 32 est le numéro de l'issue et nom est une description courte de l'issue. Une fois l'issue résolue, assurez-vous de mettre à jour le changelog et de créer une merge request. -- **branche démo** : Cette branche est utilisée pour déployer une version démo de l'application. Elle est mise à jour avec les dernières fonctionnalités en développement. +L'application Blazor utilise une API en PHP pour récupérer les données depuis la base de données. +Pour l'utiliser, vous devez faire tourner notre projet PHP disponible [ici](https://codefirst.iut.uca.fr/git/HeartDev/Web/src/branch/API_tests) sur votre machine locale. Pour ensuite changer le type de skockage par `API` dans le fichier `monfichier.cs` dans le dossier `Data` de l'application Blazor. -## Documentation -Documentation et informations à propos de `HearthTrack` disponible [ici]() ### Prérequis -* [Visual Studio Code](https://code.visualstudio.com/) - Exemple d'IDE gratuit +* [Visual Studio](https://visualstudio.microsoft.com/fr/vs/) - IDE * [Git](https://git-scm.com/) - Gestion de version -* [PostgreSQL](https://www.postgresql.org/) - Base de Données +* [.NET SDK](https://dotnet.microsoft.com/download) - Platform open-source pour le développement d'applications + +## Installation et Exécution + +1. Clonez ce dépôt sur votre machine locale : + + ```bash + git clone https://github.com/votre-utilisateur/Blazor-User-Admin.git + ``` + +2. Accédez au répertoire du projet : + + ```bash + cd Blazor-User-Admin + ``` + +3. Lancez l'application avec la commande : + + ```bash + dotnet run + ``` + +4. Ouvrez votre navigateur et accédez à [https://localhost:5001](https://localhost:5001) pour voir l'application en action. + +Pour des raison de manque de la partie php, vous ne pourrez utiliser l'application qu'en localStorage. Il est cependant possible de tester l'aaplication avec la partie API en PHP en faisant tourner en local le projet php disponible [ici](https://codefirst.iut.uca.fr/git/HeartDev/Web/src/branch/API_tests) et en changant le type de stockage dans le fichier `monfichier.cs` dans le dossier `Data` de l'application Blazor. +Comme ceci : +```csharp +public class MonFichier +{ + public static string TypeStockage = "API"; +} +``` ### Fabriqué avec * [Visual Studio](https://visualstudio.microsoft.com/fr/vs/) - IDE @@ -73,7 +108,6 @@ Documentation et informations à propos de `HearthTrack` disponible [ici]() * [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) - Framework Web * [C#](https://docs.microsoft.com/fr-fr/dotnet/csharp/) - Langage * [HTML 5, CSS 3](https://developer.mozilla.org/fr/docs/Web/HTML) - Langages -* [Doxygen](https://codefirst.iut.uca.fr/sonar/) - Documentation ## Contributeurs * [Antoine PEREDERII](https://codefirst.iut.uca.fr/git/antoine.perederii) @@ -83,7 +117,7 @@ Documentation et informations à propos de `HearthTrack` disponible [ici]() * [David D'HALMEIDA](https://codefirst.iut.uca.fr/git/david.d_almeida) ## Comment contribuer -1. Forkez le projet () +1. Forkez le projet () 2. Créez votre branche (`git checkout -b feature/featureName`) 3. commit vos changements (`git commit -am 'Add some feature'`) 4. Push sur la branche (`git push origin feature/featureName`) diff --git a/Sources/HeartTrack/Data/WeatherForecast.cs b/Sources/HeartTrack/Data/WeatherForecast.cs deleted file mode 100644 index d04ae21..0000000 --- a/Sources/HeartTrack/Data/WeatherForecast.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace HeartTrack.Data; - -public class WeatherForecast -{ - public DateTime Date { get; set; } - - public int TemperatureC { get; set; } - - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - - public string? Summary { get; set; } -} - diff --git a/Sources/HeartTrack/Data/WeatherForecastService.cs b/Sources/HeartTrack/Data/WeatherForecastService.cs deleted file mode 100644 index 2c00dc4..0000000 --- a/Sources/HeartTrack/Data/WeatherForecastService.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace HeartTrack.Data; - -public class WeatherForecastService -{ - private static readonly string[] Summaries = new[] - { - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - }; - - public Task GetForecastAsync(DateTime startDate) - { - return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = startDate.AddDays(index), - TemperatureC = Random.Shared.Next(-20, 55), - Summary = Summaries[Random.Shared.Next(Summaries.Length)] - }).ToArray()); - } -} - diff --git a/Sources/HeartTrack/HeartTrack.csproj b/Sources/HeartTrack/HeartTrack.csproj index 205c632..12cf297 100644 --- a/Sources/HeartTrack/HeartTrack.csproj +++ b/Sources/HeartTrack/HeartTrack.csproj @@ -16,11 +16,12 @@ - + + diff --git a/Sources/HeartTrack/Models/Activity/Activity.cs b/Sources/HeartTrack/Models/Activity/Activity.cs new file mode 100644 index 0000000..5d36ca4 --- /dev/null +++ b/Sources/HeartTrack/Models/Activity/Activity.cs @@ -0,0 +1,39 @@ +namespace HeartTrack.Models +{ + public class Activity + { + public int IdActivity { get; set; } + public string Type { get; set; } + public DateOnly Date { get; set; } + public TimeOnly StartTime { get; set; } + public DateTime EndTime { get; set; } + public int EffortRessenti { get; set; } + public float Variability { get; set; } + public float Variance { get; set; } + public float StandardDeviation { get; set; } + public float Average { get; set; } + public int Maximum { get; set; } + public int Minimum { get; set; } + public float AvrTemperature { get; set; } + public bool HasAutoPause { get; set; } + } +} +//[ +// '{{repeat(15, 30)}}', +// { +// idActivity: '{{index(1)}}', +// type: '{{random("Type1", "Type2", "Type3")}}', +// date: '{{date(new Date(2014, 0, 1), new Date(), "YYYY-MM-dd")}}', +// startTime: '{{date(new Date(2014, 0, 1), new Date(), "HH:mm:ss")}}', +// endTime: '{{date(new Date(2014, 0, 1), new Date(), "HH:mm:ss")}}', +// effortRessenti: '{{integer(1, 5)}}', +// variability: '{{floating(1, 100)}}', +// variance: '{{floating(1, 100)}}', +// standardDeviation: '{{floating(1, 100)}}', +// average: '{{floating(1, 100)}}', +// maximum: '{{integer(80, 200)}}', +// minimum: '{{integer(30, 100)}}', +// avrTemperature: '{{floating(1, 100)}}', +// hasAutoPause: '{{bool()}}' +// } +//] \ No newline at end of file diff --git a/Sources/HeartTrack/Pages/Activities.razor b/Sources/HeartTrack/Pages/Activities.razor index 64fabc8..7e93508 100644 --- a/Sources/HeartTrack/Pages/Activities.razor +++ b/Sources/HeartTrack/Pages/Activities.razor @@ -1,10 +1,33 @@ @page "/activities" +@using HeartTrack.Models Activities -

Activity list

+

@Localizer["Title"]

-This is the activity list of users. - - +

+ @Localizer["Description"] +

+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Sources/HeartTrack/Pages/Activities.razor.cs b/Sources/HeartTrack/Pages/Activities.razor.cs new file mode 100644 index 0000000..e8ad3b8 --- /dev/null +++ b/Sources/HeartTrack/Pages/Activities.razor.cs @@ -0,0 +1,55 @@ +using System; +using System.Net.Http; +using Blazorise.DataGrid; +using HeartTrack.Models; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Localization; + +namespace HeartTrack.Pages +{ + public partial class Activities + { + private List activities; + + private int totalActivity; + + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + [Inject] + public IStringLocalizer Localizer { get; set; } + + private async Task OnReadData(DataGridReadDataEventArgs e) + { + if (e.CancellationToken.IsCancellationRequested) + { + return; + } + + // When you use a real API, we use this follow code + //var response = await Http.GetJsonAsync( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" ); + + //var response = await Http.GetStringAsync("http://localhost:8080/api"); + //var activityList = JsonConvert.DeserializeObject>(response); + + var response = (await Http.GetFromJsonAsync("http://localhost:8080/api")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); + + //await Http.GetFromJsonAsync("http://localhost:8080/api"); + //Console.WriteLine(response); + + //var response = (await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-data-activity.json")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); + + if (!e.CancellationToken.IsCancellationRequested) + { + totalActivity = (await Http.GetFromJsonAsync>("http://localhost:8080/api")).Count; + //(await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-data-activity.json")).Count; + activities = new List(response); // an actual data for the current page + //Console.WriteLine(totalActivity); + } + } + } +} + diff --git a/Sources/HeartTrack/Program.cs b/Sources/HeartTrack/Program.cs index 3d2e1c9..639821b 100644 --- a/Sources/HeartTrack/Program.cs +++ b/Sources/HeartTrack/Program.cs @@ -1,6 +1,5 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; -using HeartTrack.Data; using Blazorise; using Blazorise.Bootstrap; using Blazorise.Icons.FontAwesome; @@ -16,7 +15,6 @@ var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); -builder.Services.AddSingleton(); builder.Services.AddHttpClient(); diff --git a/Sources/HeartTrack/Resources/Pages.Activities.fr-FR.resx b/Sources/HeartTrack/Resources/Pages.Activities.fr-FR.resx new file mode 100644 index 0000000..258d1bb --- /dev/null +++ b/Sources/HeartTrack/Resources/Pages.Activities.fr-FR.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + List d'activités + + + This is t. + + + helle + + + Last e + + + Efforressenti + + + Variablity + + + Standard deviation + + + Average + + + Average temperature + + + Has auto pause + + \ No newline at end of file diff --git a/Sources/HeartTrack/Resources/Pages.Activities.resx b/Sources/HeartTrack/Resources/Pages.Activities.resx new file mode 100644 index 0000000..7a52ac5 --- /dev/null +++ b/Sources/HeartTrack/Resources/Pages.Activities.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Activities List + + + This is the activity list of users. + + + First name + + + Last name + + + Effort ressenti + + + Variability + + + Standard deviation + + + Average + + + Average temperature + + + Has auto pause + + \ No newline at end of file diff --git a/Sources/HeartTrack/wwwroot/fake-activities.json b/Sources/HeartTrack/wwwroot/fake-activities.json new file mode 100644 index 0000000..9432f19 --- /dev/null +++ b/Sources/HeartTrack/wwwroot/fake-activities.json @@ -0,0 +1,418 @@ +[ + { + "idActivity": 1, + "type": "Type2", + "date": "2014-01-16", + "startTime": "2022-01-18", + "endTime": "1990-12-23", + "effortRessenti": 5, + "variability": 31.9135, + "variance": 47.9027, + "standardDeviation": 51.4366, + "average": 77.616, + "maximum": 156, + "minimum": 99, + "avrTemperature": 47.9859, + "hasAutoPause": false + }, + { + "idActivity": 2, + "type": "Type1", + "date": "2018-11-27", + "startTime": "2008-09-06", + "endTime": "1971-04-16", + "effortRessenti": 2, + "variability": 63.2869, + "variance": 4.3233, + "standardDeviation": 36.6456, + "average": 14.0372, + "maximum": 182, + "minimum": 57, + "avrTemperature": 47.8921, + "hasAutoPause": true + }, + { + "idActivity": 3, + "type": "Type2", + "date": "2018-01-24", + "startTime": "2009-03-24", + "endTime": "1941-05-20", + "effortRessenti": 4, + "variability": 66.0437, + "variance": 40.1499, + "standardDeviation": 85.1707, + "average": 52.538, + "maximum": 114, + "minimum": 41, + "avrTemperature": 48.6091, + "hasAutoPause": true + }, + { + "idActivity": 4, + "type": "Type3", + "date": "2014-07-05", + "startTime": "1954-10-02", + "endTime": "2019-11-13", + "effortRessenti": 3, + "variability": 72.5219, + "variance": 88.7179, + "standardDeviation": 56.3285, + "average": 99.2423, + "maximum": 101, + "minimum": 35, + "avrTemperature": 99.5707, + "hasAutoPause": false + }, + { + "idActivity": 5, + "type": "Type1", + "date": "2020-07-27", + "startTime": "1970-07-09", + "endTime": "2014-01-07", + "effortRessenti": 1, + "variability": 91.2868, + "variance": 35.2977, + "standardDeviation": 89.1283, + "average": 24.5516, + "maximum": 185, + "minimum": 55, + "avrTemperature": 61.2443, + "hasAutoPause": false + }, + { + "idActivity": 6, + "type": "Type3", + "date": "2022-01-21", + "startTime": "1988-07-11", + "endTime": "1947-10-08", + "effortRessenti": 2, + "variability": 39.2403, + "variance": 68.3035, + "standardDeviation": 48.4541, + "average": 15.0519, + "maximum": 87, + "minimum": 61, + "avrTemperature": 24.96, + "hasAutoPause": true + }, + { + "idActivity": 7, + "type": "Type2", + "date": "2020-07-04", + "startTime": "1966-07-04", + "endTime": "1953-11-28", + "effortRessenti": 3, + "variability": 77.9106, + "variance": 50.2753, + "standardDeviation": 27.6544, + "average": 73.1399, + "maximum": 178, + "minimum": 80, + "avrTemperature": 70.0154, + "hasAutoPause": true + }, + { + "idActivity": 8, + "type": "Type3", + "date": "2021-11-01", + "startTime": "1966-06-30", + "endTime": "1966-10-08", + "effortRessenti": 5, + "variability": 12.8896, + "variance": 91.5997, + "standardDeviation": 28.1367, + "average": 63.2516, + "maximum": 99, + "minimum": 64, + "avrTemperature": 47.2724, + "hasAutoPause": false + }, + { + "idActivity": 9, + "type": "Type1", + "date": "2020-10-18", + "startTime": "1993-02-09", + "endTime": "1922-01-12", + "effortRessenti": 2, + "variability": 75.0622, + "variance": 28.5926, + "standardDeviation": 84.1056, + "average": 82.6735, + "maximum": 184, + "minimum": 58, + "avrTemperature": 2.5165, + "hasAutoPause": true + }, + { + "idActivity": 10, + "type": "Type3", + "date": "2019-07-21", + "startTime": "1978-01-14", + "endTime": "1921-10-28", + "effortRessenti": 2, + "variability": 38.4167, + "variance": 8.9565, + "standardDeviation": 79.1064, + "average": 71.7045, + "maximum": 189, + "minimum": 41, + "avrTemperature": 11.3153, + "hasAutoPause": false + }, + { + "idActivity": 11, + "type": "Type2", + "date": "2015-01-10", + "startTime": "1982-05-10", + "endTime": "2000-06-20", + "effortRessenti": 2, + "variability": 7.298, + "variance": 84.2038, + "standardDeviation": 59.7613, + "average": 24.1556, + "maximum": 84, + "minimum": 40, + "avrTemperature": 79.2884, + "hasAutoPause": true + }, + { + "idActivity": 12, + "type": "Type1", + "date": "2014-12-15", + "startTime": "2003-07-20", + "endTime": "1957-10-10", + "effortRessenti": 4, + "variability": 6.1594, + "variance": 39.0998, + "standardDeviation": 87.1683, + "average": 99.7483, + "maximum": 84, + "minimum": 36, + "avrTemperature": 90.0641, + "hasAutoPause": true + }, + { + "idActivity": 13, + "type": "Type3", + "date": "2019-07-09", + "startTime": "1977-03-04", + "endTime": "1960-01-01", + "effortRessenti": 4, + "variability": 44.0535, + "variance": 12.5373, + "standardDeviation": 58.7271, + "average": 19.4843, + "maximum": 193, + "minimum": 76, + "avrTemperature": 22.6955, + "hasAutoPause": true + }, + { + "idActivity": 14, + "type": "Type2", + "date": "2023-12-11", + "startTime": "1954-06-28", + "endTime": "1993-06-24", + "effortRessenti": 2, + "variability": 10.3723, + "variance": 54.257, + "standardDeviation": 69.0052, + "average": 97.0453, + "maximum": 181, + "minimum": 72, + "avrTemperature": 81.2482, + "hasAutoPause": false + }, + { + "idActivity": 15, + "type": "Type1", + "date": "2018-07-02", + "startTime": "2024-01-03", + "endTime": "1964-08-30", + "effortRessenti": 2, + "variability": 48.2932, + "variance": 67.7662, + "standardDeviation": 94.5576, + "average": 98.3297, + "maximum": 177, + "minimum": 38, + "avrTemperature": 91.9669, + "hasAutoPause": true + }, + { + "idActivity": 16, + "type": "Type1", + "date": "2018-07-06", + "startTime": "2012-12-28", + "endTime": "2014-04-26", + "effortRessenti": 1, + "variability": 26.7247, + "variance": 8.6121, + "standardDeviation": 32.8475, + "average": 36.0507, + "maximum": 135, + "minimum": 95, + "avrTemperature": 64.4691, + "hasAutoPause": true + }, + { + "idActivity": 17, + "type": "Type2", + "date": "2022-07-08", + "startTime": "1934-08-04", + "endTime": "1948-01-16", + "effortRessenti": 3, + "variability": 24.5678, + "variance": 89.474, + "standardDeviation": 6.4851, + "average": 80.388, + "maximum": 198, + "minimum": 65, + "avrTemperature": 73.0159, + "hasAutoPause": false + }, + { + "idActivity": 18, + "type": "Type3", + "date": "2020-08-08", + "startTime": "1943-01-04", + "endTime": "1984-11-01", + "effortRessenti": 4, + "variability": 15.8206, + "variance": 10.1982, + "standardDeviation": 89.2815, + "average": 60.1575, + "maximum": 177, + "minimum": 55, + "avrTemperature": 95.3616, + "hasAutoPause": false + }, + { + "idActivity": 19, + "type": "Type1", + "date": "2017-01-31", + "startTime": "1995-01-14", + "endTime": "1967-07-28", + "effortRessenti": 2, + "variability": 10.3217, + "variance": 25.3434, + "standardDeviation": 64.5326, + "average": 6.7419, + "maximum": 83, + "minimum": 72, + "avrTemperature": 19.6569, + "hasAutoPause": false + }, + { + "idActivity": 20, + "type": "Type3", + "date": "2017-05-29", + "startTime": "1959-03-03", + "endTime": "1943-08-27", + "effortRessenti": 2, + "variability": 12.9503, + "variance": 90.5546, + "standardDeviation": 57.812, + "average": 44.4189, + "maximum": 144, + "minimum": 79, + "avrTemperature": 95.1186, + "hasAutoPause": false + }, + { + "idActivity": 21, + "type": "Type1", + "date": "2015-10-03", + "startTime": "1946-05-27", + "endTime": "1934-06-04", + "effortRessenti": 3, + "variability": 59.5777, + "variance": 61.9804, + "standardDeviation": 46.6558, + "average": 11.234, + "maximum": 144, + "minimum": 73, + "avrTemperature": 72.5805, + "hasAutoPause": false + }, + { + "idActivity": 22, + "type": "Type1", + "date": "2015-04-05", + "startTime": "1948-02-07", + "endTime": "1925-04-24", + "effortRessenti": 3, + "variability": 4.6783, + "variance": 66.7362, + "standardDeviation": 79.8471, + "average": 52.3693, + "maximum": 141, + "minimum": 85, + "avrTemperature": 48.7024, + "hasAutoPause": false + }, + { + "idActivity": 23, + "type": "Type1", + "date": "2023-06-05", + "startTime": "1920-11-12", + "endTime": "1926-06-26", + "effortRessenti": 5, + "variability": 67.8302, + "variance": 33.2865, + "standardDeviation": 4.516, + "average": 17.2584, + "maximum": 150, + "minimum": 47, + "avrTemperature": 52.2994, + "hasAutoPause": true + }, + { + "idActivity": 24, + "type": "Type2", + "date": "2014-03-03", + "startTime": "1988-05-05", + "endTime": "1944-06-29", + "effortRessenti": 1, + "variability": 12.7751, + "variance": 92.9296, + "standardDeviation": 76.843, + "average": 32.2267, + "maximum": 114, + "minimum": 77, + "avrTemperature": 80.627, + "hasAutoPause": true + }, + { + "idActivity": 25, + "type": "Type3", + "date": "2016-07-01", + "startTime": "1927-11-09", + "endTime": "2011-12-16", + "effortRessenti": 3, + "variability": 45.0597, + "variance": 37.5072, + "standardDeviation": 6.6945, + "average": 70.5156, + "maximum": 81, + "minimum": 32, + "avrTemperature": 57.5543, + "hasAutoPause": false + }, + { + "idActivity": 26, + "type": "Type3", + "date": "2020-06-25", + "startTime": "1940-12-10", + "endTime": "1944-05-02", + "effortRessenti": 2, + "variability": 20.6298, + "variance": 54.2174, + "standardDeviation": 56.4106, + "average": 4.487, + "maximum": 112, + "minimum": 98, + "avrTemperature": 80.8548, + "hasAutoPause": false + } +] \ No newline at end of file