I am building an IoT platform and I am looking for someone to develop the front end.
Here are the details on the underlying technologies and elements of the project:
- There are numerous identifiable connected devices.
- Each device consists of modules. Each module is either a sensor or an actuator.
- There are also accounts. Each account owns a set of devices to which it has access
- A central server collects information for all devices. This server also handles a database that holds all information for all devices, accounts and relationships between them
-There is also the concept of actions and alerts that can be set for each account . Actions are commands to be sent to devices if a set of conditions is met. Alerts behave similarly, only notify the accounts instead of the devices. The conditions include simple logical and numerical operations on the state of modules, and are user-definable
All the above are implemented and provide the following interfaces:
- central server: REST API for viewing, creating, deleting and modifying of accounts, devices, actions, alerts
- devices: REST API if on the same network
-MQTT protocol for alerts
The mobile app should utilize the central server's REST API to provide the following UI:
- Account creation and Login
- Pairing of a new device to account. The user can also apply alias names to his/her devices
- List of all available devices for the logged in account
- For each device: Exposition of internal modules state and value. This should look nice. Different module types should be shown with different visual means, depending on their module type (e.g. there could be a module type of 'switch' and another of 'temperature sensor').
- Creation/ deletion of actions. User can set an action and the corresponding set of conditions. The action refers to setting the state of a module of one of the devices and the conditions are a logical combination of numerical or logical comparisons between the values of modules and constants. Date/time conditions can also be used. The conditions are a bit tricky for easily usable UI and it will require a clever and creative implementation by the developer. I will provide a more detailed description of the mechanism of course.
- Creation/deletion of alerts. Alerts are very similar to actions only without an acting command. Just a set of conditions as above. The action in this case is just a user notification sent by the central server.
- Prompt in case of an incoming alert message
The above require a rather skilled and motivated app developer. Our aim is to have a nice looking and user friendly app for the every day monitoring of a user's connected devices.
Looking for a creative and passionate developer that thinks of this project as an interesting personal challenge.
Aim is to have weekly iterations on the project development