diff --git a/public/partials/home.htm b/public/partials/home.htm index 38a8368..2380a0e 100644 --- a/public/partials/home.htm +++ b/public/partials/home.htm @@ -134,18 +134,7 @@

Metrics

-
-
-
-

- {{stat.nbRepositories|number}} Anonymized Repositories -

-
-
-
-
+
@@ -154,6 +143,26 @@
+
+
+
+

+ {{stat.nbRepositories|number}} Repositories +

+
+
+
+
+
+
+

{{stat.nbPageViews|number}} Page views

+
+
+
diff --git a/src/server.ts b/src/server.ts index 4b705b4..30b3333 100644 --- a/src/server.ts +++ b/src/server.ts @@ -41,7 +41,7 @@ export default async function start() { app.set("trust proxy", true); app.set("etag", "strong"); - app.get('/ip', (request, response) => response.send(request.ip)) + app.get("/ip", (request, response) => response.send(request.ip)); // handle session and connection app.use(connection.appSession); @@ -80,7 +80,7 @@ export default async function start() { app.use("/github", rate, speedLimiter, connection.router); // api routes - const apiRouter = express.Router() + const apiRouter = express.Router(); app.use("/api", rate, apiRouter); apiRouter.use("/admin", router.admin); @@ -103,7 +103,14 @@ export default async function start() { await AnonymizedRepositoryModel.estimatedDocumentCount(); const nbUsers = (await AnonymizedRepositoryModel.distinct("owner")).length; - res.json({ nbRepositories, nbUsers }); + const nbPageViews = await AnonymizedRepositoryModel.collection + .aggregate([ + { + $group: { _id: null, total: { $sum: "$pageView" } }, + }, + ]) + .toArray(); + res.json({ nbRepositories, nbUsers, nbPageViews: nbPageViews[0].total }); }); // web view