Mainflux.mainflux/README.md

84 lines
3.8 KiB
Markdown
Raw Normal View History

2016-02-16 03:06:54 +08:00
# Mainflux Lite
2015-10-02 22:15:46 +08:00
2015-10-10 07:06:40 +08:00
[![License](https://img.shields.io/badge/license-Apache%20v2.0-blue.svg)](LICENSE) [![Join the chat at https://gitter.im/Mainflux/mainflux](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Mainflux/mainflux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2015-07-07 05:43:19 +08:00
### About
2015-10-10 04:35:20 +08:00
Mainflux is lean open source industrial IoT cloud written in NodeJS.
2015-07-07 05:43:19 +08:00
It allows device, user and application connections over various network protocols, like HTTP, MQTT, WebSocket and CoAP, making a seamless bridge between them. As a consequence, Mainflux represents highly secure and highly optimised M2M platform based on the cutting-edge standards and approaches in the industry.
### Architecture
2016-02-15 08:12:00 +08:00
![Mainflux Architecture](https://github.com/Mainflux/mainflux-doc/blob/master/img/mainfluxArchitecture.jpg "Mainflux Architecture")
### Features
An extensive (and incomplete) list of featureas includes:
- Set of clean APIs, Swagger documented: HTTP RESTful, MQTT, WebSocket and CoAP
- Set of client libraries for many HW platforms in several programming languages: C/C++, JavaScript and Python
- Device management and provisioning and OTA FW updates
- UNIX-like permissions for device sharing
- Highly secured connections via TLS and DTLS
- User authentication via [JSON Web Tokens](http://jwt.io/)
- Responsive and scalable ModgoDB database
- Modern architecture based on micro-services
- [LwM2M](http://goo.gl/rHjLZQ) standard compliance via [Coreflux](https://github.com/Mainflux/coreflux)
- Partial [oneM2M](http://www.onem2m.org/) compliance
- Easy deployment and high system scalability via Docker images
- Clear project roadmap, extensive development ecosystem and highly skilled developer community
- And many more
### Install
Clone the repo:
2015-07-07 05:43:19 +08:00
```bash
git clone https://github.com/Mainflux/mainflux.git
cd mainflux
```
Install Node modules:
```bash
npm install
2015-07-07 05:43:19 +08:00
```
Run Gulp Task:
2015-07-07 05:43:19 +08:00
```bash
gulp
2015-07-07 05:43:19 +08:00
```
> N.B. Mainflux has a MongoDB dependency. Database path and port can be defined in the [config](https://github.com/Mainflux/mainflux/tree/master/config) files.
2015-12-07 08:03:28 +08:00
>
> To avoid installation of MongoDB on the local system in order to deploy Mainflux you can use Docker image,
> as explained below.
### Docker
2015-10-10 06:55:04 +08:00
Apart from main `nodejs` Docker image, Mainflux also uses `mongo` Docker image (database instance is run in a separte generic Docker image).
2015-12-07 08:03:28 +08:00
This is why Mainflux uses [Docker Compose](https://docs.docker.com/compose/install/), to run both `nodejs` and `mongo` images at the same time and make a connection ([container link](https://docs.docker.com/v1.8/userguide/dockerlinks/)) between them.
Executing:
2015-07-27 05:39:09 +08:00
```bash
docker-compose up
2015-07-27 05:39:09 +08:00
```
2015-12-07 08:29:56 +08:00
will automatically build all the images, run Docker containers and create link between them - i.e. it will bring up Mainflux API server + MongoDB ready for use.
2015-07-27 05:39:09 +08:00
2015-12-07 08:03:28 +08:00
For more details and troubleshooting please consult [Docker chapter on Mainflux Wiki](https://github.com/Mainflux/mainflux/wiki/Docker).
2015-10-17 06:03:21 +08:00
### Documentation
2015-12-07 08:03:28 +08:00
Development documentation can be found on our [Mainflux GitHub Wiki](https://github.com/Mainflux/mainflux/wiki).
Swagger-generated API reference can be foud at [http://mainflux.com/apidoc](http://mainflux.com/apidoc).
2015-10-17 06:03:21 +08:00
### Community
#### Mailing lists
- [mainflux-dev](https://groups.google.com/forum/#!forum/mainflux-dev) - developers related. This is discussion about development of Mainflux IoT cloud itself.
- [mainflux-user](https://groups.google.com/forum/#!forum/mainflux-user) - general discussion and support. If you do not participate in development of Mainflux cloud infrastructure, this is probably what you're looking for.
#### IRC
[Mainflux Gitter](https://gitter.im/Mainflux/mainflux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
#### Twitter
[@mainflux](https://twitter.com/mainflux)
### License
2015-10-10 06:55:04 +08:00
[Apache License, version 2.0](LICENSE)