The Mainflux domain model is based around 3 entities: users, things and channels
user represents the real (human) user of the system
things represents devices and applications connected to Mainflux. There are two types of "things" supported at the moment: device and app. Device is used to represent any physical device connected to the platform. App represents any 3rd party service that uses the platform for message exchange with things.
channel represents a communication channel and serves as message topic that can be consumed by things connected to it