{"action":"created","comment":{"url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/comments/141617176","pull_request_review_id":65851486,"id":141617176,"diff_hunk":"@@ -0,0 +1,188 @@\n+---\n+layout: post\n+authors: [kevin_van_den_abeele]\n+title: 'Building end-to-end IoT demos with LoRa'\n+image: /img/booze-5.jpg\n+tags: [JavaScript, TypeScript, IoT, Internet Of Things, Arduino, Prototyping, Sensors, LoRa, Booze, Node.js, Proximus, MyThings, smart tech, smart, tech, johnny-five, electronics, modem]\n+category: IoT\n+comments: true\n+---\n+\n+>To showcase end-to-end LoRa applications we built simple yet fun, real world demo applications. \n+These applications show a full end-to-end implementation of the LoRa techonology leveraging the Proximus MyThings Internet of Things platform.\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"height: 500px; margin:0px auto;\" alt=\"Booze-o-meter at devoxx\" src=\"../img/end-to-end-iot/booze-devoxx.jpg\">\n+</p>\n+\n+> The Booze-o-meter V2 at Devoxx Belgium 2016.\n+\n+# Building end-to-end LoRa Iot Solutions \n+Building an enterprise IoT solution is challanging. Devices need to be enrolled, monitored and maintained. \n+You can roll your own network and handle all of this yourself, this however will require quite the backend system to facilitate all of this.\n+The Proximus LoRa network in combination with their MyThings platform takes away most of this and allows us to focus on the actual applications.\n+\n+\n+## Technologies overview\n+For our rapid prototypes and small to medium applications we have chosen the following technical stack:\n+- Proximus LoRa network for LoRa connectivity\n+- Proximus MyThings platform for device management\n+- NodeJS for the backend with TypeScript for the backend\n+- Angular for the frontend (The older versions are still on AngularJS)\n+\n+Below we will go into detail about each item shortly\n+\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"height: 200px; margin:0px auto;\" alt=\"LoRa\" src=\"../img/end-to-end-iot/lora.png\">\n+</p>\n+### LoRa\n+\n+LoRa, short for LoRaWAN is a LPWAN (Low Power Wide Area Network) meant for wireless battery powered devices of 'things'.\n+It offers a low power, low bandwith secure network to transceive information across large distances. The network is layed out in star topology and can easily be extended by placing more base stations also called LoRa gateways.\n+\n+Some network parameters:\n+- Range of 5 to 15 kilometers (3,1 to 9,3 miles) depending on the conditions and signal strenght.\n+- Data rate of 0,3 kbps to 50 kbps\n+\n+More detailed information and the full specifications can be found on the [LoRa Alliance website](https://www.lora-alliance.org/technology).\n+\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"width: 300px; margin:0px auto;\" alt=\"Proximus MyThings\" src=\"../img/end-to-end-iot/mythings.png\">\n+</p>\n+### Proximus MyThings \n+\n+[Proximus MyThings](https://mythings.proximus.be/#/login/) is a LoRa device onboarding and management platform. \n+It is used to enroll devices and sensors, to map their data to specific endpoints and provide tools for device management.\n+\n+The platform consists of three main parts:\n+- MyThings Builder: Charts and sensor values (containers)\n+- Mythings Manager: Online device onboarding and user management\n+- MyThings Scanner: Offline (in the field) device onboarding\n+\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"width: 250px; margin:0px auto;\" alt=\"NodeJS\" src=\"../img/end-to-end-iot/node.png\">\n+</p>\n+### Node.js &amp; TypeScript\n+\n+Most people should be familiar with [Node](https://nodejs.org/en/).\n+It is the JavaScript runtime built upon the V8 engine that Google Chrome uses.\n+It is a lightweigth and efficient runtimle that uses an event-driven, non-blocking I/O model.\n+This combined with the added type safety that TypeScript provides makes this an excellent choise for rapid prototyping.\n+\n+Some of our own demo applications make use of the Node Simple Server (NSS) application, while other just use express. This depends on the needs of the project.\n+If you are interested in the NSS project, we have a blogpost about it [here](http://ordina-jworks.github.io/iot/2017/01/21/Node-with-TypeScript.html) and it is [on github](https://github.com/ordina-jworks/NodeSimpleServer) too!\n+\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"height: 200px; margin:0px auto;\" alt=\"Angular\" src=\"../img/end-to-end-iot/angular.png\">\n+</p>\n+### Angular\n+\n+Like with Node, most people should be familiar with [Angular](https://angular.io) (or the older AngularJS).\n+Angular is a development platform for building modern single page web applications.\n+It is a complete rewrite of the older AngularJS and therefor has some big changes in how things work.\n+Angular is easy to set up and use, it also is fully cross platform/browser compatible.\n+\n+\n+## Our demo applications\n+All our demo applications are publicly available in the [github project of NSS](https://github.com/ordina-jworks/NodeSimpleServer).\n+These demo application are ever evolving as we are currently porting them from the older AngularJS to Angular with TypeScript.\n+\n+Our demo applications have been showcased and used at several events including internal Proximus events as well as conferences like Devoxx, Techorama and The Belgian IoT convention in Mechelen.\n+\n+Below we will go into detail about each application and how it came to be, as well as the iterations they went through.\n+\n+Aside from the Slotmachine and the Booze-o-meter we've also developed the Stairway to Health application for Proximus. \n+A blogpost about this will be available in October.\n+For the impatiant, The IoT talk at the annual JWorks JOIN event convered this topic already and can be viewed on YouTube.\n+\n+<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/BbnwrvfozUs?rel=0\" frameborder=\"0\" allowfullscreen></iframe>\n+\n+\n+### The slotmachine\n+The slotmachine application does mostly what its name suggests, but with a twist.\n+\n+The idea is simple:\n+A simple push button sends a signal to the backend application. \n+The application dispatches an event via a websocket to the frontend application which turns the slotmachine. \n+The slotmachine can either result in a win or a loss. A maximum of three attempts are possible per player, after which a new user registration is required to play again.\n+The user registration can be disabled depening on de requirements of the event/conference.\n+\n+The light effects are also controlled by the application. \n+If the user has registered the gentle fading switches to a running light effect and if the user wins the effect changes to a set of blinking colors!\n+The effects are controlled the same way the button is controlled but in the oposite direction. \n+The frontend application sends a websocket event to the backend application which controlles the Arduino and the LEDs.\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"width: 400px; margin:0px auto;\" alt=\"Slotmachine application\" src=\"../img/end-to-end-iot/slotmachine-1.jpg\">\n+  <img class=\"image fit\" style=\"width: 400px; margin:0px auto;\" alt=\"Slotmachine application\" src=\"../img/end-to-end-iot/slotmachine-2.jpg\">\n+</p>\n+\n+> The Slotmachine V1 test setup.\n+\n+#### V1\n+The first version was not LoRa enabled and used a push button and Arduino integration via Johnny-Five to allow interaction. This meant that an Arduino always needed to be connected to the server or laptop that was used as a server.\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"width: 650px; margin:0px auto;\" alt=\"Slotmachine application at devoxx 2015\" src=\"../img/end-to-end-iot/slotmachine-devoxx.jpg\">\n+</p>\n+\n+> The Slotmachine V1 at Devoxx Belgium 2015.\n+ \n+\n+#### V2\n+The second version of the slotmachine application swapped out the Arduino and the required wired connection with a LoRa enabled push button.\n+\n+This allowed us to demonstrate the capabilities of the LoRa network in a fun and engaging way.\n+The application remained unchanged for the user, and was adapted to be more configurable:\n+Setting a win chance (up to 100%) and different images/styling for different events.\n+\n+\n+### The booze-o-meter\n+The Booze-o-meter application is a drink disperser that relays the remaining level of fluid in the dispenser.\n+It is a fun example to demonstrate how measuring a liquid of fill level of a container can be achieved.\n+This idea can be applied to container in a whole range of different industries and use cases. \n+From oil tanks to garbage cans and containers.\n+\n+The application setup is extremely similar to the Slotmachine application. \n+The sensors relay their data via the MyThings platform to our backend, which in turns dispatches an event on a websocket so the frontend application can display the change.\n+\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"width: 350px; margin:0px auto;\" alt=\"Booze-o-meter application\" src=\"../img/end-to-end-iot/booze-1.jpg\">\n+   <img class=\"image fit\" style=\"width: 350px; margin:0px auto;\" alt=\"Booze-o-meter application\" src=\"../img/end-to-end-iot/booze-2.jpg\">\n+</p>\n+\n+> The Booze-o-meter V1 test setup with regular water.\n+\n+\n+#### V1\n+The first version of the Booze-o-meter used three sensors that can detect a liquid through a thin plastic container. This allowed us to present the level in the container in a coarse way: \n+- FULL (initial state)\n+- HIGH (sensor)\n+- MEDIUM (sensor)\n+- FULL (sensor)\n+\n+The sensors have a simple binary readout, true if liquid is detected, false if not.\n+This data gets represented on the frontend application as the four states as mentioned above.\n+\n+#### V2\n+<p style=\"text-align: center;\">\n+  <img class=\"image fit\" style=\"width: 350px; margin:0px auto;\" alt=\"Booze-o-meter application\" src=\"../img/end-to-end-iot/booze-3.jpg\">\n+   <img class=\"image fit\" style=\"width: 350px; margin:0px auto;\" alt=\"Booze-o-meter application\" src=\"../img/end-to-end-iot/booze-4.jpg\">\n+</p>\n+\n+> The Booze-o-meter V2 at Devoxx Belgium 2016 with actual liqour!\n+\n+The second version of the Booze-o-meter application allowed us to get a more detailed reading of the remaining fluid level in the container thanks to the addition of an ultrasonic sensor. \n+This sensor can measure the distance between itself and a surface, in this case the surface of the liquid in the container.\n+\n+The application was updated to support this more granular approach that is able to show the level in the container accurate to 1%.\n+\n+\n+## Conclusion\n+\n+Our demo applications have served us well in bringing across the idea of LoRa to customers and other interested developers. \n+We will continue to evolve our demo applications to add new features and keep them up to date with newer and experimental techonolgies.","path":"_posts/2017-09-30-End-to-end-IoT.md","position":188,"original_position":188,"commit_id":"a3b6d1ea352694b8cb8897221cc37c49b6340cb7","original_commit_id":"a3b6d1ea352694b8cb8897221cc37c49b6340cb7","user":{"login":"yannickdeturck","id":1644089,"avatar_url":"https://avatars2.githubusercontent.com/u/1644089?v=4","gravatar_id":"","url":"https://api.github.com/users/yannickdeturck","html_url":"https://github.com/yannickdeturck","followers_url":"https://api.github.com/users/yannickdeturck/followers","following_url":"https://api.github.com/users/yannickdeturck/following{/other_user}","gists_url":"https://api.github.com/users/yannickdeturck/gists{/gist_id}","starred_url":"https://api.github.com/users/yannickdeturck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yannickdeturck/subscriptions","organizations_url":"https://api.github.com/users/yannickdeturck/orgs","repos_url":"https://api.github.com/users/yannickdeturck/repos","events_url":"https://api.github.com/users/yannickdeturck/events{/privacy}","received_events_url":"https://api.github.com/users/yannickdeturck/received_events","type":"User","site_admin":false},"body":"technologies","created_at":"2017-09-28T13:29:53Z","updated_at":"2017-09-28T13:38:44Z","html_url":"https://github.com/ordina-jworks/ordina-jworks.github.io/pull/262#discussion_r141617176","pull_request_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/comments/141617176"},"html":{"href":"https://github.com/ordina-jworks/ordina-jworks.github.io/pull/262#discussion_r141617176"},"pull_request":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262"}}},"pull_request":{"url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262","id":143641535,"html_url":"https://github.com/ordina-jworks/ordina-jworks.github.io/pull/262","diff_url":"https://github.com/ordina-jworks/ordina-jworks.github.io/pull/262.diff","patch_url":"https://github.com/ordina-jworks/ordina-jworks.github.io/pull/262.patch","issue_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/262","number":262,"state":"open","locked":false,"title":"Feature/2016 11 16 frederick bousson boozeometer","user":{"login":"beele","id":2178606,"avatar_url":"https://avatars2.githubusercontent.com/u/2178606?v=4","gravatar_id":"","url":"https://api.github.com/users/beele","html_url":"https://github.com/beele","followers_url":"https://api.github.com/users/beele/followers","following_url":"https://api.github.com/users/beele/following{/other_user}","gists_url":"https://api.github.com/users/beele/gists{/gist_id}","starred_url":"https://api.github.com/users/beele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beele/subscriptions","organizations_url":"https://api.github.com/users/beele/orgs","repos_url":"https://api.github.com/users/beele/repos","events_url":"https://api.github.com/users/beele/events{/privacy}","received_events_url":"https://api.github.com/users/beele/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-09-28T13:01:22Z","updated_at":"2017-09-28T13:38:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"14ec9d3bb616308eb6f7232f1092f08235f793f8","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262/commits","review_comments_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262/comments","review_comment_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/262/comments","statuses_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/statuses/a3b6d1ea352694b8cb8897221cc37c49b6340cb7","head":{"label":"ordina-jworks:feature/2016-11-16-frederick-bousson-boozeometer","ref":"feature/2016-11-16-frederick-bousson-boozeometer","sha":"a3b6d1ea352694b8cb8897221cc37c49b6340cb7","user":{"login":"ordina-jworks","id":15261659,"avatar_url":"https://avatars0.githubusercontent.com/u/15261659?v=4","gravatar_id":"","url":"https://api.github.com/users/ordina-jworks","html_url":"https://github.com/ordina-jworks","followers_url":"https://api.github.com/users/ordina-jworks/followers","following_url":"https://api.github.com/users/ordina-jworks/following{/other_user}","gists_url":"https://api.github.com/users/ordina-jworks/gists{/gist_id}","starred_url":"https://api.github.com/users/ordina-jworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ordina-jworks/subscriptions","organizations_url":"https://api.github.com/users/ordina-jworks/orgs","repos_url":"https://api.github.com/users/ordina-jworks/repos","events_url":"https://api.github.com/users/ordina-jworks/events{/privacy}","received_events_url":"https://api.github.com/users/ordina-jworks/received_events","type":"Organization","site_admin":false},"repo":{"id":44804684,"name":"ordina-jworks.github.io","full_name":"ordina-jworks/ordina-jworks.github.io","owner":{"login":"ordina-jworks","id":15261659,"avatar_url":"https://avatars0.githubusercontent.com/u/15261659?v=4","gravatar_id":"","url":"https://api.github.com/users/ordina-jworks","html_url":"https://github.com/ordina-jworks","followers_url":"https://api.github.com/users/ordina-jworks/followers","following_url":"https://api.github.com/users/ordina-jworks/following{/other_user}","gists_url":"https://api.github.com/users/ordina-jworks/gists{/gist_id}","starred_url":"https://api.github.com/users/ordina-jworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ordina-jworks/subscriptions","organizations_url":"https://api.github.com/users/ordina-jworks/orgs","repos_url":"https://api.github.com/users/ordina-jworks/repos","events_url":"https://api.github.com/users/ordina-jworks/events{/privacy}","received_events_url":"https://api.github.com/users/ordina-jworks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ordina-jworks/ordina-jworks.github.io","description":"Ordina JWorks Business Unit Tech Blog","fork":false,"url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io","forks_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/forks","keys_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/teams","hooks_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/hooks","issue_events_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/events","assignees_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/tags","blobs_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/languages","stargazers_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/stargazers","contributors_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/contributors","subscribers_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/subscribers","subscription_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/subscription","commits_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/merges","archive_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/downloads","issues_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/labels{/name}","releases_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/releases{/id}","deployments_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/deployments","created_at":"2015-10-23T09:56:09Z","updated_at":"2016-10-27T14:34:29Z","pushed_at":"2017-09-28T13:01:22Z","git_url":"git://github.com/ordina-jworks/ordina-jworks.github.io.git","ssh_url":"git@github.com:ordina-jworks/ordina-jworks.github.io.git","clone_url":"https://github.com/ordina-jworks/ordina-jworks.github.io.git","svn_url":"https://github.com/ordina-jworks/ordina-jworks.github.io","homepage":"","size":117053,"stargazers_count":7,"watchers_count":7,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":5,"mirror_url":null,"open_issues_count":14,"forks":5,"open_issues":14,"watchers":7,"default_branch":"source"}},"base":{"label":"ordina-jworks:source","ref":"source","sha":"eb6a8c21a63a8815d2c8ca4b0c9d34b64d2f75b7","user":{"login":"ordina-jworks","id":15261659,"avatar_url":"https://avatars0.githubusercontent.com/u/15261659?v=4","gravatar_id":"","url":"https://api.github.com/users/ordina-jworks","html_url":"https://github.com/ordina-jworks","followers_url":"https://api.github.com/users/ordina-jworks/followers","following_url":"https://api.github.com/users/ordina-jworks/following{/other_user}","gists_url":"https://api.github.com/users/ordina-jworks/gists{/gist_id}","starred_url":"https://api.github.com/users/ordina-jworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ordina-jworks/subscriptions","organizations_url":"https://api.github.com/users/ordina-jworks/orgs","repos_url":"https://api.github.com/users/ordina-jworks/repos","events_url":"https://api.github.com/users/ordina-jworks/events{/privacy}","received_events_url":"https://api.github.com/users/ordina-jworks/received_events","type":"Organization","site_admin":false},"repo":{"id":44804684,"name":"ordina-jworks.github.io","full_name":"ordina-jworks/ordina-jworks.github.io","owner":{"login":"ordina-jworks","id":15261659,"avatar_url":"https://avatars0.githubusercontent.com/u/15261659?v=4","gravatar_id":"","url":"https://api.github.com/users/ordina-jworks","html_url":"https://github.com/ordina-jworks","followers_url":"https://api.github.com/users/ordina-jworks/followers","following_url":"https://api.github.com/users/ordina-jworks/following{/other_user}","gists_url":"https://api.github.com/users/ordina-jworks/gists{/gist_id}","starred_url":"https://api.github.com/users/ordina-jworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ordina-jworks/subscriptions","organizations_url":"https://api.github.com/users/ordina-jworks/orgs","repos_url":"https://api.github.com/users/ordina-jworks/repos","events_url":"https://api.github.com/users/ordina-jworks/events{/privacy}","received_events_url":"https://api.github.com/users/ordina-jworks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ordina-jworks/ordina-jworks.github.io","description":"Ordina JWorks Business Unit Tech Blog","fork":false,"url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io","forks_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/forks","keys_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/teams","hooks_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/hooks","issue_events_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/events","assignees_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/tags","blobs_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/languages","stargazers_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/stargazers","contributors_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/contributors","subscribers_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/subscribers","subscription_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/subscription","commits_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/merges","archive_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/downloads","issues_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/labels{/name}","releases_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/releases{/id}","deployments_url":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/deployments","created_at":"2015-10-23T09:56:09Z","updated_at":"2016-10-27T14:34:29Z","pushed_at":"2017-09-28T13:01:22Z","git_url":"git://github.com/ordina-jworks/ordina-jworks.github.io.git","ssh_url":"git@github.com:ordina-jworks/ordina-jworks.github.io.git","clone_url":"https://github.com/ordina-jworks/ordina-jworks.github.io.git","svn_url":"https://github.com/ordina-jworks/ordina-jworks.github.io","homepage":"","size":117053,"stargazers_count":7,"watchers_count":7,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":5,"mirror_url":null,"open_issues_count":14,"forks":5,"open_issues":14,"watchers":7,"default_branch":"source"}},"_links":{"self":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262"},"html":{"href":"https://github.com/ordina-jworks/ordina-jworks.github.io/pull/262"},"issue":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/262"},"comments":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/issues/262/comments"},"review_comments":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262/comments"},"review_comment":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/pulls/262/commits"},"statuses":{"href":"https://api.github.com/repos/ordina-jworks/ordina-jworks.github.io/statuses/a3b6d1ea352694b8cb8897221cc37c49b6340cb7"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"yannickdeturck"}}