Skip to content
IoT Engineer
All projects

BarIoT

HBKU, Doha, Qatar2022 - Present
Bariot Logo
Bariot Architecture
Bariot Logo
Bariot Tools

Bariot is an IoT / IIoT (Industrial Internet of Things) platform designed with modern standards of security, scalability, performance and DevOps practices. Bariot is used to create a simple and scalable solutions to connect devices, store data and offers visualizations tools. It is therefore a complete tool to quickly bring these online features to communication enabled devices at any scale.

It is developed mainly in Go with docker and use a wide range of industry standard technologies, such as MQTT, PostgreSQL, InfluxDB, etc... This project is inspired from the beautiful architecture of Mainflux. It gave me a deep understanding of most of the technologies involved in IoT cloud platforms (not only)

Key Points:

  • Microservices with Go and Docker
  • Distributed system with message queuing
  • Fast and Horizontally scalable
  • Secure encryption and secrets management

Project on GitHub

More details
Technologies used in Bariot:
  • Transport: MQTT
  • Authentication/Authorization: JWT
  • USER, THINGS storage: PostgreSQL
  • THINGS DATA storage: InfluxDB
  • Services intercommunication: gRpc
  • Services messaging: Nats
Technologies being added:
  • Transport: OPC-UA
  • Data presentation: Grafana
  • Reverse proxy: Nginx
  • Secret storage/management: Vault
  • Caching: Redis
  • CI/CD: GitLab

Bariot is opinionated, in the sense that storage and communications technologies are predefined (for now)
  • Cloud & Backend
  • IoT
  • IIoT
  • Online platform
  • Microservices
  • Docker
  • Go