2016-04-28 22:07:16 +02:00
# Mainflux
2015-10-02 14:15:46 +00:00
2017-09-23 02:27:49 +02:00
[![build][ci-badge]][ci-url]
[![go report card][grc-badge]][grc-url]
[![license][license]](LICENSE)
[![chat][gitter-badge]][gitter]
2015-07-06 23:43:19 +02:00
2017-09-23 02:27:49 +02:00
![banner][banner]
2015-07-06 23:43:19 +02:00
2017-09-23 13:43:23 +02:00
Mainflux is modern, scalable, secure open source and patent-free IoT cloud platform written in Go.
2015-10-02 16:18:35 +02:00
2017-09-23 13:43:23 +02:00
It accepts user, device, and application 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.
2016-11-12 19:49:23 +01:00
2017-09-23 02:27:49 +02:00
For more details, check out the [official documentation][docs].
2015-10-02 16:18:35 +02:00
2017-09-23 02:27:49 +02:00
## Features
2016-11-24 02:19:06 +01:00
2017-09-23 13:43:23 +02:00
- Protocol bridging (i.e. HTTP, MQTT, WebSocket, CoAP)
- Device management and provisioning
- Fine-grained access control
- Container-based deployment using [Docker][docker]
2017-01-15 00:57:59 +01:00
2017-09-23 02:27:49 +02:00
## Quickstart
2017-09-18 21:38:06 +02:00
2017-09-23 02:27:49 +02:00
#### Docker
2016-04-28 22:16:01 +02:00
- Clone the repo:
```bash
2017-09-23 02:27:49 +02:00
git clone https://github.com/mainflux/mainflux.git
2017-09-18 21:38:06 +02:00
```
- Go to `mainflux/docker` dir:
```
cd mainflux/docker
2016-04-28 22:16:01 +02:00
```
2015-10-02 16:18:35 +02:00
2017-09-18 21:41:57 +02:00
- Use [`mainflux-docker.sh` ](docker/mainflux-docker.sh ) script to start the Docker composition:
2015-07-06 23:43:19 +02:00
```bash
2017-09-18 21:41:57 +02:00
./mainflux-docker.sh start
2015-10-02 16:18:35 +02:00
```
2016-04-28 22:19:08 +02:00
2017-09-23 02:27:49 +02:00
Once started, the script will download and start Docker images required by the composition.
2016-04-28 22:07:16 +02:00
2017-09-23 02:27:49 +02:00
#### From sources
2017-09-18 21:41:57 +02:00
Use script [`install_sources.sh` ](install_sources.sh ).
2017-09-18 21:38:06 +02:00
This will create `./mainflux_sources` dir, git-clone all the sources from GitHub repos and place them in appropriate destination (Go code goes to $GOPATH, symlinks are created).
It will also give you the instructions how to finish the installation manually.
2017-09-23 13:43:23 +02:00
## Contributing
Thank you for your interest in Mainflux and wish to contribute!
1. Take a look at our [open issues ](https://github.com/mainflux/mainflux/issues ).
2. Checkout the [contribution guide ](CONTRIBUTING.md ) to learn more about our style and conventions.
3. Make your changes compatible to our workflow.
2017-09-23 02:27:49 +02:00
## Community
- [Google group][forum]
- [Gitter][gitter]
- [Twitter][twitter]
[banner]: https://github.com/mainflux/doc/blob/master/docs/img/gopherBanner.jpg
2017-09-23 17:08:03 +02:00
[ci-badge]: https://travis-ci.org/mainflux/mainflux.svg?branch=master
[ci-url]: https://travis-ci.org/mainflux/mainflux
2017-09-23 02:27:49 +02:00
[docs]: http://mainflux.readthedocs.io
[docker]: https://www.docker.com
[forum]: https://groups.google.com/forum/#!forum/mainflux
[gitter]: https://gitter.im/mainflux/mainflux?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge
[gitter-badge]: https://badges.gitter.im/Join%20Chat.svg
[grc-badge]: https://goreportcard.com/badge/github.com/mainflux/mainflux
[grc-url]: https://goreportcard.com/report/github.com/mainflux/mainflux
[license]: https://img.shields.io/badge/license-Apache%20v2.0-blue.svg
[twitter]: https://twitter.com/mainflux