Smart meter data analytics app built with the MEVN stack (MongoDB, Express, Vue, Node.js).
The app visualizes smart meter measurements time-series data and provides simple analytics.
The external-api simulates an external REST API providing smart meter measurements data. It implements authentication using JWT (JSON Web Tokens).
The back-end provides a REST API to retrieve the smart meter measurements data from the MongoDB database. It also provides an endpoint to import the data from the external-api into the database.
The front-end provides a single-page application to visualize the smart meter measurements data retrieved from the back-end REST API. It also provides simple analytics with graphs showing the data grouped by different time intervals.
All the smart meter data being used is just test data.
- Node.js
- npm
- MongoDB - Download and install, or install with Docker
cd external-api
npm install
See file .env.example for an example
npm run start
npm run test
npm run build
npm run start:production
cd back-end
npm install
See file .env.example for an example
File measurements.json.example contains some sample data and the following mongoimport
command could be used to import it:
mongoimport --db=meter-data-analytics_db --collection=measurements --file=measurements.json.example
npm run start
npm run test
npm run build
npm run start:production
cd front-end
npm install
See file .env.example for an example.
npm run dev
npm run test:unit
npm run build
npm run preview