'Sylvain and the Reiters' created an app to provide a new error message centre for Cyber-Duck developers. This will allow all error messages to be collated and managed in one place rather that overcrowding individual email inboxes.
They developed a tool to manage error messages that come through from the websites that we manage. The team realised the current system of email notifications, whereby developers are emailed each time a visitor encounters a problem on a website, can be improved as the scale of error messages coming through for one problem can be overwhelming. To counter this problem, the team here at Cyber-Duck developed a new system where developers receive an error message the first time a problem occurs on a website. If a new user encounters the same issue, notifications are collated in the Floodgate programme, making error messages more manageable.
Technologies
- MongoDB - the NoSQL database that was chosen because it's fast and can handle high traffic, so can cope with many messages in quick succession. The data we collect lends itself to a non-relational database structure like this.
- Node.js - the API itself was written with Node.js, a server-side technology that can handle lots of simultaneous input - like a sudden rush of error messages! The API can be accessed by other applications; in fact, the Cuckoo Quack team plugged this in so the latest errors come through to the clock.
- Laravel 4 - the framework used to build the web app which interacts with the API.
- HTML, CSS & Javascript – the “bread and butter” web technologies for the structure, style, and behaviour (respectively) of the web app.
- Twilio - the technology enabling urgent error messages to be sent via text messages to developers' phones.
Challenges
The team could have used different technologies that they were familiar with for this project, however they decided to push the boundaries of their comfort zones by using MongoDB and Node.js as it was a chance to expand their knowledge and get to grips with new technologies. The challenges they faced therefore lay in learning Node.js. They also faced difficulties grouping matching errors into single notifications based on attributes like severity. Their hard work paid off by the end of the weekend as they were able to present a fully functioning app that will be useful for the development team here at Cyber-Duck.
How the App Works
The app receives error messages and prioritises them according to their severity. It notifies developers about the first instance of the error and then once the developer logs into Floodgate they are able to view how many times different users have experienced the same error. For more serious error notifications, the team used Twilio to send a text message to developers for serious alerts.
The app was presented to the other teams and the developers were particularly impressed as it means their inboxes will not be swamped with error messages, every time a single error occurs! The plan is to continue working on the app and use it alongside Cyber-Duck's current systems before replacing it entirely.
This project was created as part of the "Quack Hack" Hackathon, where the team created 6 projects in the space of 32 hours.