Update readme files for monorepo
Signed-off-by: Dejan Mijic <dejan@mainflux.com>
This commit is contained in:
parent
26a2ea1ce1
commit
4132a5c017
121
README.md
121
README.md
|
@ -1,41 +1,44 @@
|
|||
# Mainflux
|
||||
|
||||
[![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)
|
||||
[![build][ci-badge]][ci-url]
|
||||
[![go report card][grc-badge]][grc-url]
|
||||
[![license][license]](LICENSE)
|
||||
[![chat][gitter-badge]][gitter]
|
||||
|
||||
### About
|
||||
Mainflux is modern massively-scalable and highly-secured open source and patent-free IoT cloud platform written in Go, based on a set of [microservices](#architecture).
|
||||
![banner][banner]
|
||||
|
||||
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.
|
||||
Mainflux is modern, massively-scalable, highly-secured open source and patent-free IoT cloud
|
||||
platform written in Go.
|
||||
|
||||
![gophersBanner](https://github.com/mainflux/doc/blob/master/docs/img/gopherBanner.jpg)
|
||||
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.
|
||||
|
||||
Mainflux is built with <3 by [Mainflux company](https://www.mainflux.com/) and community contributors.
|
||||
For more details, check out the [official documentation][docs].
|
||||
|
||||
### Architecture
|
||||
Mainflux IoT cloud is composed of several components, i.e. microservices:
|
||||
## Features
|
||||
|
||||
| Link | Description |
|
||||
|:--------------|:----------------------|
|
||||
| [http-adapter](https://github.com/mainflux/http-adapter) | HTTP message API server |
|
||||
| [manager](https://github.com/mainflux/manager) | Service for managing platform resources, including auth |
|
||||
| [message-writer](https://github.com/mainflux/message-writer) | Worker behind NATS that writes messages into Cassandra DB |
|
||||
| [mqtt-adapter](https://github.com/mainflux/mqtt-adapter) | MQTT PUB/SUB Broker (with WebSocket support) |
|
||||
| [mainflux-coap](https://github.com/mainflux/mainflux-coap) | CoAP Server |
|
||||
| [mainflux-ui](https://github.com/mainflux/mainflux-ui) | System Dashboard in Angular 2 Material |
|
||||
| [mainflux-cli](https://github.com/mainflux/mainflux-cli) | Interactive command-line interface |
|
||||
| [Cassandra](https://github.com/apache/cassandra) | System Database |
|
||||
| [NATS](https://github.com/nats-io/gnatsd) | System event bus |
|
||||
| [NGINX](https://github.com/nginx/nginx) | Reverse Proxy with Auth forwarding |
|
||||
An extensive (and incomplete) list of features includes:
|
||||
- Responsive and scalable microservice architecture
|
||||
- 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 with Access Control Lists
|
||||
- Easy deployment and high system scalability via [Docker][docker] images
|
||||
- Clear project roadmap, extensive development ecosystem and highly skilled developer community
|
||||
- And many more
|
||||
|
||||
![arch](https://github.com/mainflux/doc/blob/master/docs/img/architecture.jpg)
|
||||
## Architecture
|
||||
|
||||
### Install/Deploy
|
||||
TBD
|
||||
|
||||
#### Docker Composition
|
||||
## Quickstart
|
||||
|
||||
#### Docker
|
||||
- Clone the repo:
|
||||
```bash
|
||||
git clone https://github.com/Mainflux/mainflux.git
|
||||
git clone https://github.com/mainflux/mainflux.git
|
||||
```
|
||||
|
||||
- Go to `mainflux/docker` dir:
|
||||
|
@ -48,62 +51,30 @@ cd mainflux/docker
|
|||
./mainflux-docker.sh start
|
||||
```
|
||||
|
||||
This will automatically download Docker images from [Mainflux Docker Hub](https://hub.docker.com/u/mainflux/) and deploy the composition of Mianflux microservices.
|
||||
Once started, the script will download and start Docker images required by the composition.
|
||||
|
||||
#### From Sources
|
||||
#### From sources
|
||||
Use script [`install_sources.sh`](install_sources.sh).
|
||||
|
||||
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.
|
||||
|
||||
### Features
|
||||
An extensive (and incomplete) list of features includes:
|
||||
- Responsive and scalable architecture based on a set of [microservices](https://en.wikipedia.org/wiki/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 with Access Control Lists
|
||||
- Easy deployment and high system scalability via [Docker](https://www.docker.com/) images
|
||||
- Clear project roadmap, extensive development ecosystem and highly skilled developer community
|
||||
- And many more
|
||||
## Community
|
||||
|
||||
### Roadmap
|
||||
- [x] Use `go-kit` microservice framework
|
||||
- [x] Switch to `Cassandra`
|
||||
- [x] Use Docker multi-stage builds
|
||||
- [ ] Enable service discovery (`Consul` or `etcd`)
|
||||
- [ ] Finish `Dashflux` (Mainflux UI) MVP
|
||||
- [ ] Release `v1.0.0` (ETA: end of September)
|
||||
- [ ] Deploy public cloud
|
||||
- [ ] E2E tests and benchmarks
|
||||
- [ ] Ansible and Terraform deployment scripts
|
||||
- [ ] Kubernetes deployment procedure
|
||||
- [Google group][forum]
|
||||
- [Gitter][gitter]
|
||||
- [Twitter][twitter]
|
||||
|
||||
Project task management is done via [GitHub issues](https://github.com/Mainflux/mainflux/issues) opened for this repo and properly labeled.
|
||||
|
||||
### Documentation
|
||||
Mainflux documentation can be found [here](http://mainflux.readthedocs.io).
|
||||
|
||||
### Community
|
||||
#### Mailing list
|
||||
[mainflux](https://groups.google.com/forum/#!forum/mainflux) Google group
|
||||
|
||||
For quick questions and suggestions you can also use GitHub Issues.
|
||||
|
||||
#### 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)
|
||||
|
||||
### Authors
|
||||
Main architect and BDFL of Mainflux project is [@drasko](https://github.com/drasko). Additionaly, initial version of Mainflux was architectured and crafted by [@janko-isidorovic](https://github.com/janko-isidorovic), [@nmarcetic](https://github.com/nmarcetic) and [@mijicd](https://github.com/mijicd).
|
||||
|
||||
Maintainers are listed in [MAINTAINERS](MAINTAINERS) file.
|
||||
|
||||
Contributors are listed in [CONTRIBUTORS](CONTRIBUTORS) file.
|
||||
|
||||
### License
|
||||
[Apache License, version 2.0](LICENSE)
|
||||
[banner]: https://github.com/mainflux/doc/blob/master/docs/img/gopherBanner.jpg
|
||||
[ci-badge]: https://semaphoreci.com/api/v1/mainflux/mainflux/branches/master/badge.svg
|
||||
[ci-url]: https://semaphoreci.com/mainflux/mainflux
|
||||
[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
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
# Mainflux HTTP adapter
|
||||
|
||||
[![license][badge:license]](LICENSE)
|
||||
[![build][badge:ci]][www:ci]
|
||||
[![go report card][badge:grc]][www:grc]
|
||||
|
||||
Mainflux HTTP adapter provides an HTTP API for sending messages through the
|
||||
platform.
|
||||
|
||||
|
@ -53,10 +49,3 @@ ADAPTER_NATS_URL=[NATS instance URL] app
|
|||
|
||||
For more information about service capabilities and its usage, please check out
|
||||
the [API documentation](swagger.yaml).
|
||||
|
||||
[badge:license]: https://img.shields.io/badge/license-Apache%20v2.0-blue.svg
|
||||
[badge:ci]: https://travis-ci.org/mainflux/http-adapter.svg?branch=master
|
||||
[badge:grc]: https://goreportcard.com/badge/github.com/mainflux/http-adapter
|
||||
[doc]: http://mainflux.io
|
||||
[www:ci]: https://travis-ci.org/mainflux/http-adapter
|
||||
[www:grc]: https://goreportcard.com/report/github.com/mainflux/http-adapter
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
# Mainflux manager
|
||||
|
||||
[![license][badge:license]](LICENSE)
|
||||
[![build][badge:ci]][www:ci]
|
||||
[![go report card][badge:grc]][www:grc]
|
||||
|
||||
Mainflux manager provides an HTTP API for managing platform resources: users,
|
||||
devices, applications and channels. Through this API clients are able to do
|
||||
the following actions:
|
||||
|
@ -75,10 +71,5 @@ MANAGER_DB_CLUSTER=[comma-separated Cassandra endpoints] MANAGER_DB_KEYSPACE=[na
|
|||
For more information about service capabilities and its usage, please check out
|
||||
the [API documentation](swagger.yaml).
|
||||
|
||||
[badge:license]: https://img.shields.io/badge/license-Apache%20v2.0-blue.svg
|
||||
[badge:ci]: https://travis-ci.org/mainflux/manager.svg?branch=master
|
||||
[badge:grc]: https://goreportcard.com/badge/github.com/mainflux/manager
|
||||
[doc]: http://mainflux.readthedocs.io
|
||||
[www:cassandra]: http://docs.datastax.com
|
||||
[www:ci]: https://travis-ci.org/mainflux/manager
|
||||
[www:grc]: https://goreportcard.com/report/github.com/mainflux/manager
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
# Mainflux message writer
|
||||
|
||||
[![license][badge:license]](LICENSE)
|
||||
[![build][badge:ci]][www:ci]
|
||||
[![go report card][badge:grc]][www:grc]
|
||||
|
||||
Mainflux message writer consumes channel events published on message broker,
|
||||
and stores them into the database.
|
||||
|
||||
|
@ -59,9 +55,4 @@ CGO_ENABLED=0 GOOS=[platform identifier] go build -ldflags "-s" -a -installsuffi
|
|||
MESSAGE_WRITER_DB_CLUSTER=[comma-separated Cassandra endpoints] MESSAGE_WRITER_DB_KEYSPACE=[name of Cassandra keyspace] MESSAGE_WRITER_NATS_URL=[NATS instance URL] app
|
||||
```
|
||||
|
||||
[badge:license]: https://img.shields.io/badge/license-Apache%20v2.0-blue.svg
|
||||
[badge:ci]: https://travis-ci.org/mainflux/message-writer.svg?branch=master
|
||||
[badge:grc]: https://goreportcard.com/badge/github.com/mainflux/message-writer
|
||||
[www:cassandra]: http://docs.datastax.com
|
||||
[www:ci]: https://travis-ci.org/mainflux/message-writer
|
||||
[www:grc]: https://goreportcard.com/report/github.com/mainflux/message-writer
|
||||
|
|
Loading…
Reference in New Issue