Unverified Commit 987cec52 authored by mehdilouraoui's avatar mehdilouraoui Committed by GitHub
Browse files

feat(stats): display monthly downloads and visitors (#187)

* feat(stats): display monthly downloads and visitors

* feat(statistics): dynamize stats values + refacto layout
parent 1e646ad3
......@@ -18,7 +18,7 @@ type StatisticsConnectedDotsProps = {
statistic: ConnectedDotsStatisticsConfig;
};
const formatXAxisLabel = compose(format("d MMM"), parseISO);
const formatXAxisLabel = compose(format("d MMM yy"), parseISO);
const StatisticsConnectedDots: FC<StatisticsConnectedDotsProps> = ({
statistic,
......
......@@ -7,26 +7,14 @@ export const statisticsLayout: StatisticsGroup[] = [
size: 6,
statistics: [
{
label: "utilisateurs quotidiens",
fields: ["appDownload", "download"],
label: "toutes versions confondues depuis le 1er janvier 2020",
switchDisplayConfig: {
field: "last30DaysVisits",
field: "monthlyDownload",
formatting: Formatting.CONNECTED_DOTS,
label: "utilisateurs",
label: "",
type: "simple",
},
tooltip: "utilisateurs uniques par jour lors des 30 derniers jours",
type: "raw",
value: 40,
},
],
title: "Utilisateur•rice•s",
},
{
size: 6,
statistics: [
{
fields: ["download", "appDownload"],
label: "téléchargements depuis le 1er janvier 2020",
type: "aggregated",
},
],
......@@ -36,113 +24,19 @@ export const statisticsLayout: StatisticsGroup[] = [
size: 6,
statistics: [
{
label: "note donnée par les utilisateurs, sur 5",
tooltip:
"Question posée : « Et si vous deviez donner une note à Archifiltre ? » (49 répondants)",
type: "raw",
value: 4.2,
},
],
title: "note",
},
{
size: 6,
statistics: [
{
label:
"des utilisateurs recommanderaient totalement Archifiltre à leurs collègues",
tooltip:
"Question posée : « A quel point recommanderiez-vous Archifiltre à des collègues ? » Réponse sur une échelle de 1 à 10. (49 répondants)",
type: "raw",
value: "90%",
},
],
title: "recommandation",
},
],
title: "En résumé 📌",
},
{
blocks: [
{
size: 6,
statistics: [
{
field: "visitorCountries",
formatting: Formatting.MAPCHART,
label: "(depuis le 1er janvier 2020)",
field: "averageDailyVisitors",
label: "au quotidien depuis le 1er janvier 2020",
switchDisplayConfig: {
field: "totalMonthVisitors",
formatting: Formatting.CONNECTED_DOTS,
label: "utilisateurs",
type: "simple",
},
type: "simple",
},
],
title: "Localisation",
},
],
title: "Utilisations 👨🏿‍💻 👩🏼‍💻 👨🏽‍💻",
},
{
blocks: [
{
size: 6,
statistics: [
{
fields: ["download", "appDownload"],
label: "téléchargements depuis le 1er janvier 2020",
type: "aggregated",
},
{
fields: [
"v3.1.1 WIN64",
"v3.1.1 MAC",
"v3.1.1 Windows 64 bits",
"v3.1.1 Windows 32 bits",
"v3.1.1 LINUX",
"v3.1.1 Linux 64 bits",
"v3.1.1 MacOS",
"v3.1.1 Windows MSI 32 bits",
],
label: "téléchargements de la dernière version (3.1.1)",
type: "aggregated",
},
],
title: "En nombre",
},
{
size: 3,
statistics: [
{
formatting: Formatting.PIECHARTS,
label: "",
type: "raw",
value: [
{ label: "v2", value: 54 },
{ label: "v3.0.0", value: 185 },
{ label: "v3.1.x", value: 1895 },
],
},
],
title: "Versions utilisées lors du dernier mois",
},
{
size: 3,
statistics: [
{
formatting: Formatting.PIECHARTS,
label: "",
type: "raw",
value: [
{ label: "Windows", value: 16452 },
{ label: "MacOS", value: 1269 },
{ label: "linux", value: 155 },
],
},
],
title: "Système d'exploitation",
title: "Utilisateur•rice•s",
},
],
title: "Téléchargements 🔗",
},
{
blocks: [
{
size: 4,
statistics: [
......@@ -159,7 +53,8 @@ export const statisticsLayout: StatisticsGroup[] = [
statistics: [
{
fields: ["totalMarkedToDelete"],
label: "Go d'éléments tagués « à supprimer »",
label:
"De données identifiées « à supprimer » depuis le 15 avril 2021",
type: "aggregated",
},
],
......@@ -169,117 +64,91 @@ export const statisticsLayout: StatisticsGroup[] = [
size: 4,
statistics: [
{
fields: ["carbonFootprintInGrams"],
label: "Equivalent CO2 en grammes",
type: "aggregated",
field: "carbonFootprintInGrams",
label: "g d'équivalent CO2 économisés depuis le 15 avril 2021",
tooltip:
"Donnée calculée à partir d'une formule exprimée par Cyber World CleanUp Day",
type: "simple",
},
],
title: "Donnée écologique",
},
],
title: "Volume de données 📈",
},
{
blocks: [
{
size: 3,
size: 6,
statistics: [
{
label: "minutes par session en moyenne",
label: "note donnée par les utilisateurs/utilisatrices, sur 5",
tooltip:
"Question posée : « Et si vous deviez donner une note à Archifiltre ? » (49 répondants)",
type: "raw",
value: 12,
value: 4.2,
},
],
title: "Durée",
title: "note",
},
{
size: 3,
size: 6,
statistics: [
{
label: "actions par session en moyenne",
label:
"De recommandation par les utilisateurs/utilisatrices à leurs collègues depuis le 01/01/2020",
tooltip:
"Question posée : « A quel point recommanderiez-vous Archifiltre à des collègues ? » Réponse sur une échelle de 1 à 10. (49 répondants)",
type: "raw",
value: 12.3,
},
],
title: "Actions",
},
{
size: 3,
statistics: [
{
fields: [
"CSV Export",
"CSV with hashes Export",
"Tree CSV Export",
"Excel Export",
"METS Export",
"RESIP Export",
],
label: "exports au total",
type: "aggregated",
value: "90%",
},
],
title: "Exports",
title: "recommandation",
},
],
title: "Usages 💻",
title: "En résumé 📌",
},
{
blocks: [
{
size: 4,
statistics: [
{
label: "personnes ont contribué à la conception du produit",
type: "raw",
value: 122,
},
],
title: "Co-designers",
},
{
size: 4,
size: 12,
statistics: [
{
label: "personnes ont participé à des sessions de formation",
type: "raw",
value: 211,
field: "visitorCountries",
formatting: Formatting.MAPCHART,
label: "(depuis le 1er janvier 2020)",
type: "simple",
},
],
title: "Personnes formées",
title: "Localisation",
},
{
size: 4,
statistics: [
{
label: "personnes nous suivent sur les réseaux sociaux (cumul)",
label: "sessions de présentation du produit",
type: "raw",
value: 672,
value: 96,
},
],
title: "Followers",
title: "Présentations",
},
{
size: 4,
statistics: [
{
label: "sessions de présentation du produit",
label: "personnes ayant assistées à ces présentations",
type: "raw",
value: 96,
value: 1792,
},
],
title: "Présentations",
title: "Personnes touchées",
},
{
size: 4,
statistics: [
{
label: "personnes ayant assisté à ces présentations",
label: "personnes nous suivent sur les réseaux sociaux (cumul)",
type: "raw",
value: 1792,
value: 672,
},
],
title: "Personnes touchées",
title: "Followers",
},
],
title: "Communauté 👩🏾 👨‍🦰 🧓🏿",
......
......@@ -38,9 +38,14 @@ const isAggregatedStatistic = (
configItem: StatisticConfig
): configItem is AggregatedStatisticConfig => configItem.type === "aggregated";
const extractCommonProps = ({ label, formatting }: StatisticConfig) => ({
const extractCommonProps = ({
label,
formatting,
tooltip,
}: StatisticConfig) => ({
formatting,
label,
tooltip,
});
const formatAggregatedStatistic = (statistic: AggregatedStatisticConfig) => (
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment