Giter VIP home page Giter VIP logo

mainflux's Introduction

Mainflux

License Join the chat at https://gitter.im/Mainflux/mainflux

Quick Links

Link Description
mainflux-core Mainflux Core Service
mainflux-auth Authentication and Authorization Server
mainflux-mqtt MQTT PUB/SUB Broker (with WebSocket support)
mainflux-coap CoAP Server
mainflux-ui System Dashboard in Angular 2 Material
mainflux-cli Interactive command-line interface
mainflux-nginx NGINX configuration for reverse proxy with auth

About

Mainflux is modern massively-scalable and highly-secured open source and patent-free IoT cloud platform written in Go and Erlang, based on a set of microservices.

It allows device, user and application connections over various network protocols, like HTTP, MQTT, WebSocket and CoAP, making a seamless bridge between them. It is used as the IoT middleware for building complex IoT solutions.

gophersBanner

Mainflux is built with <3 by Mainflux team and community contributors.

Architecture

Mainflux IoT cloud is composed of several components, i.e. microservices:

Link Description
mainflux-core Mainflux Core Service
mainflux-auth Authentication and Authorization Server
mainflux-mqtt MQTT PUB/SUB Broker (with WebSocket support)
mainflux-coap CoAP Server
mainflux-ui System Dashboard in Angular 2 Material
mainflux-cli Interactive command-line interface
MongoDB Devices/Measurements NoSQL Database
Redis System async events and caching
NATS System event bus
NGINX Reverse Proxy with Auth forwarding

arch

Docker composition that constitues Mainflux IoT infrastructure is defined in the docker-compose.yml.

Security

For professional deployments Mainflux is usually combined with Mainflux Authentication and Authorization Server which adds fine-grained security based on customizable API keys.

Mainflux Auth Server also provides user accounts and device and application access control with simple customizable scheme based on scoped JWTs.

Install/Deploy

  • Clone the repo:
git clone https://github.com/Mainflux/mainflux.git && cd mainflux
  • Start the Docker composition:
docker-compose up

This will automatically download Docker images from Mainflux Docker Hub and deploy the composition of Mianflux microservices.

Features

An extensive (and incomplete) list of features includes:

  • Responsive and scalable architecture based on a set of microservices
  • Set of clean APIs: HTTP RESTful, MQTT, WebSocket and CoAP
  • SDK - set of client libraries for many HW platforms in several programming languages: C/C++, JavaScript, Go and Python
  • Device management and provisioning and OTA FW updates
  • Highly secured connections via TLS and DTLS
  • Enhanced and fine-grained security via deployment-ready Mainflux Authentication and Authorization Server with Access Control scheme based on customizable API keys and scoped JWT
  • Easy deployment and high system scalability via Docker images
  • Clear project roadmap, extensive development ecosystem and highly skilled developer community
  • And many more

Documentation

Mainflux documentation can be found here.

Community

Mailing list

mainflux Google group

For quick questions and suggestions you can also use GitHub Issues.

IRC

Mainflux Gitter

Twitter

@mainflux

Authors

Main architect and BDFL of Mainflux project is @drasko. Additionaly, initial version of Mainflux was architectured and crafted by @janko-isidorovic, @nmarcetic and @mijicd.

Maintainers are listed in MAINTAINERS file.

Contributors are listed in CONTRIBUTORS file.

License

Apache License, version 2.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.