Incidental was inspired by Atlassian's StatusPage system, which allows for organizations to communicate their operation statuses in real-time.

StatusPage is such a simple, yet powerful platform, providing users (and administrators) with powerful tools to monitor system uptime, maintenance, and issues.

Inspired by StatusPage, we created a system that displays real-time alerts from ArcelorMittal's incident management system.

What it does

As soon as you visit Incidental, it automatically starts retrieving live incident information from ServiceNow's API. When successfully downloaded, it will parse and process all the data within seconds, displaying the incidents that match the customizable alert filter.

How we built it

Incidental is built on the bootstrap platform, allowing for native experience on all devices. For functional operations, we used JavaScript (with jQuery) to fetch, parse, and display all of the data. To combat CORS issues with some browsers, our server also proxies and authenticates all requests from ServiceNow's API.

In addition to all of this, we use CloudFlare for HTTPS support, firewalling, and for caching/distribution of the static resources.

Challenges we ran into

We ran into issues during our first method, when we attempting to pull directly from ServiceNow's API. This method was not working as the browser was not allowing us to automatically fetch files from other domains. Additionally, this method was also exposing the API credentials in plain text (in the JS), which opened up many vulnerabilities.

As a solution to this issue, we now have our server authenticating and proxying the requests. This prevents any sensitive login information from being displayed in the source code, and also eliminates the CORS issue.

Another issue that we ran into was DNS caching and propagation delays (see below for details).

Accomplishments that we're proud of

We are proud of the modern design of the website as it allows for hassle free incident monitoring with a simple glance of the screen (our main goal was simple functionality).

We are also proud of the filtering capabilities embedded in this system, which allows users to customize the incidents that are displayed.

What we learned

We have learned that software development is not completely perfected task. Developers will run into many issues, and as result will have to adapt to their situation and defer from the path they had originally intended.

What's next for Incidental

We would like have the ability to pull more information through the interface and also have a authenticated page for issuing and updating alerts.

Notice of Propagation Issues

Please note that if Incidental is accessed from McMaster's wifi network, stale DNS records will still be displayed (due to DNS cache). If this does occur, please use another network (or VPN) to bypass. This issue will be fixed within 48 hours (when the DNS cache at McMaster clears).

Share this project: