{"id":25045175,"url":"https://github.com/swina/rockiot-api","last_synced_at":"2025-04-14T02:27:13.868Z","repository":{"id":42382857,"uuid":"212416312","full_name":"swina/rockiot-api","owner":"swina","description":"RockIoT-API - REST API / Realtime API for IoT ","archived":false,"fork":false,"pushed_at":"2025-02-05T07:27:26.000Z","size":2167,"stargazers_count":3,"open_issues_count":38,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T02:26:50.325Z","etag":null,"topics":["feathersjs","iot","mqtt","mqtt-api","mqtt-proxy"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swina.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-02T18:44:48.000Z","updated_at":"2020-12-12T23:03:48.000Z","dependencies_parsed_at":"2024-02-02T19:31:03.948Z","dependency_job_id":"4ce0f1cb-0722-4747-b182-edca046cc1f8","html_url":"https://github.com/swina/rockiot-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swina%2Frockiot-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swina%2Frockiot-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swina%2Frockiot-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swina%2Frockiot-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swina","download_url":"https://codeload.github.com/swina/rockiot-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248810724,"owners_count":21165170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feathersjs","iot","mqtt","mqtt-api","mqtt-proxy"],"created_at":"2025-02-06T05:32:44.591Z","updated_at":"2025-04-14T02:27:13.837Z","avatar_url":"https://github.com/swina.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rockiot-api\n\n__0.1.1__\n\n\n## Features\n\n```rockiot-api``` is a powerful REST API/Realtime API system to connect to your MQTT Brokers/Devices, get and publish realtime data, manage your devices asset, store realtime data.\n\nThis project uses [Feathersjs](http://feathersjs.com). An open source web framework for building modern real-time applications.\n\n#### Microservices built on REST API / Realtime API\nEvery IoT device can have now his REST API / Realtime API in order to manage it, get MQTT realtime data, publish MQTT data, store incoming data.\n\nAll microservices and methods are available thru our client (rockiot-api-dev) using websockets transport protocol\n\n#### Built-in authentication\n\nrockiot-api has a built-in authentication system (that you can extend) based on JWT Web Tokens (username+password by default).\n\nAll microservices requires authentication and are safely transmitted to client using wss protocol (SSL certificate must be installed on the server).\n\n## Documentation\n\n[Online documentation](https://iotiscool-api.herokuapp.com/docs)\n\n## Get Started\n\nClone our respository\n\n```\n$ git clone https://github.com/swina/rockiot-api.git\n\n```\n\nGetting up and running is as easy as 1, 2, 3.\n\n1. Make sure you have [NodeJS](https://nodejs.org/) and [npm](https://www.npmjs.com/) installed.\n2. Install your dependencies\n\n    ```\n    cd path/to/rockiot-api\n    npm install\n    ```\n\n3. Start your app\n\n    ```\n    npm start\n    ```\n    You can use nodemon in order to auto restart if you set some changes to the app.\n\n    ```\n    nodemon src/index.js\n\n    ```\n4. Create a user (admin) only for testing purpose\n\n    **If you cloned the repository the user has been created automatically**\n\n    ```\n    curl POST --data={\"email\":\"admin\",\"password\":\"password\"}\n\n    ```\n5. Change ```src/users/users.hooks.js``` :\n\n    ```\n    create: [ hashPassword('password') , authenticate('jwt') ],\n    ```   \n    in order to prevent to add users without authentication.\n\n\n## Client usage (JS)\n\nCheck  [**rockiot-client**](https://github.com/swina/rockiot-client) to connect to the **rockiot-api**\n\n*Client uses websocket protocol and you don't need to add any other external library like axios, jquery, etc.*\n\n\n#### Testing\n\nSimply run `npm test` and all your tests in the `test/` directory will be run.\n\n#### Scaffolding\n\nFeathers has a powerful command line interface. Here are a few things it can do:\n\n```\n$ npm install -g @feathersjs/cli          # Install Feathers CLI\n\n$ feathers generate service               # Generate a new Service\n$ feathers generate hook                  # Generate a new Hook\n$ feathers help                           # Show all commands\n```\n\n\n#### Help\n\nFor more information on all the things you can do with Feathers visit [docs.feathersjs.com](http://docs.feathersjs.com).\n\n## Changelog\n__0.1.1__\n\n- Fixed channels payload publish event\n\n__0.1.0__\n\n- Initial release\n\n## License\n\nCopyright (c) 2019\n\nLicensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswina%2Frockiot-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswina%2Frockiot-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswina%2Frockiot-api/lists"}