draft analytics

This commit is contained in:
cv
2021-06-14 10:07:11 +02:00
parent d734080ced
commit 1186bc9fff
6 changed files with 306 additions and 16 deletions
+17 -3
View File
@@ -1,4 +1,9 @@
// get config
// get environment vars
import 'dotenv/config.js';
import { sessionId, user } from './utils/analytics.js';
user.screenview('Node service', 'ontime').send();
user.event('NODE', 'started', 'starting node service').send();
import { config } from './config/config.js';
// init database
@@ -20,6 +25,7 @@ import express from 'express';
import http from 'http';
import cors from 'cors';
import { dbModel } from './data/dataModel.js';
import ua from 'universal-analytics';
// Read data from JSON file, this will set db.data content
await db.read();
@@ -53,11 +59,12 @@ app.use(cors());
app.options('*', cors());
// Implement middleware
app.use('/uploads', express.static('uploads'));
app.use(ua.middleware(process.env.ANALYTICS_ID, sessionId));
app.use(express.urlencoded({ extended: true }));
app.use(express.json({ limit: '1mb' }));
app.use('/uploads', express.static('uploads'));
// Implement route endpoints
app.use('/events', eventsRouter);
app.use('/event', eventRouter);
@@ -123,6 +130,8 @@ export const startOSCClient = (overrideConfig = null) => {
export const shutdown = () => {
console.log('Node service shutdown');
user.event('NODE', 'shutdown', 'requesting node shutfown').send();
// shutdown express server
server.close();
// shutdown OSC Server
@@ -132,3 +141,8 @@ export const shutdown = () => {
// shutdown timer
global.timer.shutdown();
};
if (env == 'development') {
startServer();
startOSCClient();
}
+3 -1
View File
@@ -10,7 +10,9 @@
"node-osc": "6.0.2",
"passport": "~0.4.1",
"passport-local": "~1.0.0",
"socket.io": "^4.0.0"
"socket.io": "^4.0.0",
"dotenv": "^10.0.0",
"universal-analytics": "^0.4.23"
},
"devDependencies": {
"eslint": "^7.26.0",
+14
View File
@@ -0,0 +1,14 @@
// get environment vars
import 'dotenv/config.js';
import ua from 'universal-analytics';
import { nanoid } from 'nanoid';
export const sessionId = nanoid();
export const user = ua(process.env.ANALYTICS_ID);
// Track session
user.set('uid', sessionId);
// Allows filtering by the 'Application?' field in GA
user.set('ds', 'app');