-
Notifications
You must be signed in to change notification settings - Fork 3
OpenChirp Software Stack
Khushboo Bhatia edited this page Aug 5, 2017
·
51 revisions
Tracking page for OpenChirp Software Stack development. The acronym CRUD is used in the following sections and it stands for Create, Read, Update, Delete.
- CRUD on location.
- Get devices at a location
- Get gateways at a location.
- Check to not allow deletion of non-empty locations.
- Validation in create/update request ( For example, creating a location with name "root" should not be allowed)
- CRUD on device.
- Create/List/Delete transducers on a device.
- Publish to a transducer.
- Create a device template from an existing device.
- List/Read/Delete a device template.
- Create a new device using a template.
- Create/List/Delete commands.
- Execute a command.
- Public link for commands.
- CRUD on gateway.
- Get all devices linked to a gateway.
- CRUD on service.
- Add/Update/Remove a device on a service. ( This includes publishing to the service's topic so it is notified immediately).
- Get all devices linked to a service. (The output of this call includes the service specific config.)
- Notify service of changes to its properties.
- Create a user in database for every signup using a google account.
- Save owner for each resource created.
- API to get a user's devices, services, locations with a search by name option.
- Create/Delete group.
- Add users to group with configurable write access. User with write access to group can add other users to group.
- Remove users from group.
- Service that stores transducer data to TSDB.
- REST API for reading last value of any device-transducer.
- REST API that returns time series data for visualization, dump csv.
- Allow Google-signin for end-user.
- Basic auth for services/devices for REST and MQTT( Users that will use REST API programatically.)
- REST API to manage credentials(for REST and MQTT) for devices/services/users.
- Any user with google account has read access but nobody has write access unless they are added to developer group.
- REST API for users with ADMIN role to add/remove users from groups.
- Device Level access control.
- Device Service link access control.
- Shortcuts.
- Favorites
- Recently added devices.
- Script to generate graph for any device-transducer.
- Embed graphs on website.
- Setup automatic backups.
- Restrict connection to localhost.
- Setup monitoring of all required components (node , mongodb, influxdb, redis, grafana, mosquitto).
- Log all HTTP requests with userId and timestamp.
- Setup alerts for exceptions.
- Log file rotation and archiving.