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-apinpm installSee file .env.example for an example
npm run startnpm run testnpm run buildnpm run start:productioncd back-endnpm installSee 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.examplenpm run startnpm run testnpm run buildnpm run start:productioncd front-endnpm installSee file .env.example for an example.
npm run devnpm run test:unitnpm run buildnpm run preview