Skip to content
Snippets Groups Projects
Commit aeb74f41 authored by Paolo.Brasolin's avatar Paolo.Brasolin
Browse files

feat: #be quick stats for dashboard

parent 198f072a
No related branches found
No related tags found
No related merge requests found
...@@ -58,6 +58,11 @@ import { connection } from "./db"; ...@@ -58,6 +58,11 @@ import { connection } from "./db";
server.get("/", async (request, reply) => { server.get("/", async (request, reply) => {
// reply.code(200).send("Hello, World!"); // reply.code(200).send("Hello, World!");
const gamesCount = (await connection.table("games").count())[0].count;
const cluesCount = (await connection.table("clues").count())[0].count;
const shotsCount = (await connection.table("shots").count())[0].count;
const gamesByDate = await connection const gamesByDate = await connection
.table("games") .table("games")
.select( .select(
...@@ -76,6 +81,9 @@ server.get("/", async (request, reply) => { ...@@ -76,6 +81,9 @@ server.get("/", async (request, reply) => {
.orderBy("bucket"); .orderBy("bucket");
reply.view("/templates/dashboard.ejs", { reply.view("/templates/dashboard.ejs", {
gamesCount,
cluesCount,
shotsCount,
gamesByDate, gamesByDate,
shotsByDuration, shotsByDuration,
}); });
......
...@@ -32,9 +32,45 @@ ...@@ -32,9 +32,45 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<main class="col-lg-8 col-md-10 mx-auto p-md-4"> <main class="col-lg-8 col-md-10 mx-auto p-md-4">
<h1>Quick facts</h1>
<div class="row">
<div class="col-sm-4">
<div class="card text-dark bg-light m-2">
<div class="card-body">
<h5 class="card-title">
<%= gamesCount %>
</h5>
<h6 class="card-subtitle mb-2 text-muted">Games played</h6>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="card text-dark bg-light m-2">
<div class="card-body">
<h5 class="card-title">
<%= cluesCount %>
</h5>
<h6 class="card-subtitle mb-2 text-muted">Clues shown</h6>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="card text-dark bg-light m-2">
<div class="card-body">
<h5 class="card-title">
<%= shotsCount %>
</h5>
<h6 class="card-subtitle mb-2 text-muted">Shots taken</h6>
</div>
</div>
</div>
</div>
<h1>Game count by date</h1> <h1>Game count by date</h1>
<script id="gamesByDateData" type="application/json"><%- JSON.stringify(gamesByDate) %></script> <script id="gamesByDateData" type="application/json"><%- JSON.stringify(gamesByDate) %></script>
<canvas id="gamesByDateChart"></canvas> <canvas id="gamesByDateChart"></canvas>
<h1>Shot count by duration [ms]</h1> <h1>Shot count by duration [ms]</h1>
<script id="shotsByDurationData" type="application/json"><%- JSON.stringify(shotsByDuration) %></script> <script id="shotsByDurationData" type="application/json"><%- JSON.stringify(shotsByDuration) %></script>
<canvas id="shotsByDurationChart"></canvas> <canvas id="shotsByDurationChart"></canvas>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment