GithubHelp home page GithubHelp logo

marceluphd / mainflux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from absmach/magistrala

0.0 1.0 0.0 31.12 MB

Industrial IoT Messaging and Device Management Server

Home Page: https://www.mainflux.com/

License: Apache License 2.0

Makefile 0.59% Go 86.96% Dockerfile 0.14% Shell 0.59% JavaScript 1.73% Scala 0.88% CSS 0.23% HTML 0.10% Elm 8.77%

mainflux's Introduction

Mainflux

build go report card coverage license chat

banner

Mainflux is modern, scalable, secure open source and patent-free IoT cloud platform written in Go.

It accepts user and thing connections over various network protocols (i.e. HTTP, MQTT, WebSocket, CoAP), thus making a seamless bridge between them. It is used as the IoT middleware for building complex IoT solutions.

For more details, check out the official documentation.

Mainflux is member of the Linux Foundation and an active contributor to the EdgeX Foundry project. It has been made with โค๏ธ by Mainflux company, which maintains the project and offers professional services around it.

Features

  • Multi-protocol connectivity and protocol bridging (HTTP, MQTT, WebSocket and CoAP)
  • Device management and provisioning
  • Fine-grained access control
  • Storage support (Cassandra, InfluxDB and MongoDB)
  • Platform logging and instrumentation support
  • Event sourcing
  • Container-based deployment using Docker and Kubernetes
  • LoRaWAN network integration
  • SDK
  • CLI
  • Small memory footprint and fast execution
  • Domain-driven design architecture, high-quality code and test coverage

Install

Before proceeding, install the following prerequisites:

Once everything is installed, execute the following commands from project root:

docker-compose -f docker/docker-compose.yml up -d

This will bring up all Mainflux dockers and inter-connect them in the composition.

Usage

Best way to quickstart using Mainflux is via CLI:

make cli
./build/mainflux-cli version

Mainflux CLI can also be downloaded as a tarball from offical release page

If this works, head to official documentation to understand Mainflux provisioning and messaging.

Documentation

Official documentation is hosted at Mainflux Read The Docs page.

Documentation is auto-generated from Markdown files in ./docs directory. If you spot an error or need for corrections, please let us know - or even better: send us a PR.

Additional practical information, news and tutorials can be found on the Mainflux blog.

Authors

Main architect and BDFL of Mainflux project is @drasko.

Additionally, @nmarcetic and @janko-isidorovic assured overall architecture and design, while @manuio and @darkodraskovic helped with crafting initial implementation and continiusly work on the project evolutions.

Besides them, Mainflux is constantly improved and actively developed by @anovakovic01, @dusanb94, @srados, @gsaleh, @blokovi, @chombium and a large set of contributors.

Maintainers are listed in MAINTAINERS file.

Mainflux team would like to give special thanks to @mijicd for his monumental work on designing and implementing highly improved and optimized version of the platform, and @malidukica for his effort on implementing initial user interface.

Contributing

Thank you for your interest in Mainflux and wish to contribute!

  1. Take a look at our open issues.
  2. Checkout the contribution guide to learn more about our style and conventions.
  3. Make your changes compatible to our workflow.

We're Hiring

If you are interested in working professionally on Mainflux, please head to company's careers page or shoot us an e-mail at [email protected].

Note that the best way to grab our attention is by sending PRs ๐Ÿ˜Ž.

Community

License

Apache-2.0

mainflux's People

Contributors

drasko avatar anovakovic01 avatar mijicd avatar dborovcanin avatar nmarcetic avatar manuio avatar chombium avatar blokovi avatar darkodraskovic avatar mfinley3 avatar mteodor avatar ks156 avatar tony-ward avatar oldmikeyang avatar nwest1 avatar kelvinji2009 avatar janko-isidorovic avatar hykuan avatar caztial avatar bzub avatar beres avatar vstarcevic avatar gitter-badger avatar maxpeng92 avatar ferama avatar cage1016 avatar juanmagal avatar autolisis avatar bojanbla avatar alwindoss avatar

Watchers

James Cloos avatar

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.