mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-07-04 20:57:56 +02:00
feat: display the number of page views
This commit is contained in:
+21
-12
@@ -134,18 +134,7 @@
|
|||||||
<h2 id="about">Metrics</h2>
|
<h2 id="about">Metrics</h2>
|
||||||
<div class="row pb-5">
|
<div class="row pb-5">
|
||||||
<!--Grid column-->
|
<!--Grid column-->
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
<div
|
|
||||||
class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative"
|
|
||||||
>
|
|
||||||
<div class="col p-4 d-flex flex-column position-static">
|
|
||||||
<h3 class="mb-auto text-center">
|
|
||||||
{{stat.nbRepositories|number}} Anonymized Repositories
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div
|
<div
|
||||||
class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative"
|
class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative"
|
||||||
>
|
>
|
||||||
@@ -154,6 +143,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div
|
||||||
|
class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative"
|
||||||
|
>
|
||||||
|
<div class="col p-4 d-flex flex-column position-static">
|
||||||
|
<h3 class="mb-auto text-center">
|
||||||
|
{{stat.nbRepositories|number}} Repositories
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div
|
||||||
|
class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative"
|
||||||
|
>
|
||||||
|
<div class="col p-4 d-flex flex-column position-static">
|
||||||
|
<h3 class="mb-auto text-center">{{stat.nbPageViews|number}} Page views</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!--Grid column-->
|
<!--Grid column-->
|
||||||
</div>
|
</div>
|
||||||
<!--Grid row-->
|
<!--Grid row-->
|
||||||
|
|||||||
+10
-3
@@ -41,7 +41,7 @@ export default async function start() {
|
|||||||
app.set("trust proxy", true);
|
app.set("trust proxy", true);
|
||||||
app.set("etag", "strong");
|
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
|
// handle session and connection
|
||||||
app.use(connection.appSession);
|
app.use(connection.appSession);
|
||||||
@@ -80,7 +80,7 @@ export default async function start() {
|
|||||||
app.use("/github", rate, speedLimiter, connection.router);
|
app.use("/github", rate, speedLimiter, connection.router);
|
||||||
|
|
||||||
// api routes
|
// api routes
|
||||||
const apiRouter = express.Router()
|
const apiRouter = express.Router();
|
||||||
app.use("/api", rate, apiRouter);
|
app.use("/api", rate, apiRouter);
|
||||||
|
|
||||||
apiRouter.use("/admin", router.admin);
|
apiRouter.use("/admin", router.admin);
|
||||||
@@ -103,7 +103,14 @@ export default async function start() {
|
|||||||
await AnonymizedRepositoryModel.estimatedDocumentCount();
|
await AnonymizedRepositoryModel.estimatedDocumentCount();
|
||||||
|
|
||||||
const nbUsers = (await AnonymizedRepositoryModel.distinct("owner")).length;
|
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
|
// web view
|
||||||
|
|||||||
Reference in New Issue
Block a user