I was really taken up by this timelapse video of a physical scrum board, but unfortunately we had a virtual JIRA board at the time. So using CasperJS/PhantomJS/SpookyJS (headless browser screen capture), NodeJS/Heroku (backend), AngularJS/Bootstrap (fontend), imgur (image hosting) and Uptime Robot (scheduling) I was able to whip up a poor mans timelapse for virtual JIRA boards using only free tiers of services.
Uptime Robot performs a health check on the url /api/projects/take_screenshots every 15 minutes, which is mapped to take_screenshots() function in the projects controller. This function logs into JIRA using CasperJS, navigates to the Scrum/Kanban board and takes a screenshot.
This screenshot then gets uploaded via the imgur.com api and the returned url gets inserted back into mongoDB.
AngularJS retrieves each project with it’s captured screenshot urls to display them in a Bootstrap carousel.
TODO: Create videos from the screenshots and upload to youtube.
This is an open source project, so feel free to fork and send pull requests.
req.uest.info is an open source online debugging tool for capturing and displaying requests from clients in JSON without the need for a server, built using Node, MongoDB, Express, Angular & Socket.io.
The demo http://submit-request.herokuapp.com/ is currently hosted on Heroku. Simply set your form or application submit url to http://submit-request.herokuapp.com/submit/ and view the submission data.
When a REST request is made to /submit url the node express route/handler re-transmits/pushes the data to all connected clients using socket.io emit.
This message is handled on the client side by the angular socket.io service.
On row click, the data is passed through a json syntax highlighter and displayed.
TODO: Currently requests are visible to all by default, I’m working on allowing logged in users to make private requests from a set of IP addresses. The user authenticating and IP address management is already implemented using MongoDB and passport.js. What’s left is to search for the ip address when a request arrives, then if a match is found, send the request only to the users connected client. (ip address of each logged in client will have to be stored with their socket connection).
Feel free give feedback in the comments below or to submit a pull request/fork.