Project state -> In development
- OBU -> data sender for coords
- Receiver -> receive data from OBU and sit on Apache Kafka queue
- Distance calculator -> calculate the distance travelled from queue data
- Invoice generator -> invoice generator for the customer
- Invoice calculator -> invoice calculator using the distance travelled during delivery windows
- Gateway -> API Gateway so data can be passed between the invoicer and invoice calculator
- Promtetheus -> metrics
- Grafana -> timeseries
- Clone the repository:
git clone https://github.com/lucaliebenberg/traffic-toll-microservice.git
- Build the project:
go build - o traffic-toll-microservice/bin
- Run the project:
docker run --name kafka -p 9092:9092 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true bitnami/kafka:latest # docker container
make run receiver # terminal 1
make run calculator # terminal 2
make run agg # terminal 3
make obu # terminal 4
- To run executable bin file:
./traffic-toll-microservice/bin
If you would like to contribute to the project, please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Make your changes.
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Create a new Pull Request.