Skip to content

eapsa/REC-Platform-Meters

Repository files navigation

LinkedIn

Disclaimer

This microservice was necessary for me to graduate in the Master's Degree in Engineering of Computer and Telematics. If interested, check MSC Eduardo Almeida to know more!

REC Platform - Meters Microservice

The Renewable Energy Community Platform consists in a microservices API to enable and enhance Peer-to-Peer energy Transactions between Prosumers and consumers of a community.

The meter microservice is where the real-time measurements sent by the meters are stored for later access.

Why building a REC Platform using microservices:

  • The project was developed together with other devs
  • Changes in one particular module forced to shutdown/reboot the whole API.
  • This is part of a research program, therefore multiple experimental ideas, frameworks, and scripts were used.

(Back to Top)

Built With

To make the API work, these are the core features of the Gateway:

(back to top)

Getting Started

The Meters microservice requires Gateway to be operational as well as a InfluxDB database to store the data.

Other microservices links:

Prerequisites

To get it started:

  • npm
    npm install npm@latest -g

Installation

  1. Clone the repo
    git clone https://github.com/AnBapDan/REC-Platform-Meters.git
  2. Install NPM packages
    npm install
  3. Enter the Profobuf repo in package.json on the dependencies tab
        "grpc-protos": "git+REPOSITORY",
  4. Update the influxdb client in src/meters/meters.service.ts

(back to top)

Deployment

The all microservices structure is supposed to be deployed using Docker Swarm. Below are the steps to achieve it correctly.

  1. Create a network that hosts all the stack

    docker network create --driver=overlay --attachable RECNetwork
  2. Run every Dockerfile to create its image

    docker build -t <img_name>:<version>
  3. Deploy the whole Docker stack

    docker stack deploy -c docker-compose.yml RECNetwork

The commands below are auxiliary if you need to debug some microservice:

docker ps -f "label=com.docker.swarm.service.name=RECNetwork_gateway" --format "{{.ID}}"
docker stack services RECNetwork
docker service logs <service_name>
docker exec -it <HASH_name> command

Contact

Eduardo Almeida - [email protected]

Project Link: https://github.com/eapsa/REC-Platform-Meters.git

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published